Software Open Access
Schlegel, Fabian;
Fombonne, Clement;
Hänsch, Susann;
Krull, Benjamin;
Lehnigk, Ronald;
Meller, Richard
{
"publisher": "Rodare",
"abstract": "<p>The <code>multiphasepy</code> 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.</p> <p>At its core, <code>multiphasepy</code> 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.</p> <p>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.</p> Command-Line Tools <p>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 <code>mpy<function></code> and provide <code>--help</code> for detailed usage information.</p> Workflow Management <ul> <li><strong>mpycopy</strong> : Copy and render templated cases</li> <li><strong>mpydocker</strong> : Launch customizable Docker development environments</li> <li><strong>mpywatch</strong> : Progress display and real-time data visualization</li> <li><strong>mpyworkflow</strong> : Create and manage cases projects allowing batch processing</li> </ul> Data Processing <ul> <li><strong>mpyconv</strong> : Convert data files between formats</li> <li><strong>mpypost</strong> : Mathematical post-processing operations</li> <li><strong>mpyvisualize</strong> : Visualize simulation result files</li> </ul> Quality Assurance <ul> <li><strong>mpytest</strong> : Run CFD code functionality tests</li> <li><strong>mpyfuzzy</strong> : Evaluate simulation goodness using fuzzy logic</li> <li><strong>mpyhooks</strong> : Run git hooks for code quality checks</li> </ul> Utilities <ul> <li><strong>mpyidentify</strong> : Identify file types and associate tags</li> <li><strong>mpyrpcmp</strong> : Compare two repositories (file-based)</li> <li><strong>mpyrpdiff</strong> : Compare repositories using git diff</li> <li><strong>mpyshrun</strong> : Wrap shell commands with logging</li> </ul> Publishing <ul> <li><strong>mpypublish</strong> : Publish software to Rodare repository</li> </ul> Installation <p>The <code>multiphasepy</code> package requires Python 3.12 or newer.</p> <p>Install the latest release from Gitlab PyPI:</p> <pre><code class=\"language-bash\">python -m pip install multiphasepy --extra-index-url https://codebase.helmholtz.cloud/api/v4/projects/8786/packages/pypi/simple </code></pre> <p>For full environment setup and platform-specific notes, see the installation guide in the documentation.</p> Acknowledgements <p>OpenFOAM\u00ae is a registered trade mark of OpenCFD Limited, producer and distributor of the OpenFOAM\u00ae 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>.</p>",
"title": "Multiphase Python Repository by HZDR",
"DOI": "10.14278/rodare.4566",
"author": [
{
"family": "Schlegel, Fabian"
},
{
"family": "Fombonne, Clement"
},
{
"family": "H\u00e4nsch, Susann"
},
{
"family": "Krull, Benjamin"
},
{
"family": "Lehnigk, Ronald"
},
{
"family": "Meller, Richard"
}
],
"type": "article",
"id": "4566",
"issued": {
"date-parts": [
[
2026,
3,
20
]
]
},
"language": "eng",
"version": "3.0.1"
}
| All versions | This version | |
|---|---|---|
| Views | 17,231 | 63 |
| Downloads | 4,885 | 15 |
| Data volume | 137.0 MB | 787.6 kB |
| Unique views | 12,495 | 60 |
| Unique downloads | 4,403 | 13 |