OpenCCM

OpenCCM: An Open-Source Continuous Compartmental Modelling Package - Published in JOSS (2024)

https://github.com/uw-comphys/openccm

Science Score: 100.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 26 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: sciencedirect.com, joss.theoj.org
  • Committers with academic emails
    3 of 6 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

finite-element-methods computational-fluid-dynamics

Scientific Fields

Materials Science Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation ·

Repository

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.

Basic Info
Statistics
  • Stars: 1
  • Watchers: 2
  • Forks: 4
  • Open Issues: 1
  • Releases: 1
Created over 2 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation Authors

README.md

OpenCCM

DOI

Getting Started | Issues | Contribute | 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: * A. Vasile (2024)

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

  1. 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.
  2. 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

Authors

  • Alexandru Andrei Vasile
  • Nasser Mohieddin Abukhdeir
  • Matthew Peres Tino
  • Yuvraj Aseri

Owner

  • Name: uw-comphys
  • Login: uw-comphys
  • Kind: organization

JOSS Publication

OpenCCM: An Open-Source Continuous Compartmental Modelling Package
Published
October 30, 2024
Volume 9, Issue 102, Page 6963
Authors
Alexandru Andrei Vasile ORCID
Department of Chemical Engineering, University of Waterloo, Ontario, Canada
Matthew Peres Tino ORCID
Department of Chemical Engineering, University of Waterloo, Ontario, Canada
Yuvraj Aseri ORCID
Department of Chemical Engineering, University of Waterloo, Ontario, Canada
Nasser Mohieddin Abukhdeir ORCID
Department of Chemical Engineering, University of Waterloo, Ontario, Canada, Department of Physics and Astronomy, University of Waterloo, Ontario, Canada, Waterloo Institute for Nanotechnology, University of Waterloo, Ontario, Canada
Editor
Philip Cardiff ORCID
Tags
compartmental modelling reduced order modelling model order reduction computational fluid dynamics

Citation (CITATION.cff)

cff-version: "1.2.0"
authors:
- family-names: Vasile
  given-names: Alexandru Andrei
  orcid: "https://orcid.org/0000-0002-0233-0172"
- family-names: Tino
  given-names: Matthew Peres
  orcid: "https://orcid.org/0009-0005-6832-1761"
- family-names: Aseri
  given-names: Yuvraj
  orcid: "https://orcid.org/0009-0008-4703-3711"
- family-names: Abukhdeir
  given-names: Nasser Mohieddin
  orcid: "https://orcid.org/0000-0002-1772-0376"
contact:
- family-names: Abukhdeir
  given-names: Nasser Mohieddin
  orcid: "https://orcid.org/0000-0002-1772-0376"
doi: 10.5281/zenodo.13988255
message: If you use this software, please cite our article in the
  Journal of Open Source Software.
preferred-citation:
  authors:
  - family-names: Vasile
    given-names: Alexandru Andrei
    orcid: "https://orcid.org/0000-0002-0233-0172"
  - family-names: Tino
    given-names: Matthew Peres
    orcid: "https://orcid.org/0009-0005-6832-1761"
  - family-names: Aseri
    given-names: Yuvraj
    orcid: "https://orcid.org/0009-0008-4703-3711"
  - family-names: Abukhdeir
    given-names: Nasser Mohieddin
    orcid: "https://orcid.org/0000-0002-1772-0376"
  date-published: 2024-10-30
  doi: 10.21105/joss.06963
  issn: 2475-9066
  issue: 102
  journal: Journal of Open Source Software
  publisher:
    name: Open Journals
  start: 6963
  title: "OpenCCM: An Open-Source Continuous Compartmental Modelling
    Package"
  type: article
  url: "https://joss.theoj.org/papers/10.21105/joss.06963"
  volume: 9
title: "`OpenCCM`: An Open-Source Continuous Compartmental Modelling
  Package"

GitHub Events

Total
  • Create event: 3
  • Release event: 3
  • Issues event: 2
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 13
  • Pull request event: 3
  • Fork event: 2
Last Year
  • Create event: 3
  • Release event: 3
  • Issues event: 2
  • Watch event: 1
  • Delete event: 2
  • Issue comment event: 4
  • Push event: 13
  • Pull request event: 3
  • Fork event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 160
  • Total Committers: 6
  • Avg Commits per committer: 26.667
  • Development Distribution Score (DDS): 0.288
Past Year
  • Commits: 57
  • Committers: 4
  • Avg Commits per committer: 14.25
  • Development Distribution Score (DDS): 0.246
Top Committers
Name Email Commits
Alex Vasile 4****e 114
Nasser M. Abukhdeir n****r@u****a 30
Matthew Peres Tino m****o@u****a 8
yuvraj-aseri B****8@s****n 6
Philip Cardiff p****f@g****m 1
Kyle Niemeyer k****r@f****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 9
  • Total pull requests: 45
  • Average time to close issues: about 1 month
  • Average time to close pull requests: about 16 hours
  • Total issue authors: 4
  • Total pull request authors: 5
  • Average comments per issue: 3.22
  • Average comments per pull request: 0.04
  • Merged pull requests: 45
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 7
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 17 hours
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • speth (5)
  • Alex-Vasile (3)
  • nasserma (1)
  • luohancfd (1)
Pull Request Authors
  • Alex-Vasile (67)
  • mptino (6)
  • yuvraj-aseri (4)
  • philipcardiff (2)
  • kyleniemeyer (1)
Top Labels
Issue Labels
documentation (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 10 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 2
  • Total maintainers: 3
pypi.org: openccm

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.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 10 Last month
Rankings
Dependent packages count: 9.7%
Average: 36.7%
Dependent repos count: 63.8%
Maintainers (3)
Last synced: 4 months ago

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v3 composite
.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action master composite
pyproject.toml pypi