Arrhenius.jl is a Julia package for reacting-flow and combustion calculations. It provides native chemistry, thermodynamics, transport, reactors, and one-dimensional flame solvers; Gas-phase Cantera YAML mechanisms are read directly in Julia; optional sidecars provide fitted transport data.
- Ideal-gas thermochemistry, kinetics, equilibrium, and sound speeds
- Zero-dimensional reactors and connected reactor networks
- Free, burner-stabilized, counterflow, impinging-jet, catalytic, and ionized flames
- Mixture-averaged and multicomponent transport, Soret diffusion, and radiation options
- Surface chemistry, plasma models, porous transport, pure-water properties, and real-gas models
- Julia-native calculations with differentiable components and caller-selected ODE integrators
In Julia's package manager, enter ] add https://github.com/DENG-MIT/Arrhenius.jl. For a local checkout, activate the repository project and run Pkg.instantiate() before using its examples. See the installation guide.
The optional reactor example environment provides SciML's QNDF integrator. From the repository root, run this with julia --project=example/reactors:
using Arrhenius
include("example/reactors/ode_solver.jl")
gas = CreateSolution("mechanism/h2o2.yaml")
reactor = IdealGasReactor(gas; temperature=1001.0, pressure=one_atm,
mole_fractions=Dict("H2" => 2, "O2" => 1, "AR" => 4))
solution = solve_reactor(reactor, (0.0, 0.001); integrator=native_bdf,
reltol=1e-8, abstol=1e-14)
@show reactor_properties(reactor, solution.u[end]).temperatureThe repository includes the H₂/O₂ mechanism. Gas chemistry is read directly from YAML; the optional sidecar supplies fitted transport data. Run from the repository root with julia --project=.:
using Arrhenius
gas = CreateSolution("mechanism/h2o2.yaml")
flame = FreeFlame(gas; T=300.0, P=one_atm,
X="H2:1.1,O2:1,AR:5", width=0.03)
solve!(flame)
@show flame_speed(flame)- Install and prepare mechanisms
- Flame models and discretization
- Solver options
- Reactor models
- Runnable examples
- Validation methods
- API reference
If you use Arrhenius.jl in published work, please cite:
W. Ji, X. Su, B. Pang, S. J. Cassady, A. M. Ferris, Y. Li, Z. Ren, R. Hanson, S. Deng, “Arrhenius.jl: A Differentiable Combustion Simulation Package,” arXiv:2107.06172 [physics.chem-ph], 2021. https://arxiv.org/abs/2107.06172
@misc{ji2021arrhenius,
title = {Arrhenius.jl: A Differentiable Combustion Simulation Package},
author = {Ji, Weiqi and Su, Xingyu and Pang, Bin and Cassady, Sean Joseph and Ferris, Alison M. and Li, Yujuan and Ren, Zhuyin and Hanson, Ronald and Deng, Sili},
year = {2021},
eprint = {2107.06172},
archivePrefix = {arXiv},
primaryClass = {physics.chem-ph},
url = {https://arxiv.org/abs/2107.06172}
}Related publications are listed in the documentation. The package is released under the MIT License.