You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added laminar flame speed support: freely-propagating FlameSimulation, the laminar-flame-conditions input block, and laminar flame speed as an error metric, enabling reductions driven by flame data alone or combined with autoignition (based on work by Cailin Moore, #82)
Added BaseSimulation abstract base class with shared gas setup and thermochemical-profile sampling, giving IgnitionSimulation and FlameSimulation a common interface
Added automatic retention of fuel, oxidizer, and reactant species from the initial conditions so they are never removed during reduction (fixes #12; based on work by Katherine Bronstein, #80)
Added soln2yaml module for writing Cantera Solution objects to YAML files, delegating to Cantera's built-in write_yaml() method
Added YAML equivalents of all test asset models (artificial-mechanism.yaml, model-third-bodies.yaml, reduced GRI 3.0 models)
Added conda recipe (conda.recipe/meta.yaml) updated for Python 3.10+ and Cantera 3.x
Added GitHub Actions CI workflow with matrix testing on Python 3.10–3.14 (Linux) and Python 3.14 (macOS, Windows), with Coveralls coverage reporting
Added GitHub Actions publish workflow for PyPI (OIDC trusted publishing) and Anaconda.org; conda publish triggers automatically on v* tags after CI passes
Added GitHub Actions docs workflow that deploys to GitHub Pages after CI passes on main
Changed
Autoignition simulations now use Cantera mole reactors (IdealGasMoleReactor / IdealGasConstPressureMoleReactor) with an adaptive preconditioner, accelerating integration of large models (based on work by Anthony Walker, #84)
Reduction drivers (run_drg, run_drgep, run_pfa, and sensitivity analysis) now accept laminar flame conditions and combine ignition and flame error metrics and sampled state data uniformly, regardless of simulation type
Input files now require at least one of autoignition-conditions or laminar-flame-conditions (previously autoignition was mandatory)
Renamed the Simulation class to IgnitionSimulation and consolidated the base, ignition, and flame simulation classes into a single simulation.py
trim() now preserves the original model's transport model so reduced models remain usable for laminar flame simulations
Minimum Python version raised from 3.6 to 3.10
Updated Cantera dependency to 3.x; updated all API calls for Cantera 3.x (reaction type strings, stoichiometric coefficient property names, reactor constructor, phase/kinetics identifiers)
Replaced .cti format throughout with Cantera's YAML format; soln2cti.py removed and replaced by soln2yaml.py
Replaced pkg_resources with pathlib and importlib.metadata for Python 3.14 compatibility
Switched build system from setuptools to hatchling
Model file references in CLI, documentation, and examples updated from .cti to .yaml
compare_models now uses np.isclose() for floating-point rate parameter comparisons and evaluates thermodynamic properties at reference temperatures instead of comparing raw polynomial coefficients
docs/conf.py updated to use importlib.metadata for version detection; removed Travis CI references; updated Cantera intersphinx URL to 3.x docs
Fixed
Fixed bug in soln2ck.py where the reaction high rate was being used instead of the reaction low rate