mechRedox is a research-oriented software suite for chemical kinetics modeling and Chemical Reactor Network (CRN) analysis, specifically focused on predicting NOx emissions in gas turbine combustion systems. The project implements and validates methodologies from several key research papers, focusing on syngas, ammonia, and hydrogen fuel blends.
The repository is organized into bibliography, implementation scripts, and an automated test suite:
- scripts/: The core implementation, divided into study groups:
- groupC/C1/: Syngas RQL (Rich-Quench-Lean) NOx kinetics study based on Liu et al. (2018).
- groupC/C2/: Ammonia (NH3) and Ammonia-Hydrogen (NH3/H2) kinetics study based on Bedick et al. (2022/2023).
- tests/: Automated testing suite:
- unit/: Fast, independent tests for core validation logic.
- integration/: End-to-end pipeline tests (requires Cantera).
- htmlcov/: Generated HTML coverage reports providing a visual overview of test quality.
Based on the study by Liu et al. (2018), this module compares kinetic mechanisms (e.g., GRI-Mech 3.0 vs. SYN-Mech) for NOx prediction in coal-derived syngas RQL combustors.
- Methodology: 9-PSR rich zone model followed by a PFR lean zone.
- Analyses: Temperature sweeps, air flow split sensitivity, and residence time distribution.
- Validation: Scripts verify model outputs against literature values for 1908K and 1750K outlet temperatures.
Based on studies by Bedick et al. (2022/2023) at NETL, this module evaluates ammonia-based fuel blends for gas turbine applications.
- Methodology: Laminar flame speed calculations and two-stage rich-lean CRN modeling.
- Analyses: Flame speed vs. equivalence ratio, H2 addition effects, and mechanism comparison (14 variants including GRI 3.0, Okafor, Otomo, and Glarborg).
- Validation: Verifies results against NETL reference data and Li & Li (2021) Chemkin results.
The project employs a rigorous testing strategy using pytest and coverage.py:
- Automated Validation: Core scientific logic is verified by unit tests in
tests/unit/. - Pipeline Testing: Integration tests in
tests/integration/ensure the full modeling pipelines (Cantera simulations) are functional. - Coverage Reporting: Detailed HTML reports are generated to
htmlcov/index.htmlto monitor test coverage across thescripts/directory.
To run tests and generate a coverage report:
pytest --cov=scripts --cov-report=html- Python: Primary scripting language (3.9+).
- Cantera: Suite of tools for chemical kinetics, thermodynamics, and transport processes.
- NumPy & Pandas: Data processing and numerical analysis.
- Matplotlib: Visualization and figure generation.
- Pytest: Automated testing framework.
Ensure the following are installed:
- Python 3.9+
- Cantera
- NumPy, Pandas, Matplotlib, Pytest, Pytest-cov
To run a full study pipeline:
- Navigate to the study scripts directory (e.g.,
scripts/groupC/C1/scripts/). - Execute the master script:
python run_all.py. - Review results in the
outputs/folder and logs in thelogs/folder.
- Liu et al. (2018): "Kinetics Modeling on NOx Emissions of Gas Turbine Combustors for Syngas Applications".
- Bedick et al. (2022/2023): "A Modeling Study on Ammonia and Ammonia-Hydrogen Kinetics for Gas Turbine Engines".
- Fichet et al. (2010): "A reactor network model for predicting NOx emissions in gas turbines".
- Park et al. (2013): "Prediction of NOx and CO Emissions from an Industrial Lean-Premixed Gas Turbine Combustor...".
- Cameretti et al. (2007): "Cycle Optimization and Combustion Analysis in a Low-NOx Micro-Gas Turbine".