Skip to content

queens-py/queens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4,453 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
QUEENS logo

precommit black pylint

tests-local-main build-documentation-main code-quality-main test-pypi-build-main

QUEENS (Quantification of Uncertain Effects in Engineering Systems) is a Python framework for solver-independent multi-query analyses of large-scale computational models.

πŸ“ˆ QUEENS offers a large collection of cutting-edge algorithms for deterministic and probabilistic analyses such as:

  • parameter studies and identification
  • sensitivity analysis
  • surrogate modeling
  • uncertainty quantification
  • Bayesian inverse analysis

πŸ§šβ€β™‚οΈ QUEENS provides a modular architecture for:

  • parallel queries of large-scale computational models
  • robust data, resource, and error management
  • easy switching between analysis types
  • smooth scaling from laptop to HPC cluster

🌐 Website: queens-py.org

πŸ“– Documentation: queens-py.github.io/queens

πŸš€ Getting started

Prerequisites: A Unix system with Python 3.12 or newer. For development, use Pixi.

Easy installation

Clone the QUEENS repository and install it from the source checkout with:

pip install .

We recommend using some form of environment management instead of installing into your system Python. For more details, see the QUEENS documentation.

Optional runtime extras can be installed with:

pip install ".[tutorials]"
pip install ".[fourc]"
pip install ".[all]"

Recommended installation

We recommend a modern project-based workflow based on Pixi especially for development. After cloning the repository, installing with Pixi is as easy as:

pixi install
pixi run install-editable

The default Pixi environment contains the core QUEENS dependencies. Use all for runtime extras without development tools. For named Pixi environments, run pixi run -e <environment> install-editable once for each environment you want to use.

Development installation

For development, we recommend using Pixi together with the dev environment. dev contains the full contributor setup, including development tools, tutorials, and the 4C interface dependencies. Clone the repository and install with:

pixi install --environment dev
pixi run -e dev install-editable

Useful development commands then look like:

pixi run -e dev pytest
pixi run -e dev pre-commit run --all-files

πŸ‘‘ Workflow example

Let's consider a parallelized Monte Carlo simulation of the Ishigami function:

from queens.distributions import Beta, Normal, Uniform
from queens.drivers import Function
from queens.global_settings import GlobalSettings
from queens.iterators import MonteCarlo
from queens.main import run_iterator
from queens.models import Simulation
from queens.parameters import Parameters
from queens.schedulers import Local

if __name__ == "__main__":
    # Set up the global settings
    global_settings = GlobalSettings(experiment_name="monte_carlo_uq", output_dir=".")

    with global_settings:
        # Set up the uncertain parameters
        x1 = Uniform(lower_bound=-3.14, upper_bound=3.14)
        x2 = Normal(mean=0.0, covariance=1.0)
        x3 = Beta(lower_bound=-3.14, upper_bound=3.14, a=2.0, b=5.0)
        parameters = Parameters(x1=x1, x2=x2, x3=x3)

        # Set up the model
        driver = Function(parameters=parameters, function="ishigami90")
        scheduler = Local(
            experiment_name=global_settings.experiment_name, num_jobs=2, num_procs=4
        )
        model = Simulation(scheduler=scheduler, driver=driver)

        # Set up the algorithm
        iterator = MonteCarlo(
            model=model,
            parameters=parameters,
            global_settings=global_settings,
            seed=42,
            num_samples=1000,
            result_description={"write_results": True, "plot_results": True},
        )

        # Start QUEENS run
        run_iterator(iterator, global_settings=global_settings)
QUEENS example

πŸ‘₯ Contributing

QUEENS is powered by a community of contributors.

Join usβ€”your contributions are welcome! Please follow our contributing guidelines and code of conduct.

πŸ“ƒ How to cite

If you use QUEENS in your work, please cite the relevant method papers and the following article

@misc{queens,
      title={QUEENS: An Open-Source Python Framework for Solver-Independent Analyses of Large-Scale Computational Models},
      author={Jonas Biehler and Jonas Nitzler and Sebastian Brandstaeter and Maximilian Dinkel and Volker Gravemeier and Lea J. Haeusel and Gil Robalo Rei and Harald Willmann and Barbara Wirthl and Wolfgang A. Wall},
      year={2025},
      eprint={2508.16316},
      archivePrefix={arXiv},
      primaryClass={cs.CE},
      url={https://arxiv.org/abs/2508.16316},
      note = {Jonas Biehler, Jonas Nitzler, and Sebastian Brandstaeter contributed equally.}
}

πŸ‘©β€βš–οΈ License

Licensed under GNU LGPL-3.0 (or later). See LICENSE.

About

A Python framework for solver-independent multi-query analyses of large-scale computational models.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors