Skip to content

Open-source image-based framework for computational fluid dynamics on microsystems

License

Notifications You must be signed in to change notification settings

cssr-tools/pymm

Repository files navigation

Build Status Code style License: GPL v3 DOI

pymm: An open-source image-based framework for CFD in microsystems

This repository provides a workflow to perform computational fluid dynamics (CFD) simulations in microsystems. Given an image of a microsystem and an input text file with few parameters, then the pymm executable process the image and builds the grid using Gmsh and runs the CFD simulations using OpenFOAM.

Installation

You will first need to install

To install the pymm executable in an existing Python environment:

pip install git+https://github.com/cssr-tools/pymm.git

If you are interested in modifying the source code, then you can clone the repository and install the Python requirements in a virtual environment with the following commands:

# Clone the repo
git clone https://github.com/cssr-tools/pymm.git
# Get inside the folder
cd pymm
# Create virtual environment
python3 -m venv vpymm
# Activate virtual environment
source vpymm/bin/activate
# Upgrade pip, setuptools, and wheel
pip install --upgrade pip setuptools wheel
# Install the pymm package
pip install -e .
# For contributions/testing/linting, install the dev-requirements
pip install -r dev-requirements.txt

See the OpenFOAM page, where from OpenFOAM-12 the simulator is available via apt get.

Running pymm

You can run pymm as a single command line:

pymm -i some_input_image.png -p some_input_parameters.txt -o some_output_folder

Run pymm --help to see all possible command line argument options. Inside the some_input_parameters.txt file you provide the framework parameters such as the dimensions of the microsystem, mesh size, inlet pressure, and more. See the .txt files in the examples folder.

Getting started

See the examples in the documentation.

Journal papers using pymm

The following is a list of journal papers in which pymm is used:

  1. Liu, N., Haugen, M., Benali, B., Landa-Marbán, D., Fernø, M.A., 2023. Pore-scale spatiotemporal dynamics of microbial-induced calcium carbonate growth and distribution in porous media. Int. J. Greenh. Gas Control 125, 103885. https://doi.org/10.1016/j.ijggc.2023.103885
  2. Liu, N., Haugen, M., Benali, B., Landa-Marbán, D., Fernø, M.A., 2023. Pore-scale kinetics of calcium dissolution and secondary precipitation during geological carbon storage. Chem. Geol. 641, 121782. https://doi.org/10.1016/j.chemgeo.2023.121782.

About pymm

The image-based Python package for computational fluid dynamics pymm is funded by Center for Sustainable Subsurface Resources [project no. 331841] and NORCE Norwegian Research Centre As [project number 101070]. Contributions are more than welcome using the fork and pull request approach.