Cantera 2.6.0

Published on May 1, 2022 | Full release on Github

The Cantera development team is pleased to announce the availability of Cantera 2.6.0. There have been over 1400 commits to Cantera since the last version, 2.5.1, which was released in February 2021. We have closed or merged 162 pull requests and closed 101 issues.

New features, bug fixes, and other changes

Highlights

New features

  • Simplify creation of interface phases and their adjacent bulk phases (#1169, #1247)
  • Add Tsang "falloff" function #1090
  • Add option to allow unnormalized and/or negative mass/mole fractions in SolutionArray / 1D flame importers #1037
  • Added access functions to polynomial fits of gas transport properties #817, #1077
  • Add dilution options to equivalence ratio functions in Python #1206
  • Make rate coefficient and standard concentration units available in Python #1076
  • Add creation of Species from Python dict #1179
  • Add thermal conductivity to DustyGas in Python #988
  • Add set_mixture_fraction method to SolutionArray #1242
  • Exposed some additional functions to the Fortran interface #1154
  • New C++ custom ODEs example #922
  • Added a Python version of the Matlab lithium ion battery example #1263
  • Add support for Sundials 6.0 #1162

Changes to existing capabilities

  • Use YAML for saving and loading 1D flame simulations, replacing the XML output format #1112, #1140
  • Use normal sign convention for reactor heat transfer #1156
  • Separate third-body concentration term from rate constant for three body reactions #1084
  • Translate C++ warnings to Python #1201
  • Refactor SCons option handling and automatically extract compilation options for website documentation #1137
  • Automatically use dependencies from and install into an active Conda environment #1191
  • Include header description in when converting from CTI to YAML #1205
  • Use of deprecated XML or CTI formats now actively issues warnings #1159
  • Support legacy ruamel.yaml loaders #1060
  • Update examples to use "h2o2.yaml" instead of GRI 3.0 #1109
  • Prevent inadvertent attribute assignment in Quantity #1124
  • Fix issues with composition strings and kinetics model of "None" in cti2yaml #1127
  • Deprecate shell setup scripts (setup_cantera) #1189
  • Replace deprecated yaml.safe_load / simplify paths #1049
  • Read YAML using C++ newSolution in Python / access root level data #1129
  • Improve YAML formatting of floating point values and multiline strings #1133
  • Automatically detect unspecified third-body collision partners #1015
  • Various compilation, build system, and test infrastructure updates #979, #994, #1000, #1004, #1012, #1020, #1025, #1034, #1043, #1056, #1062, #1145, #1158, #1102, #1119, #1122, #1144. #1167, #1172, #1176, #1178, #1197, #1208, #1222, #1229, #1241, #1268
  • Various documentation updates #983, #1002, #1022, #1032, #1045, #1065, #1121, #1142, #1152, #1196, #1200, #1227, #1231, #1234, #1249, #1255, #1264

Bugs fixed

  • Fix Redlich-Kwong partial molar properties #1218
  • Fix pressure dependence in IdealSolidSolnPhase::getPartialMolarEnthalpies #1087
  • Fix evaluation of delta-star polynomials #1125
  • Consistently use physical concentrations when calculating third body and falloff reaction rates, for both specifically enumerated efficiencies and generic third body colliders #968
  • Add check for sticking coefficient more than 1 #1038
  • Fix typo in equivalenceRatio.py that resulted in printing wrong results #1173
  • Fix memory error when deallocating Python reaction rate wrappers #1030
  • Prevent segmentation fault when initializing standalone Reactor objects #1063
  • Fix extinction temperature definition in diffusion_flame_extinction.py example #1066
  • Fix handling of 'CK_Multi' transport model in flame simulations #1069
  • Fix issues with import of SolutionArray from CSV #1074
  • Fix SolutionArray.append #1086
  • Fix 1D solver errors when reporting singular Jacobian and use of non-default tolerances after automatic grid expansion #1103
  • Suppress output from setEnergy.m #1106
  • Fix using reactors with both surface and gas phase chemistry with YAML input #981
  • Fix saving 1D output when radiative_heat_loss is enabled #993
  • Fix CTI to YAML conversion for transport='None' #997
  • Fix handling of CK mechanisms with '+M' in PLOG reaction equations #1252
  • Fix detection of skipped/undeclared species in three body reactions #1027
  • Fix invalid unchecked cast to StFlow #1226
  • Fix SolutionArray extra slice #1204
  • Check for valid component name when setting reactor advance limits #1215
  • Fix incorrect temperature bounds and missing entries in NASA_condensed.yaml #1248, #1250
  • Fix logic error in CanteraTest.assertNear #1120
  • Fix various compilation / installation issues #980, #1011, #1052, #1057, #1100, #1105, #1107, #1110, #1116, #1123, #1148, #1161, #1168, #1171, #1265

The complete list of changes can be found on the Cantera Wiki page: github.com/Cantera/cantera/wiki/Cantera-2.6.0-Changelog

Installation

Instructions for installing Cantera 2.6 are available on the Cantera website. Available options include Conda; pip; native installers for Windows and macOS; packages for Ubuntu, Fedora/Enterprise Linux, Gentoo, and FreeBSD; and compiling from source.

Contributors

This release was made possible by the following contributors: @anthony-walker, @band-a-prend, @BangShiuh, @blackrabbit17, @bryanwweber, @12Chao, @chinahg, @DavidAkinpelu, @d-e-t, @decaluwe, @dschmider-HSOG, @g3bk47, @gkogekar, @ischoegl, @jongyoonbae, @lavdwall, @leesharma, @mefuller, @paulblum, @santoshshanbhogue, @speth, @stijn76, @tpg2114