Skip to main content

Toolkit for reproducible multiphase CFD workflows.

Project description

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

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 goodness 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiphasepy-4.5.2.tar.gz (106.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

multiphasepy-4.5.2-py3-none-any.whl (140.0 kB view details)

Uploaded Python 3

File details

Details for the file multiphasepy-4.5.2.tar.gz.

File metadata

  • Download URL: multiphasepy-4.5.2.tar.gz
  • Upload date:
  • Size: 106.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"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.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.12.13","system":{"name":"Linux","release":"5.15.0-177-generic"}} HTTPX2/2.4.0

File hashes

Hashes for multiphasepy-4.5.2.tar.gz
Algorithm Hash digest
SHA256 b10504f6bcb8c127f6c491e6091ad31872a4b035fae9ac8f6119e8be78fc29a6
MD5 82f34fe457dbfb31a492fc5a031022e9
BLAKE2b-256 6c33cb3d32e1a015b7e74a40e0dc85045f69be381cd6e889c8b79ce3d2c49cf3

See more details on using hashes here.

File details

Details for the file multiphasepy-4.5.2-py3-none-any.whl.

File metadata

  • Download URL: multiphasepy-4.5.2-py3-none-any.whl
  • Upload date:
  • Size: 140.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"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.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.5.6 7 Apr 2026","python":"3.12.13","system":{"name":"Linux","release":"5.15.0-177-generic"}} HTTPX2/2.4.0

File hashes

Hashes for multiphasepy-4.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3de162b9cfe7424ac9a1818f1dfbcd2e93b61284f161e4cf1baf61065234dec
MD5 0a158bbcaa19395b47685a81608e3555
BLAKE2b-256 cf2d2e210016ec0630e8de8d437254d4a086344154415d4772ee55d778b7869f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page