Skip to content

Commit 069d4d2

Browse files
authored
Merge pull request #166 from ReactionMechanismGenerator/readme
Readme
2 parents 6018ec9 + fc56893 commit 069d4d2

5 files changed

Lines changed: 168 additions & 48 deletions

File tree

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ jobs:
8787
cache-environment: true
8888
generate-run-shell: false
8989
create-args: >-
90-
--channel-priority flexible
90+
python=3.11
91+
--channel-priority strict
9192
9293
# 8. Compile RMG-Py (Cython extensions, in rmg_env)
9394
- name: Compile RMG-Py

README.md

Lines changed: 125 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,148 @@
33
</p>
44

55
# The Tandem Tool (T3) for automated chemical kinetic model development
6-
[![Docker Image Build and Push](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/docker_build.yml/badge.svg?branch=main)](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/docker_build.yml)
7-
![Release](https://img.shields.io/badge/version-0.1.0-blue.svg)
8-
![Build Status](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/cont_int.yml/badge.svg)
6+
7+
[![CI](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/ci.yml)
8+
[![Docs](https://github.com/ReactionMechanismGenerator/T3/actions/workflows/gh-pages.yml/badge.svg)](https://reactionmechanismgenerator.github.io/T3/)
99
[![codecov](https://codecov.io/gh/ReactionMechanismGenerator/T3/branch/main/graph/badge.svg)](https://codecov.io/gh/ReactionMechanismGenerator/T3)
10+
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
1011
[![MIT license](http://img.shields.io/badge/license-MIT-brightgreen.svg)](http://opensource.org/licenses/MIT)
1112
![python](https://img.shields.io/badge/Python-3.12+-blue.svg)
1213

13-
T3 iteratively generates and refines detailed chemical kinetic models by combining
14+
**T3** automates the development of detailed chemical kinetic models.
15+
Given a set of initial species and conditions, it produces a validated model with
16+
high-fidelity thermochemistry and rate parameters by iteratively combining
1417
[RMG](https://rmg.mit.edu/) for model generation,
1518
[Cantera](https://cantera.org/) for sensitivity analysis,
1619
and [ARC](https://reactionmechanismgenerator.github.io/ARC/) for quantum mechanical calculations.
1720

18-
### T3 works according to the following general scheme:
19-
2021
![T3 scheme][cycle]
2122

2223
[cycle]: /grf/T3-circle.gif "T3 scheme"
2324

25+
---
26+
27+
## Features
28+
29+
- **Iterative refinement:** runs RMG, identifies sensitive species and reactions via SA, computes
30+
accurate thermo/kinetics with ARC, and feeds the results back into the next iteration
31+
- **Multiple SA adapters:** constant TP/HP/UV, PFR, JSR, and brute-force ignition delay time (IDT)
32+
- **Equivalence-ratio sweeps:** fuel/oxidizer/diluent role taxonomy with automatic concentration
33+
computation across a grid of temperatures, pressures, and equivalence ratios
34+
- **Uncertainty analysis:** local and global UA via polynomial chaos expansion
35+
- **Restart support:** T3 can resume from any interrupted iteration
36+
37+
---
38+
39+
## Installation
40+
41+
### Prerequisites
42+
43+
- Python 3.12+
44+
- [Conda](https://docs.conda.io/en/latest/) (we recommend [Miniforge](https://github.com/conda-forge/miniforge))
45+
2446
### Quick start
2547

2648
```bash
2749
git clone https://github.com/ReactionMechanismGenerator/T3.git
2850
cd T3
29-
make install all
51+
make install
52+
conda activate t3_env
53+
```
54+
55+
This clones and installs ARC, RMG-Py, RMG-database, and all external dependencies.
56+
See the [full installation guide](https://reactionmechanismgenerator.github.io/T3/installation/)
57+
for manual installation and troubleshooting.
58+
59+
---
60+
61+
## Usage
62+
63+
Create a YAML input file and run T3:
64+
65+
```bash
3066
conda activate t3_env
67+
python T3.py input.yml
3168
```
3269

33-
See the [full documentation](https://reactionmechanismgenerator.github.io/T3/) for
34-
detailed installation instructions, tutorials, and examples.
70+
A minimal input file looks like:
71+
72+
```yaml
73+
project: my_project
74+
75+
t3:
76+
options:
77+
max_T3_iterations: 10
78+
sensitivity:
79+
adapter: CanteraConstantTP
80+
top_SA_species: 10
81+
top_SA_reactions: 10
82+
83+
rmg:
84+
database:
85+
thermo_libraries: ['primaryThermoLibrary', 'BurkeH2O2']
86+
kinetics_libraries: ['primaryH2O2']
87+
species:
88+
- label: H2
89+
smiles: '[H][H]'
90+
concentration: 0.67
91+
- label: O2
92+
smiles: '[O][O]'
93+
concentration: 0.33
94+
- label: OH
95+
smiles: '[OH]'
96+
SA_observable: true
97+
reactors:
98+
- type: gas batch constant T P
99+
T: 1000
100+
P: 1
101+
termination_conversion:
102+
H2: 0.9
103+
termination_time: [5, 's']
104+
model:
105+
core_tolerance: [0.05, 0.01]
106+
107+
qm:
108+
adapter: ARC
109+
level_of_theory: CBS-QB3
110+
```
111+
112+
See the [input reference](https://reactionmechanismgenerator.github.io/T3/input_reference/)
113+
for all available options.
114+
115+
---
116+
117+
## Documentation
118+
119+
See the [full documentation](https://reactionmechanismgenerator.github.io/T3/) for:
120+
121+
- [Installation](https://reactionmechanismgenerator.github.io/T3/installation/)
122+
- [Running T3](https://reactionmechanismgenerator.github.io/T3/running/)
123+
- [Tutorials](https://reactionmechanismgenerator.github.io/T3/tutorials/1_no_qm/)
124+
- [Input reference](https://reactionmechanismgenerator.github.io/T3/input_reference/)
125+
- [Examples](https://reactionmechanismgenerator.github.io/T3/examples/)
126+
127+
---
128+
129+
## Development
130+
131+
```bash
132+
make test # Run tests with coverage
133+
make test-main # Run main unit tests only
134+
make test-functional # Run functional (integration) tests
135+
```
136+
137+
---
138+
139+
## Contributing
140+
141+
We welcome contributions!
142+
143+
- Found a bug or have a feature request? [Open an issue](https://github.com/ReactionMechanismGenerator/T3/issues)
144+
- See the [contributing guide](https://reactionmechanismgenerator.github.io/T3/contribute/) to get started
145+
146+
---
147+
148+
## License
149+
150+
T3 is released under the [MIT License](https://github.com/ReactionMechanismGenerator/T3/blob/main/LICENSE).

devtools/install_all.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ make
7979

8080
conda deactivate
8181

82+
# Create or update t3_env
83+
cd ..
84+
cd T3 || { echo "Cannot find T3 directory"; exit 1; }
85+
if { $COMMAND_PKG env list | grep 't3_env'; } >/dev/null 2>&1; then
86+
$COMMAND_PKG env update -n t3_env -f environment.yml
87+
else
88+
$COMMAND_PKG env create -f environment.yml
89+
fi;
90+
8291
# Switch to t3_env and clone/install ARC
8392
if [ "$COMMAND_PKG" == "micromamba" ]; then
8493
micromamba activate t3_env

environment.yml

Lines changed: 32 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,44 @@ name: t3_env
22

33
channels:
44
- conda-forge
5-
- anaconda
65

76
dependencies:
87
# ─── core ─────────────────────────────────────
9-
- conda-forge::python >=3.12.*
10-
- conda-forge::numpy >=2.1.*
11-
- conda-forge::pip
8+
- python >=3.12
9+
- numpy >=2.1
10+
- pip
1211

1312
# ─── conda-forge packages ─────────────────────
14-
- conda-forge::ase >=3.22.1
15-
- conda-forge::cairo
16-
- conda-forge::cairocffi
17-
- conda-forge::cmake
18-
- conda-forge::coverage
19-
- conda-forge::cython >=3.0
20-
- conda-forge::graphviz
21-
- conda-forge::ipython
22-
- conda-forge::jupyter
23-
- conda-forge::lpsolve55
24-
- conda-forge::mako
25-
- conda-forge::matplotlib
26-
- conda-forge::networkx
27-
- conda-forge::openbabel >=3
28-
- conda-forge::pandas
29-
- conda-forge::paramiko >=2.6.0
30-
- conda-forge::py3dmol >=0.8.0
31-
- conda-forge::pydot
32-
- conda-forge::pytables
33-
- conda-forge::pytest
34-
- conda-forge::pytest-cov
35-
- conda-forge::pyyaml
36-
- conda-forge::rdkit >=2025.03
37-
- conda-forge::scipy
38-
- conda-forge::sphinx
39-
- conda-forge::sphinx_rtd_theme
40-
- conda-forge::sphinxcontrib-jsmath
13+
- ase >=3.22.1
14+
- cairo
15+
- cairocffi
16+
- cmake
17+
- coverage
18+
- cython >=3.0
19+
- graphviz
20+
- ipython
21+
- jupyter
22+
- lpsolve55
23+
- mako
24+
- matplotlib
25+
- networkx
26+
- openbabel >=3
27+
- pandas
28+
- paramiko >=2.6.0
29+
- py3dmol >=0.8.0
30+
- pydantic
31+
- pydot
32+
- pytables
33+
- pytest
34+
- pytest-cov
35+
- pyyaml
36+
- rdkit >=2025.03
37+
- scipy
38+
- sphinx
39+
- sphinx_rtd_theme
40+
- sphinxcontrib-jsmath
4141

4242
# ─── T3 specific packages (not in ARC) ─────────
43-
- conda-forge::cantera >=3.2.0
43+
- cantera >=3.2.0
4444
- mkdocs-material >=5.1.7
4545
- mkdocs-material-extensions
46-
- anaconda::pydantic

mkdocs.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,6 @@ extra:
4444
- icon: fontawesome/brands/linkedin
4545
link: https://www.linkedin.com/in/alongd/
4646

47-
# Google Analytics
48-
google_analytics:
49-
- UA-16019208-2
50-
- auto
51-
5247
# Build hooks
5348
hooks:
5449
- docs/hooks.py

0 commit comments

Comments
 (0)