Cantera 3.2.0b1#
Published on November 1, 2025 | Full release on GitHub
The Cantera development team is pleased to announce the availability of Cantera 3.2.0. There have been over 800 commits to Cantera since the last version, 3.1.0, which was released in December 2024. We have closed or merged 144 pull requests and closed 62 issues and 17 enhancement proposals. Instructions for installing Cantera 3.2 are available on the Cantera website.
Highlights#
Generate a new version of
CLibbased on the C++ Doxygen documentation, using a significantly updatedsourcegentool (#1835, #1842, #1846, #1863, #1878, #1879, #1888, #1893, #1897, #1903, #1931, #1975, #1977, #1986, #1987, #2009, #2011)Clone Solution objects used by
Reactor/ReactorSurface, ensuring that allThermoPhaseobjects used within a network are independent and that properties accessed after integration reflect results at the integrator’s output time (#1921)Improved plasma kinetics calculations based on electron collision cross sections, including the addition of a two-term Boltzmann equation solver (#1731, #1854, #1887, #1953,
nanosecond_pulse_discharge.py)Generalized the hybrid time/stepping steady-state solver used for 1D flames to also be used for reactor networks (#1836, #1907,
combustor.py)Major updates to the new Matlab toolbox, including addition of a significant unit test suite (#1665, #1881, #1911, #1868, #1997, Matlab Example Gallery)
New features#
Introduce
high-pressure-Chungmodel for high pressure gas transport properties, and improve documentation and testing of the existinghigh-pressuretransport model (#1704,high_pressure_transport.py)Add type annotations to the Python module using stub (
.pyi) files (#1926, #2019, #2024)Add Soret model for mixture-averaged diffusion (#1930,
adiabatic_flame.py)Allow Unicode volume units (m³) in YAML input (#1989)
Changes to existing capabilities#
Remove features deprecated in Cantera 3.1 (#1833)
Simplify calculation of molar mixture properties (#1837)
Make
IndexErrorandArraySizeErrorconsistent (#1851)[C++] Provide const access to falloff rate parameters (#1857)
Introduce
ConnectorNodeas a common base class for devices connecting zero-D reactors (#1848)Refactor
ReactorSurfaceto inherit fromReactorBase(#1864, #1955)Simplify logger setup and eliminate per-thread logging (#1904)
Improve .NET Interface Interop layer (#1906)
Improve support for compiling with MPI compiler wrappers (#1918, #1933)
Make imports of external Python modules private (#1948)
Consolidate Gaussian functors used in examples (#1951)
Restore previous
ThermoPhasestate after encountering an error setting the state (#1981)Revise methods for accessing state from
Sim1D/Domain1Dto be more consistent withSolutionArray(#1995, #2008)Make index lookups more robust (#2010)
Use
phaseas name ofReactormember variable / getter for accessing theSolutionobject representing its contents (#2001, #2002)Improve exceptions for
speciesName(index)and similar methods (#2014)Deprecate
ReactorBase::addThermo(#1966)Deprecate
LatticePhaseandLatticeSolidPhase(#1959)Deprecate Python
Arrheniusclass in favor ofArrheniusRate(#1978)Deprecate legacy convenience headers (#1984)
Deprecate legacy
Domain1Dconstructors based on rawThermoPhasepointers (#2003)Handle removal of
numpy.trapz(#2015)Expanded automated CI testing and other CI maintenance (#1844, #1861, #1862, #1875, #1891, #1908, #1909, #1913, #1914, #1952, #1962, #1993, #2012)
Various documentation updates (#1831, #1853, #1866, #1884, #1901, #1939, #1945, #1958, #1969, #1983)
Various build system updates (#1828, #1890, #1960, #1972, #1973)
Fix some compiler/Python warnings (#1834, #1850, #1946, #2020)
Maintenance of the sdist / PyPI packages (#1915, #1919, #1982)
Bugs fixed#
Fix using Python
SolutionArray.appendwith different keyword argument orders (#1840)Fix transport model selection when initializing 1D flame from
SolutionArray(#1841)Fix
ck2yamlhandling of unnamed surfaces (#1876)Fix isotropic electron energy distribution expression in
PlasmaPhase(#1858)Fix handles in .NET interface (#1894)
Fix layout of
multi_diff_coeffsmatrix in Python (#1899)Fix reaction balance check for elements with negative abundances (#1917)
Update duplicate reaction labels when serializing (#1923)
Fix inlet initialization in continuous reactor example (#1944)
Fix flow reactor visualization for bi-directional mass flows (#1949)
Fix
SolutionArray.read_csvwhen using Pandas 3.x (#1956)Fix and simplify options for solving electric field/ion diffusion in 1D flames (#1961)
Fix handling of falloff reactions with extra apparent third body (#1965)
Fix 1D flame auto-solve after restoring from Pandas (#1967)
Fix introspection of key names in
AnyMapgenerated from Python (#1979)Fix
lxcat2yamlfor empty product case (#1988)Fix surface density/concentration calculation for multi-site species (#2016)
Fix conservation of mass fraction sum in FlowReactor (#2018)
Fix Python units function that returned
bytesinstead ofstr(#2017)
Contributors#
This release was made possible by the following contributors: @BangShiuh, @bryanwweber, @burkenyo, @cwillits123, @etsandall, @g3bk47, @ischoegl, @itnonaka, @mquiram, @mruijzendaal, @nicolasbarleon, @QuentinMale, @rwest, @speth, @ssun30, @TimothyEDawson, @wandadars