Partially-stirred reactor code with OpenMP parallelization.
Before you begin, ensure you have met the following requirements:
- C++ compiler (e.g., g++, clang++)
- CMake - Follow the installation instructions for your platform.
- Cantera - Installation instructions here
- Make sure to install the Cantera C++ inteface!
- OpenMP - Typically comes with most C++ compilers, but you may need to enable it during compilation.
- yaml-cpp - Installation instructions can be found in the project's README
Clone the project repository to your local machine:
git clone https://github.com/IhmeGroup/PaSR.git
Navigate to the project directory:
cd PaSR
Initialize and update the submodules:
git submodule update --init --recursive
Create a build directory and navigate into it:
mkdir build
cd build
Run CMake to configure the build:
cmake ../ -DCANTERA_ROOT=/path/to/cantera -DCMAKE_INSTALL_PREFIX=/path/to/install/bin
Build the project using make (or another build tool generated by CMake):
make
Install the compiled executable to the specified installation path:
make install
The executable will be installed to /path/to/install/bin
. Optionally, you can add this directory to your PATH environment variable:
export PATH=$PATH:/path/to/install/bin
To run the code, use the following command:
pasr -i input.toml
Here, -i
specifies the input file and input.toml
is the name of your input file in TOML format. Adjust the file name and path as needed for your specific input. Sample input files are provided in sample
If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch (
git checkout -b feature/your-feature
) - Make your changes
- Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/your-feature
) - Create a new pull request
- Z. Ren and S. B. Pope, “An investigation of the performance of turbulent mixing models,” Combustion and Flame, vol. 136, no. 1, pp. 208–216, Jan. 2004, doi: 10.1016/j.combustflame.2003.09.014.
- SuXY15/PaSR - A PaSR implementation in Python
- SLACKHA/pyJac - A PaSR implementation using pyJac
This project is licensed under the MIT License - see the LICENSE file for details.