Cantera 2.5.1

Published on February 12, 2021 | Full release on Github

The Cantera development team is pleased to announce the availability of Cantera 2.5.1. There have been 1000 commits to Cantera since the release of Cantera 2.4.0 in August 2018. We have closed or merged more than 250 pull requests and 100 issues. The complete list of changes can be found on the Cantera Wiki page, and a summary of new features, changes, and bugs fixed in this release is included below, with links to the associated Pull Requests on GitHub.

Cantera 2.5 introduces a new input file format, based on the YAML data format. This format supersedes the CTI and XML (sometimes called CTML) formats that Cantera has used for many years. Converter scripts from CTI and XML to YAML (cti2yaml and ctml2yaml), as well as from CHEMKIN (CK) format to YAML (ck2yaml), are provided with this release. You can use these scripts in the same way that the old ck2cti script was used. All users are encouraged to switch their input files to the new format.

Instructions for installing Cantera 2.5 are available on the Cantera website. Available options include Conda, native installers for Windows and macOS, Ubuntu packages, and compiling from source.

Thank you to the following contributors to Cantera 2.5:

@12Chao, @agarwalrounak, @arghdos, @band-a-prend, @BangShiuh, @bryanwweber, @CyberDrudge, @decaluwe, @dholland88, @g3bk47, @inducer, @ischoegl, @jsantner, @korffdm, @kyleniemeyer, @lavdwall, @lionkey, @manikmayur, @mgashwinkumar, @paulblum, @rwest, @sameshl, @sin-ha, @speth, @spinnau, @ThanasisMattas, @tsikes, @wbessler

New Features:

  • Added a new, YAML-based input file format (#584, #663, #664, #671, #693, #707, #708, #716, #723, #738, #750, #764, #768, #773, #784, #794, #795, #813, #855, #857, #866, #869, #880, #897, #899, #961, #970, #941, #974)
  • Add interface for reading and writing 1D Flame and SolutionArray objects from/to HDF5 files (#680, #687, #805, #840, #860, #871, #900, #943, #931)
  • Add BinarySolutionTabulatedThermo class, which implements implements tabulated standard state thermodynamics in a binary solution. (#563, #606, #637, #640, #725)
  • Introduce C++ Solution class to simplify creation of coupled ThermoPhase, Kinetics, and Transport objects (#696, #735)
  • Determine Redlich-Kwong parameters from a database of critical property data (#574, #576, 33e198f7e527dee6a97869d6677d2da9b58247b1, ebb93cb5a23591ca3badb186940e5b1a89e8a411)
  • Make transport property calculations available for pure fluid water phases (#558)
  • Make InterfaceKinetics.advance_coverages_to_steady_state available in the Python interface (#592, #610)
  • Add functions for returning the phase of matter for ThermoPhase objects (#722, #839)
  • Add new ReactorNet::advanceTowards method to combine benefits of both the 'step' and 'advance' methods; see 'reactor3.py' example (#629, #756)
  • Enable setting the maximum number of CVODEs steps in the Python interface (#581)
  • Add factories for FlowDevice and Wall objects, to enable creation of user-defined derived classes (#632)
  • Allow classes derived from StFlow to have additional state variables (#624)
  • Add wrappers to make "piecewise-Gibbs" and "NASA9" species thermo objects accessible in Python (#711)
  • Add set_equivalence_ratio function to SolutionArray objects (#677)
  • Add ability to sort SolutionArray objects (#688)
  • Support use of Sundials versions up to 5.7 (5e226535de33a73dd59429eb54ef5d157d0afaa1, #672, #780, #814, #974)
  • Add functions for setting species aliases and finding isomers (#714, #876)
  • Added 'warn_user' function as a consistent way of issuing warnings from C++ (#741)
  • Add get/set equivalenceRatio/mixtureFraction functions to C++ (#851)
  • Make getDeltaEnthalpies available in the Matlab interface (#659)
  • Add 'TabulatedFunction' class for providing time-varying reactor inputs specified by tabular input (#797)
  • Add plug flow reactor example in MATLAB (#701)
  • Make liquid-water-IAPWS95 available as a phase model (#921)
  • Make species charge information available in Python (#863)
  • Add 'kinetics_species_name' and 'kinetics_species_names' functions to Python interface (5601ee906741a539b8316ad9dad0cc7dbf4d6d68)
  • Added 'list_data_files' function to Python module (#589)
  • Add 'fast_fail_tests' option to SCons (#772)
  • Add some functions which were missing from the Fortran interface (#828, #858, #870)
  • Provide const versions of certain functions (#850, 9aa507a0988e9b12724f1c25ef23a67f4b04cd27)
  • Expand '~' as user homedir shortcut when adding data directories (ca8700fdd406f148dd27bb238fc748f00ede69f4)

Changes to existing features:

Bugs fixed:

Documentation updates: