Skip to main content

openPASO

openPASO

open Platform for Agentic Simulation and Optimization

openpaso on PyPI Documentation MIT licence Python 3.10 to 3.13 DOI 9 solvers

Describe a physics problem in plain words.
An AI model picks a solver, writes its input, runs it, and checks the answer.

openPASO in 29 seconds: describe the physics, openPASO picks the solver, runs it, and checks the result against the literature
Click the film to watch it in full quality on the documentation website.

What it does

Simulation programs, called solvers, compute how things physically behave: how a part bends, how heat spreads, how air flows. They are powerful and hard to use, and each one has its own input format and its own traps. openPASO puts nine of them behind one door and lets an AI model open it: you describe what you want in a normal sentence, and the model picks a solver, writes the input, runs it, and checks that the answer is computed correctly.

Quick start

You need Python 3.10–3.13 and about ten minutes. One solver is enough to begin.

pip install openpaso             # the server, with scikit-fem as a first solver
openpaso doctor                  # which solvers openPASO can use on this machine; no key, no network
openpaso                         # starts the MCP server on stdio; Ctrl-C to stop

Missing a solver? openpaso install ngsolve (or kratos, dune, ...) checks first and installs only what is missing, the same way the server's setup_backend tool would.

openpaso is the command your AI app's MCP configuration points at. Working from a checkout instead (to change the code, or to run check_install.py, which lists the solvers openPASO can use on your machine without a key or network):

git clone https://github.com/open-PASO/openPASO.git
cd openPASO
python3 -m venv .venv && source .venv/bin/activate
pip install -e . scikit-fem
python check_install.py

Then connect an AI model, one of two ways:

  • Option A — an AI app you already have (Claude Code, Claude Desktop, Cursor): no extra cost. Set it up →
  • Option B — your own OpenRouter key: one command per simulation, any model. Set it up →

Solvers

scikit-fem NGSolve Kratos Multiphysics
DUNE-fem FEniCSx deal.II
FEBio 4C Multiphysics SPARTA

Documentation

Everything else is on the documentation website: installing each solver, both ways of use step by step, all 24 tools the model gets, how openPASO checks an answer, coupling two solvers on one problem, troubleshooting, and a glossary for every word.

Contribute

Reports of what did not work, solver traps you know, and plain-language fixes to the documentation are all very welcome. One rule stands above the rest: every improvement must help all simulations, not one example. See CONTRIBUTING.md and the Contribute page.

Licence and citation

MIT licence. openPASO was first published as OASiS; the archived releases and the paper use that name. If you use openPASO in research, please cite:

@software{openpaso2026,
  title  = {openPASO: an open-source multi-physics and multi-code framework
            for verified computer simulations},
  author = {Hermann, Alexander and Shojaei, Arman and Scheider, Ingo and Cyron, Christian},
  year   = {2026},
  doi    = {10.5281/zenodo.20543501},
  url    = {https://github.com/open-PASO/openPASO}
}

Helmholtz-Zentrum Hereon · Institute of Materials Mechanics  ·  Hamburg University of Technology

Metadata

Release files for openpaso 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openpaso 1.3.0
File Size Uploaded
openpaso-1.3.0.tar.gz 2.8 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for openpaso 1.3.0
File Interpreter ABI Platform
openpaso-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 6.0 MB

Release files / openpaso-1.3.0.tar.gz

Download URL openpaso-1.3.0.tar.gz
Size 2.8 MB
Tags Source
SHA-256 checksum
How to use checksums
a89d85e528c8885bc84dadd21440bfbf8f528e5b93e60f93cf28f4e65ae2f044
BLAKE2b-256 checksum
How to use checksums
950d99a58ff9205172fd8a6dcd7e03991cd526cbfc02b0c4a80314860db7d043
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release files / openpaso-1.3.0-py3-none-any.whl

Download URL openpaso-1.3.0-py3-none-any.whl
Size 3.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4bd456dd2d3d28721dac4eda2bc5aa9e2de09726dde35cf9bb5f09803c534cc5
BLAKE2b-256 checksum
How to use checksums
0969bc3d0edf8b9812903687c48c3b9807ebbd1556ad93129e225028752dcf91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.1

2 release files

1.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page