openPASO
open Platform for Agentic Simulation and Optimization
Describe a physics problem in plain words.
An AI model picks a solver, writes its input, runs it, and checks the answer.
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[skfem]" # the server plus the easiest solver to start with
openpaso # starts the MCP server on stdio; Ctrl-C to stop
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.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| openpaso-1.2.0.tar.gz | 2.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| openpaso-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.0 MB
Release files / openpaso-1.2.0.tar.gz
| Download URL | openpaso-1.2.0.tar.gz |
|---|---|
| Size | 2.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
efb8531dc69aa52d29f6fbc1757d07cc47c0773c096b2d37de3de68bf69a79e8
|
|
BLAKE2b-256 checksum How to use checksums |
02aa482e06323701c7dc6f0bbf80229462cc93577546e8f32f68530a76a94805
|
| 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.2.0-py3-none-any.whl
| Download URL | openpaso-1.2.0-py3-none-any.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e026528f95d9fbfeb75717ba04796d75c99e75ef9d82968a751987edb8d74cee
|
|
BLAKE2b-256 checksum How to use checksums |
8da7d2fddeff6c053da391aa71e276ab7ca2b1fc8fa8252852d2aef429991253
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.12
|