Software Open Access
Schlegel, Fabian;
Fombonne, Clement;
Hänsch, Susann;
Krull, Benjamin;
Lehnigk, Ronald;
Meller, Richard
{
"doi": "10.14278/rodare.4566",
"links": {
"badge": "https://rodare.hzdr.de/badge/doi/10.14278/rodare.4566.svg",
"doi": "https://doi.org/10.14278/rodare.4566",
"conceptbadge": "https://rodare.hzdr.de/badge/doi/10.14278/rodare.3093.svg",
"conceptdoi": "https://doi.org/10.14278/rodare.3093",
"bucket": "https://rodare.hzdr.de/api/files/4a983337-e55a-4138-b238-d859371285ce",
"html": "https://rodare.hzdr.de/record/4566",
"latest": "https://rodare.hzdr.de/api/records/4812",
"latest_html": "https://rodare.hzdr.de/record/4812"
},
"metadata": {
"title": "Multiphase Python Repository by HZDR",
"publication_date": "2026-03-20",
"communities": [
{
"id": "rodare"
}
],
"related_identifiers": [
{
"identifier": "https://www.hzdr.de/publications/Publ-39434",
"scheme": "url",
"relation": "isIdenticalTo"
},
{
"identifier": "10.14278/rodare.3093",
"scheme": "doi",
"relation": "isVersionOf"
}
],
"keywords": [
"Python",
"Numerical Simulations",
"Post-Processing",
"Gitlab"
],
"access_right": "open",
"creators": [
{
"affiliation": "Helmholtz-Zentrum Dresden - Rossendorf e.V.",
"orcid": "0000-0003-3824-9568",
"name": "Schlegel, Fabian"
},
{
"affiliation": "Framatome S.A.S.",
"name": "Fombonne, Clement"
},
{
"affiliation": "Helmholtz-Zentrum Dresden - Rossendorf e.V.",
"orcid": "0000-0003-1296-5566",
"name": "H\u00e4nsch, Susann"
},
{
"affiliation": "Helmholtz-Zentrum Dresden - Rossendorf e.V.",
"orcid": "0000-0002-5394-0384",
"name": "Krull, Benjamin"
},
{
"affiliation": "Helmholtz-Zentrum Dresden - Rossendorf e.V.",
"orcid": "0000-0002-5408-7370",
"name": "Lehnigk, Ronald"
},
{
"affiliation": "Helmholtz-Zentrum Dresden - Rossendorf e.V.",
"orcid": "0000-0002-3801-2555",
"name": "Meller, Richard"
}
],
"references": [],
"description": "<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>",
"relations": {
"version": [
{
"last_child": {
"pid_value": "4812",
"pid_type": "recid"
},
"parent": {
"pid_value": "3093",
"pid_type": "recid"
},
"is_last": false,
"count": 76,
"index": 46
}
]
},
"license": {
"id": "GPL-3.0-or-later"
},
"pub_id": "39434",
"resource_type": {
"type": "software",
"title": "Software"
},
"language": "eng",
"doi": "10.14278/rodare.4566",
"version": "3.0.1",
"doc_id": "1",
"access_right_category": "success"
},
"conceptrecid": "3093",
"updated": "2026-08-27T12:47:55.852989+00:00",
"stats": {
"volume": 2965203.0,
"unique_downloads": 43.0,
"version_unique_downloads": 8057.0,
"unique_views": 269.0,
"downloads": 46.0,
"version_unique_views": 27237.0,
"version_views": 33060.0,
"version_downloads": 8905.0,
"version_volume": 315608015.0,
"views": 272.0
},
"revision": 51,
"owners": [
141
],
"conceptdoi": "10.14278/rodare.3093",
"created": "2026-03-20T14:41:48.650576+00:00",
"id": 4566,
"files": [
{
"links": {
"self": "https://rodare.hzdr.de/api/files/4a983337-e55a-4138-b238-d859371285ce/CHANGELOG.md"
},
"checksum": "md5:af3b14545062975c87ead91871528514",
"key": "CHANGELOG.md",
"bucket": "4a983337-e55a-4138-b238-d859371285ce",
"size": 15618,
"type": "md"
},
{
"links": {
"self": "https://rodare.hzdr.de/api/files/4a983337-e55a-4138-b238-d859371285ce/multiphasepy-3.0.1-py3-none-any.whl"
},
"checksum": "md5:639df073cc71c71cdbaa58a8fcd24f98",
"key": "multiphasepy-3.0.1-py3-none-any.whl",
"bucket": "4a983337-e55a-4138-b238-d859371285ce",
"size": 119045,
"type": "whl"
},
{
"links": {
"self": "https://rodare.hzdr.de/api/files/4a983337-e55a-4138-b238-d859371285ce/multiphasepy-3.0.1.tar.gz"
},
"checksum": "md5:a4b23a4b2c814c5de39a49af10db2bcf",
"key": "multiphasepy-3.0.1.tar.gz",
"bucket": "4a983337-e55a-4138-b238-d859371285ce",
"size": 85406,
"type": "gz"
}
]
}
| All versions | This version | |
|---|---|---|
| Views | 33,060 | 272 |
| Downloads | 8,905 | 46 |
| Data volume | 315.6 MB | 3.0 MB |
| Unique views | 27,237 | 269 |
| Unique downloads | 8,057 | 43 |