OpenCCM is a compartmental modelling software package which is based on recently-developed fully automated flow alignment compartmentalization methods. It is primarily intended for large-scale flow-based processes where there is weak coupling between composition changes, e.g. through (bio)chemical reactions, and convective mass transport in the system.
Project description
OpenCCM
TODO: DOI
Getting Started | Issues | Contribute | Citation | Authors
What is OpenCCM?
OpenCCM is a CFD-based compartment modelling software package. It is primarily intended for convection dominated reactive flows which feature a weak or one-way coupling between the reactive species and the carrier fluid, i.e. the reaction does not substantially influence the fluid flow over the course of the simulation.
OpenCCM supports CFD results from OpenCMP and OpenFOAM, and has been written in such a way that support for other simulation packages can be easily added. It provides built-in post-processing for calculating residence time distributions and can output compartment model simulation results in either ParaView format or the original simulation packages' native format for use as input in subsequent CFD simulations.
Compartmental models have been researched in several chemical engineering fields, including:
- Bioreactors (J. Morchain (2024), A. Delafosse (2010), P. Vrábel (1999))
- Wastewater treatment facilities (M.C. Sadino-Riquelme (2023), A. Alvarado (2012), Y. Le Moullec (2010))
- Combustion engines (M. Savarese (2024), M.A. Agizza (2022), A. Innocenti (2018))
- Multiphase unit operations (Y. Du (2023), J. Darand (2022), E.K. Nauha (2015))
The OpenCCM package provides reference code and documentation for the methods described in:
OpenCCM development follows the principles of ease of use, performance, and extensibility. The configuration file-based user interface is intended to be concise, readable, and intuitive. Similarly, the code base is structured such that experienced users can support for their simulation package of choice with minimal modifications to existing code. OpenCCM comes with built-in support for performing reactive flow simulations with the compartment model. Reactions are specified by the user on a per-reaction basis in the form for (A + B -> C + D) and are automatically parsed into ODEs. Spatial discretization, if needed, is performed using the finite difference scheme.
Getting Started
- Ensure you have Python 3.10+ installed and then install OpenCCM using either pip (
pip install openccm
) or see the INSTALL.md file for complete installation instructions. - Several examples are provided inside the
examples/
folder for specifics of how to create the compartmental model, run simulations, and output visualizations.
If you plan to use the OpenCCM package for your own work, please cite appropriately using the citation below.
Issues
If you encounter any bugs or problems with OpenCCM, please create a post using our package issue tracker. Please provide a clear and concise description of the problem, with images or code-snippets where appropriate. We will do our best to address these problems as fast and efficiently as possible.
Contribute
We welcome external contributions to the source code. This process will be easiest if users adhere to the contribution policy:
- Open an issue on the package issue tracker clearly describing your intentions on code modifications or additions
- Ensure your modifications or additions adhere to the existing standard of the OpenCCM package, specifically detailed documentation for new methods (see existing methods for example documentation)
- Test your modifications to ensure that the core functionality of the package has not been altered by running the unit tests.
- Once the issue has been discussed with a package author, you may open a pull request containing your modifications
Citation
If you plan to use OpenCCm in your own work, please cite using the following Bibtex citation: TODO: Fill in after having DOI
@article{VasileOpenCCM202X,
author = {Vasile, Alexandru Andrei and Tino, Matthew Peres an Aseri, Yuvraj and Abukhdeir, Nasser Mohieddin},
title = {},
doi = {},
journal = {Journal of Open Source Software},
number = {},
pages = {},
volume = {},
year = {202X},
url = {}
}
Authors
- Alexandru Andrei Vasile
- Nasser Mohieddin Abukhdeir
- Matthew Peres Tino
- Yuvraj Aseri
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file openccm-1.0-py3-none-any.whl
.
File metadata
- Download URL: openccm-1.0-py3-none-any.whl
- Upload date:
- Size: 139.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3375fac8f5d6bfd6a9331277831b90d78531ec7dec0ba0983ab6f3a7ed55c465 |
|
MD5 | 62e5b39cad3b5f87c3dbfe22c8d1149c |
|
BLAKE2b-256 | 2df308b38cd404967415cdbba5271c1ec69d08f207bf390505e5c7204f019e2c |