Multiphase Python Repository by HZDR
The multiphasepy package is a Python toolkit for building, running, and
maintaining CFD simulation case collections for the software released by the
OpenFOAM Foundation (but also others, like Ansys Fluent
or Siemens Simcenter Star-CCM). It combines reusable library modules with
practical command-line tools to cover the full simulation lifecycle: case
templating, batch execution, monitoring, post-processing, validation support,
repository comparison, and publication workflows.
At its core, multiphasepy helps teams move from individual case setups to
scalable, structured projects containing a large collection of setups, e.g. a
validation database. Cases can be provided as templates that are parameterized
at runtime, metadata can be managed in a machine-readable way and cases can be
conveniently batch-processed with the workflow management tool
Snakemake both on workstations and
Slurm-based HPC systems. Using a container-based
software environment (e.g. Apptainer or
Docker) the case collection becomes fully portable.
An integrated Copier template allows the
creation and maintenance of multiple independent case collections.
Beyond execution, the package supports quality assurance and communication of results: tools are included for automated checks, fuzzy-logic based evaluation, data conversion, visualization, and generation of artifacts suitable for reporting and dissemination. This makes multiphasepy a practical bridge between day-to-day CFD case work and long-term, reproducible research software operations in collaborative environments.
Command-Line Tools
The multiphasepy package provides a comprehensive suite of command-line tools
for CFD workflow management, data processing, and quality assurance. All tools
follow the naming convention mpy<function> and provide --help for detailed
usage information.
Workflow Management
- mpycopy : Copy and render templated cases
- mpydocker : Launch customizable Docker development environments
- mpywatch : Progress display and real-time data visualization
- mpyworkflow : Create and manage cases projects allowing batch processing
Data Processing
- mpyconv : Convert data files between formats
- mpypost : Mathematical post-processing operations
- mpyvisualize : Visualize simulation result files
Quality Assurance
- mpytest : Run CFD code functionality tests
- mpyfuzzy : Evaluate simulation performance using fuzzy logic
- mpyhooks : Run git hooks for code quality checks
Utilities
- mpyidentify : Identify file types and associate tags
- mpyrpdiff : Compare repositories using git diff
- mpyshrun : Wrap shell commands with logging
Publishing
- mpypublish : Publish software to Rodare repository
Installation
The multiphasepy package requires Python 3.12 or newer.
Install the latest release from PyPI:
pip install multiphasepy
For full environment setup and platform-specific notes, see the installation guide in the documentation.
How to cite us?
If you find that package useful, please cite as
Schlegel et al. (2026). Multiphase Python Repository by HZDR. Rodare.
<https://doi.org/10.14278/rodare.3093>.
Acknowledgements
OpenFOAM® is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM® software via www.openfoam.com. The Multiphase Python Repository by HZDR is not compatible with the software released by OpenCFD Limited, but is developed for the software released by the OpenFOAM Foundation via www.openfoam.org.
Metadata
Release files for multiphasepy 5.8.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 | |
|---|---|---|---|
| multiphasepy-5.8.0.tar.gz | 113.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| multiphasepy-5.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 262.7 kB
Release files / multiphasepy-5.8.0.tar.gz
| Download URL | multiphasepy-5.8.0.tar.gz |
|---|---|
| Size | 113.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1042fc07c809c332589875def7e008e53d54bf0fa2a96a9d1264d699ea8679bd
|
|
BLAKE2b-256 checksum How to use checksums |
7aae40270369bfe4993ec5c909ca5aaaa5c8112bed6cd45bed58c54d88e104cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.12.14"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.12.14","system":{"name":"Linux","release":"5.15.0-177-generic"}} HTTPX2/2.13.0
|
Release files / multiphasepy-5.8.0-py3-none-any.whl
| Download URL | multiphasepy-5.8.0-py3-none-any.whl |
|---|---|
| Size | 149.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ad6e22b4ce11e7892ecfe6afb3db1dce09f07a9ae0d1c4cd87404114741d494
|
|
BLAKE2b-256 checksum How to use checksums |
a256ad4dde972cf39c47962fd5789838d010f86467adaffb0637be9c3cc5e776
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Hatch/1.18.1 {"ci":true,"cpu":"x86_64","distro":{"id":"trixie","libc":{"lib":"glibc","version":"2.41"},"name":"Debian GNU/Linux","version":"13"},"implementation":{"name":"CPython","version":"3.12.14"},"installer":{"name":"hatch","version":"1.18.1"},"openssl_version":"OpenSSL 3.5.7 9 Jun 2026","python":"3.12.14","system":{"name":"Linux","release":"5.15.0-177-generic"}} HTTPX2/2.13.0
|