Installation¶
T3 was tested on Linux (Ubuntu 22.04 LTS and later).
Prerequisites¶
1. Install system packages¶
You need git, a C/C++ compiler, and either curl or wget.
-
Ubuntu / Debian:
bash sudo apt install git gcc g++ make curl -
Fedora / Red Hat:
bash sudo dnf install git gcc gcc-c++ make curl -
macOS (with Homebrew):
bash xcode-select --install
2. Install a conda package manager¶
We recommend Miniforge
(which includes mamba for faster environment solving):
curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-$(uname)-$(uname -m).sh"
bash Miniforge3-$(uname)-$(uname -m).sh
Follow the prompts and restart your terminal when done.
Install T3 and dependencies¶
T3 requires four co-installed components:
| Component | Conda env | Why T3 needs it |
|---|---|---|
| T3 itself | t3_env |
the orchestrator |
| ARC | t3_env |
QM job submission and post-processing |
| RMG-Py | rmg_env |
mechanism generation and Arkane PDep SA — T3 spawns these as subprocesses |
| RMG-database | (filesystem only) | thermo / kinetics / transport data used by both RMG and ARC |
Why two conda environments?
T3 itself never imports rmg-py; it only shells out to RMG and Arkane.
Keeping rmg_env separate from t3_env lets the two have very different
dependency trees without conflicting, and lets you upgrade T3 without
rebuilding RMG. Both environments must exist for T3 to run end-to-end.
Two installation options are available.
Option 1: Automated installation¶
Clone T3 and install everything with one command:
git clone https://github.com/ReactionMechanismGenerator/T3.git
cd T3
make install
This clones ARC, RMG-Py, and RMG-database into the parent folder if they
are not already there, creates both t3_env and rmg_env, compiles
RMG-Py and ARC, and installs a custom updated version of PyRDL.
It may take a while (RMG-Py's Cython compile is the slow step).
Option 2: Manual installation¶
Clone repositories¶
Clone all four repositories (e.g., under ~/Code/):
cd ~/Code
git clone https://github.com/ReactionMechanismGenerator/T3.git
git clone https://github.com/ReactionMechanismGenerator/ARC.git
git clone https://github.com/ReactionMechanismGenerator/RMG-Py.git
git clone https://github.com/ReactionMechanismGenerator/RMG-database.git
Create the T3 conda environment¶
cd ~/Code/T3
mamba env create -f environment.yml
conda activate t3_env
Install PyRDL (required by ARC)¶
cd ~/Code/ARC
bash devtools/install_pyrdl.sh t3_env
Compile ARC extensions¶
cd ~/Code/ARC
make compile
Create the RMG conda environment and compile RMG-Py¶
T3 spawns RMG and Arkane as subprocesses inside rmg_env, so this step is
required even though T3 itself never imports rmg-py.
cd ~/Code/RMG-Py
mamba env create -f environment.yml
conda activate rmg_env
make
conda deactivate
Set environment variables¶
Add the following to your ~/.bashrc (or ~/.zshrc on macOS):
export PYTHONPATH=$PYTHONPATH:~/Code/T3:~/Code/ARC:~/Code/RMG-Py
export RMG_DB_PATH=~/Code/RMG-database
Then reload your shell:
source ~/.bashrc
Verify the installation¶
Activate the environment and run the test suite:
conda activate t3_env
cd ~/Code/T3
pytest tests/ -x -q
All tests should pass. If you encounter import errors, verify that
PYTHONPATH and RMG_DB_PATH are set correctly.
Optional: convenient aliases¶
Add these to your ~/.bashrc (adjust paths accordingly):
export t3_path=$HOME'/Code/T3'
alias t3e='conda activate t3_env'
alias t3='python $t3_path/T3.py input.yml'
alias t3code='cd $t3_path'
After sourcing ~/.bashrc or restarting the terminal:
t3eactivates the environmentt3codechanges to the T3 repository directoryt3runs T3 withinput.ymlin the current folder
Updating T3¶
Pull the latest changes from the main branch:
cd ~/Code/T3
git pull origin main
You may also want to update ARC, RMG-Py, and RMG-database:
cd ~/Code/ARC && git pull origin main
cd ~/Code/RMG-Py && git pull origin main
cd ~/Code/RMG-database && git pull origin main
Recompile ARC and RMG-Py with the latest changes:
cd ~/Code/ARC
make compile
cd ~/Code/RMG-Py
conda activate rmg_env
make
conda deactivate