Getting Started¶
Installation¶
For local development:
git clone https://github.com/BenjiG03/canterax.git
cd canterax
pip install -e .
From pypi:
pip install canterax
Runtime dependencies¶
The package depends on:
jaxjaxlibequinoxdiffraxoptimistixlineaxcanterapyyamlnumpymatplotlib
For exact package ranges currently tested in this repository, see the root pyproject.toml.
First concepts¶
There are two user-facing entry points to know first:
canterax.Solutionfor mechanism loading, thermodynamic state management, equilibrium, and property queriescanterax.ReactorNetfor integrating constant-pressure adiabatic reactor trajectories
Most workflows start with a Solution, then optionally pass its mechanism and initial state into a ReactorNet.
Mechanism files¶
Canterax reads Cantera-compatible YAML mechanisms. In practice that means examples like:
gri30.yamlh2o2.yamlcustom mechanism YAML files on disk
If Cantera can locate the mechanism and the thermodynamic/kinetic models are within Canterax’s current support, Solution("mechanism.yaml") is the normal entry point.
What to expect from compatibility¶
The package is intentionally close to Cantera’s ideal-gas Solution surface, but it is not a full replacement for every Cantera model.
Use Canterax when you need:
a familiar ideal-gas interface
JAX-native computation
differentiable kinetics or reactor simulation
Keep using Cantera directly when you need:
non-ideal phases
broader transport coverage
mature equilibrium modes outside
TPandHP
Next step¶
Continue to Quickstart for a working Solution example.