Recent Releases of cantera
cantera - Cantera 3.1.0
The Cantera development team is pleased to announce the availability of Cantera 3.1.0. There have been over 800 commits to Cantera since the last version, 3.0.0, which was released in August 2023. We have closed or merged 128 pull requests and closed 81 issues and 24 enhancement proposals. Instructions for installing Cantera 3.1 are available on the Cantera website.
Highlights
- Render examples using Sphinx-gallery (#1621, #1681, #1724, #1821, E#88)
- Added visualizations of reactor networks; see mix1.py and reactor2.py (E#180, #1624, #1714, #1792, E#212)
- Added ability to solve diffusion flames on the unstable branch using control of the temperature at two interior points; see diffusionflamecontinuation.py (#1622, #1779, #1813)
- Added the linear-Burke reaction rate parameterization which models pressure-dependent reactions with collider-specific behavior; see shock_tube.py, jetstirredreactor.py, and flame_speed.py (E#157, #1710, #1801)
- Major expansion of documentation for contributing to Cantera and understanding its internal workings (E#25, #1700, #1757, #1786)
- Update website structure to keep all version-specific documentation together and simplify URLs (E#145, E#146, #1631, #1638, #1647, #1657, #1657, #1737, #1766, #1790)
- Significant refactoring of the
clibinterface, which is now declared experimental and subject to API changes without receiving deprecation warnings. (E#211, E#199, #1741, #1752, #1760, #1769, #1773, #1780)
New features
- Add electron collision reactions (C++ class ElectronCollisionPlasmaRate) based on cross section data from the LXCat database; see plasma.py (#1262)
- Added an example demonstrating a 1D packed-bed reactor; see 1Dpackedbed.py (E#43)
- Added option to compute diffusive fluxes using mass fraction gradients in the 1D solver (E#195, #1668)
- Expose Peng-Robinson EoS parameters to Python interface (#1664)
- Created a new repository to clearly identify example input data and allow use of larger, more detailed mechanisms (E#22, #1689)
- Add HDF5 support to PyPI packages (E#205, (#1727)
- Add stack trace option to
CanteraErrorfor enhanced debugging (#1730) - Enable cross compiling support without patches to simplify some package builds (E#210, #1749)
- Add support for Python 3.12 (#1604, #1648, #1716)
- Add compatibility with SUNDIALS 7.0 (#1672)
- Add compatibility with NumPy 2.0 (#1706, #1713)
- Support compilation in C++20 mode (#1739)
- Automatically adjust temperature bounds for low-temperature flames (#1684, #1705)
- Add BLAS/LAPACK support for PyPI packages on Linux and macOS (#1797)
- Add programmatic access to logging information about transport property fits (#1824)
Changes to existing capabilities
- Refactored implementation of 1D flame governing equations (#1595, #1619)
- Improvements to 1D solver logging (#1660, #1759)
- Significant improvements to error messages reported when converting mechanisms using
ck2yaml(#1669, #1736) - Improved handling of edge cases involving third body colliders and “duplicate” reactions (#1696)
- Improve distinction between selecting
noneanddefaulttransport models (#1680, #1705) - Improve error message for flames initialized with bad boundary conditions (#1694, #1705)
- Disallow redundant flame grid specification (#1693, #1705)
- Simplify YAML input for extensible interface reactions (#1709)
- Improve consistency of
Func1API between Matlab and Python interfaces (#1758, #1798) - Use
Solutionobjects to store reactor contents (#1663, #1685) - Move locks that prevent adding species to
ThermoPhaseobjects that are in use from Python to C++ (#1686) - Use Jinja templates in C#
sourcegen(#1785) - Update
ck2yamlto useargparse(#1616) - Make names generated for reactor network objects reproducible (#1765)
- Make generated sources and error messages deterministic (#1804)
- Remove features deprecated in Cantera 3.0. (#1605)
- Remove legacy Matlab toolbox (E#196, #1670, #1688)
- Remove
python_minimalinterface (E#208, #1745) - Expanded automated CI testing and other CI maintenance (#1608, #1612, #1630, #1652, #1662, #1671, #1677, #1703, #1738, #1752, #1808, #1815, #1818)
- Various documentation updates (#1618, #1659, #1702, #1795, #1803, #1807, #1810, #1817, #1826)
- Various build system updates (#1723, #1746, #1750, #1755, #1768, #1782, #1791, E#209, #1820)
- Fix some compiler warnings (#1729)
- Maintenance of the sdist / PyPI packages (#1625, #1708, #1796)
- Address some website accessibility issues (E#41, #1753)
- Complete transition of the Python test suite to use
pytestinstead of theunittestmodule (#1793) - Update generated
CMakeLists.txtfiles (#1742, #1744) - Provide better error checking and messages in Python
Quantityclass (#1816) - Improve error handling with cubic equation solver used for Redlich-Kwong and Peng-Robinson phases (#1819)
Bugs fixed
- Fix missing porosity in
PorousMediaBurner.py(#1617) - Fix various issues in the experimental Matlab toolbox and add missing functions (#1586, #1701, #1761)
- Fix converting surface mechanisms that use a separate thermo data file (#1637)
- Use midpoint properties for diffusion fluxes in 1D solver (E#187, #1626)
- Fix access to
Solutionreport when usingwith_units(#1650) - Prevent segfaults from accessing partially-constructed reactor objects (#1661)
- Fix setting diffusion flame initial guess from known data (#1674, #1705)
- Fix issues with slicing
SolutionArray(#1725, #1726) - Fix
yaml2ckhandling of multilinenotefields and phases with no reactions (#1733) - Fix a memory leak when reinitializing a reactor using the GMRES sparse solver (#1732)
- Fix YAML serialization of changes to reaction/species flags with default values that are normally omitted (#1629, #1740)
- Fix serialization of
notefields that can be erroneously interpreted as integers (#1610, #1740) - Fix YAML serialization of multiline strings (#1695, #1740)
- Fix garbage collection-related segfault with
CustomRate(#1763) - Fix compatibility with SUNDIALS 6.0 and 6.1 (#1774)
- Fix overwriting and ordering of components when outputting
SolutionArrayto YAML (#1775, #1781) - Fix use of
kineticsSpeciesIndexindiamond_cvdexamples (#1814) - Fix spatial scaling in
MultiTransport::getMassFluxesandgetMolarFluxesand improve testing of transport calculations (#1825)
Contributors
This release was made possible by the following contributors: @BangShiuh, @Naikless, @bryanwweber, @corykinney, @cpilko, @d-e-t, @decaluwe, @dholland88, @g3bk47, @guusbertens, @ischoegl, @keszybz, @martey, @matthiasdiener, @mefuller, @pjsingal, @speth, @ssun30, @wandadars
- C++
Published by speth about 1 year ago
cantera - Cantera 3.1.0b1
The Cantera development team is pleased to announce the availability of Cantera 3.1.0b1. There have been over 1400 commits to Cantera since the last version, 3.0.0, which was released in August 2023. We have closed or merged 112 pull requests and closed 75 issues and 23 enhancement proposals. Instructions for installing Cantera 3.1 are available on the Cantera website.
Highlights
- Render examples using Sphinx-gallery (#1621, #1681, #1724, E#88)
- Added visualizations of reactor networks; see mix1.py and reactor2.py (E#180, #1624, #1714, #1792, E#212)
- Added ability to solve diffusion flames on the unstable branch using control of the temperature at two interior points; see diffusionflamecontinuation.py (#1622, #1779)
- Added the linear-Burke reaction rate parameterization which models pressure-dependent reactions with collider-specific behavior; see shock_tube.py, jetstirredreactor.py, and flame_speed.py (E#157, #1710, #1801)
- Major expansion of documentation for contributing to Cantera and understanding its internal workings (E#25, #1700, #1757, #1786)
- Update website structure to keep all version-specific documentation together and simplify URLs (E#145, E#146, #1631, #1638, #1647, #1657, #1657, #1737, #1766, #1790)
- Significant refactoring of the clib interface, which is now declared experimental and subject to API changes without receiving deprecation warnings. (E#211, E#199, #1741, #1752, #1760, #1769, #1773, #1780)
New features
- Add electron collision reactions (C++ class ElectronCollisionPlasmaRate) based on cross section data from the LXCat database; see plasma.py (#1262)
- Added an example demonstrating a 1D packed-bed reactor; see 1Dpackedbed.py (E#43)
- Added option to compute diffusive fluxes using mass fraction gradients in the 1D solver (E#195, #1668)
- Expose Peng-Robinson EoS parameters to Python interface (#1664)
- Created a new repository to clearly identify example input data and allow use of larger, more detailed mechanisms (E#22, #1689)
- Add HDF5 support to PyPI packages (E#205, (#1727)
- Add stack trace option to CanteraError for enhanced debugging (#1730)
- Enable cross compiling support without patches to simplify some package builds (E#210, #1749)
- Add support for Python 3.12 (#1604, #1648, #1716)
- Add compatibility with SUNDIALS 7.0 (#1672)
- Add compatibility with NumPy 2.0 (#1706, #1713)
- Support compilation in C++20 mode (#1739)
- Automatically adjust temperature bounds for low-temperature flames (#1684, #1705)
Changes to existing capabilities
- Refactored implementation of 1D flame governing equations (#1595, #1619)
- Improvements to 1D solver logging (#1660, #1759)
- Significant improvements to error messages reported when converting mechanisms using ck2yaml (#1669, #1736)
- Improved handling of edge cases involving third body colliders and “duplicate” reactions (#1696)
- Improve distinction between selecting none and default transport models (#1680, #1705)
- Improve error message for flames initialized with bad boundary conditions (#1694, #1705)
- Disallow redundant flame grid specification (#1693, #1705)
- Simplify YAML input for extensible interface reactions (#1709)
- Improve consistency of Func1 API between Matlab and Python interfaces (#1758, #1798)
- Use Solution objects to store reactor contents (#1663, #1685)
- Move locks that prevent adding species to ThermoPhase objects that are in use from Python to C++ (#1686)
- Use Jinja templates in C# sourcegen (#1785)
- Update ck2yaml to use argparse (#1616)
- Make names generated for reactor network objects reproducible (#1765)
- Make generated sources and error messages deterministic (#1804)
- Remove features deprecated in Cantera 3.0. (#1605)
- Remove legacy Matlab toolbox (E#196, #1670, #1688)
- Remove python_minimal interface (E#208, #1745)
- Expanded automated CI testing and other CI maintenance (#1608, #1612, #1630, #1652, #1662, #1671, #1677, #1703, #1738, #1752)
- Various documentation updates (#1618, #1659, #1702, #1795, #1803)
- Various build system updates (#1723, #1746, #1750, #1755, #1768, #1782, #1791, E#209)
- Fix some compiler warnings (#1729)
- Maintenance of the sdist / PyPI packages (#1625, #1708, #1796)
- Address some website accessibility issues (E#41, #1753)
- Complete transition of the Python test suite to use pytest instead of the unittest module (#1793)
- Update generated CMakeLists.txt files (#1742, #1744)
Bugs fixed
- Fix missing porosity in PorousMediaBurner.py (#1617)
- Fix various issues in the experimental Matlab toolbox and add missing functions (#1586, #1701, #1761)
- Fix converting surface mechanisms that use a separate thermo data file (#1637)
- Use midpoint properties for diffusion fluxes in 1D solver (E#187, #1626)
- Fix access to Solution report when using with_units (#1650)
- Prevent segfaults from accessing partially-constructed reactor objects (#1661)
- Fix setting diffusion flame initial guess from known data (#1674, #1705)
- Fix issues with slicing SolutionArray (#1725, #1726)
- Fix yaml2ck handling of multiline note fields and phases with no reactions (#1733)
- Fix a memory leak when reinitializing a reactor using the GMRES sparse solver (#1732)
- Fix YAML serialization of changes to reaction/species flags with default values that are normally omitted (#1629, #1740)
- Fix serialization of note fields that can be erroneously interpreted as integers (#1610, #1740)
- Fix YAML serialization of multiline strings (#1695, #1740)
- Fix garbage collection-related segfault with CustomRate (#1763)
- Fix compatibility with SUNDIALS 6.0 and 6.1 (#1774)
- Fix overwriting and ordering of components when outputting SolutionArray to YAML (#1775, #1781)
- C++
Published by speth over 1 year ago
cantera - Cantera 3.0.0
The Cantera development team is pleased to announce the availability of Cantera 3.0.0. There have been over 1400 commits to Cantera since the last version, 2.6.0, which was released in May 2022. We have closed or merged 192 pull requests and closed 111 issues. Instructions for installing Cantera 3.0 are available on the Cantera website.
Highlights
- Major performance enhancements for reactor network calculations with large kinetic mechanisms. This comes from a new formulation for the reactor governing equations using species moles (rather than mass fractions) used together with a sparse, iterative solver in the ODE integrator that makes use of a semi-analytical Jacobian. (
preconditioned_integration.py, #1010, #1344, #1363, #1377, #1411) - Introduce
ExtensibleRatePython class that can be used to implement new reaction rate parameterizations in Python, with parameters defined in YAML input files. These rate types can be used even when the main user application is not written in Python. (classExtensibleRate,custom_reactions.py, #1382, #1417, #1456, #1478, #1494, #1499) - Introduce a C++
SolutionArrayclass, which is now used as the backend for the PythonSolutionArrayclass (E#137, #1385, #1426, #1458, #1462, #1464, #1508, #1520, #1547, #1585) - Add "native" support for HDF5 as an input/output format for
SolutionArrayand 1D flames (E#166,flame_initial_guess.py) - Add a new thermo model,
coverage-dependent-surfacefor representing surfaces where the enthalpy, entropy, and heat capacity of each species may depend on its coverage and the coverage of other species in the phase. (classCoverageDependentSurfPhase, E#59, #1135, #1471, #1529, #1583) - Add support for surface chemistry to the plug flow reactor model (classs
FlowReactor,1D_pfr_surfchem.py,surf_pfr.py, #1490) - Add support for using real gas models (Redlich-Kwong and Peng-Robinson) with the 1D flame solver (E#109, #1079)
- Introduction of the
yaml2ckscript, which converts Cantera's YAML mechanism format into the legacy Chemkin format. (yaml2ck.py, E#52, #1286, #1365, #1420) - Add an experimental Python module where Cantera returns dimensional values as quantities using the
pintpackage. This is currently available only for thermo methods (modulecantera.with_units,isentropic_units.py,rankine_units.py,sound_speed_units.py, E#3, #991, #1569) - Preview release of a new Matlab toolbox, with a rewritten API that makes use of modern Matlab features and replaces the difficult-to-maintain MEX-file based backend with one based on using
calllibto interact directly with the Cantera C interface. (For the adventurous, seeREADME.md, E#32, #1182, #1496, #1498) - Preview release of a new C# interface. See
README.mdfor more on what's implemented and how to contribute (#1331, #1401)
Additional new features
(click here to expand)
- Add support for polynomial dependency of activation energy on surface species coverages ([documentation](https://cantera.org/documentation/docs-3.0/sphinx/html/yaml/reactions.html#interface-arrhenius), [#1495](https://github.com/Cantera/cantera/pull/1495))
- Add speed of sound property to `ThermoPhase` objects ([`sound_speed.py`](https://cantera.org/examples/python/thermo/sound_speed.py.html), [#1491](https://github.com/Cantera/cantera/pull/1491))
- Implemented isothermal compressibility and thermal expansion coefficient calculations for Redlich-Kwong and Peng-Robinson equations of state ([E#122](https://github.com/Cantera/enhancements/issues/122), [#1421](https://github.com/Cantera/cantera/pull/1421))
- Add `interfaceCurrent` (C++) and `interface_current` methods to `Kinetics` objects ([#1398](https://github.com/Cantera/cantera/pull/1398))
- Add molecular weight attribute to `Species` objects ([#1266](https://github.com/Cantera/cantera/pull/1266))
- Add `set_equivalence_ratio` and `set_mixture_fraction` methods to Python `Quantity` objects ([#1517](https://github.com/Cantera/cantera/pull/1517))
- Add array size methods to Python `SolutionArray` class ([#1284](https://github.com/Cantera/cantera/pull/1284))
- Add `Solution` class to `clib` ([#1448](https://github.com/Cantera/cantera/pull/1448), [#1600](https://github.com/Cantera/cantera/pull/1600))
- Introduce factory for creating 1D domains (`newDomain` in C++, `domain_new` in `clib`) ([#1445](https://github.com/Cantera/cantera/pull/1445))
- Introduce factory for creating functor objects (`newFunc1` in C++; `func_new_basic`, `func_new_advanced`, `func_new_compound`, and `func_new_modified` in `clib`; and `Func1.cxx_functor` in Python) ([documentation](https://cantera.org/documentation/docs-3.0/doxygen/html/dc/d4c/group__func1.html), [#1513](https://github.com/Cantera/cantera/pull/1513), [#1521](https://github.com/Cantera/cantera/pull/1521))
- Provide a more complete interface to the C++ `Units` class in Python ([#1285](https://github.com/Cantera/cantera/pull/1285))
- Add a sample program demonstrating the use of the Cantera C interface, `clib` ([#1454](https://github.com/Cantera/cantera/pull/1454))
- Add an example of modelling a porous media burner using the `ExtensibleReactor` class ([`PorousMediaBurner.py`](https://cantera.org/examples/python/reactors/PorousMediaBurner.py.html), [#1443](https://github.com/Cantera/cantera/pull/1443))
- Add an example demonstrating saving and loading of 1D flame simulations and restarting with different initial guesses ([`flame_initial_guess.py`](https://cantera.org/examples/python/onedim/flame_initial_guess.py.html), [#1293](https://github.com/Cantera/cantera/pull/1293))
- The test suite now includes a comprehensive set of thermodynamic consistency tests for all phase models ([E#114](https://github.com/Cantera/enhancements/issues/114), [#1299](https://github.com/Cantera/cantera/pull/1299), [#1501](https://github.com/Cantera/cantera/pull/1501))
- Consolidate literature references in the C++ documentation into a [bibliography](https://cantera.org/documentation/docs-3.0/doxygen/html/d0/de3/citelist.html) ([#1550](https://github.com/Cantera/cantera/pull/1550), [#1575](https://github.com/Cantera/cantera/pull/1575))
- Enable linking to the Cantera shared library on Windows ([E#140](https://github.com/Cantera/enhancements/issues/140), [#1429](https://github.com/Cantera/cantera/pull/1429))
- Split up compilation of the Python module to allow parallel builds and faster incremental builds ([#1334](https://github.com/Cantera/cantera/pull/1334), [#1484](https://github.com/Cantera/cantera/pull/1484))
- Automatically detect and use optimized BLAS/LAPACK libraries when compiling ([E#144](https://github.com/Cantera/enhancements/issues/144), [#1316](https://github.com/Cantera/cantera/pull/1316))
- Add new `core.h` header file to simplify required includes for high-level Cantera usage ([`demo.cpp`](https://cantera.org/examples/cxx/demo.html), [#1238](https://github.com/Cantera/cantera/pull/1238))
- Added support for Python 3.11 and dropped support for Python 3.7 ([#1326](https://github.com/Cantera/cantera/pull/1326), [#1406](https://github.com/Cantera/cantera/pull/1406), [#1467](https://github.com/Cantera/cantera/pull/1467))
- Added support for SUNDIALS versions up to 6.6.0 and dropped support for SUNDIALS 2.x ([#1341](https://github.com/Cantera/cantera/pull/1341), [#1570](https://github.com/Cantera/cantera/pull/1570))
- Add support for building MATLAB toolbox on Apple Silicon ([#1524](https://github.com/Cantera/cantera/pull/1524))
- Added SCons option to set `AR` (for example, to use `llvm-ar` instead of `ar`) ([#1424](https://github.com/Cantera/cantera/pull/1424))
Changes to existing capabilities
(click here to expand)
- `BulkKinetics` now handles kinetics for any bulk phase, given the appropriate reaction rate parameterizations. As a result, `GasKinetics` is deprecated in favor of `BulkKinetics` ([#1483](https://github.com/Cantera/cantera/pull/1483))
- Rename C++ phase setter mnemonics to use `D` for density instead of `R` for rho, for example `setState_TR` is deprecated in favor of `setState_TD` ([#1433](https://github.com/Cantera/cantera/pull/1433))
- Introduce properties for certain reactor features in Python and deprecate the old getter/setter methods. `ReactorNet.initial_time` replaces `ReactorNet.set_initial_time()`, `Wall.velocity` replaces `Wall.set_velocity()`, `Wall.heat_flux` replaces `Wall.set_heat_flux()`, `Wall.expansion_rate` replaces `wall.vdot`, `Wall.heat_rate` replaces `wall.qdot()`, `Valve.time_function` replaces `Valve.set_time_function()`, `MassFlowController.pressure_function` replaces `MassFlowController.set_pressure_function()` and `PressureController.primary` replaces `PressureController.set_master()` ([E#160](https://github.com/Cantera/enhancements/issues/160), [#1515](https://github.com/Cantera/cantera/pull/1515))
- Improve ability to find non-extinct diffusion flames when using the "auto" solver mode ([E#155](https://github.com/Cantera/enhancements/issues/155), [#1463](https://github.com/Cantera/cantera/pull/1463))
- Guard against combining Python `Quantity` objects at constant enthalpy and pressure if their pressures aren't equal ([#1517](https://github.com/Cantera/cantera/pull/1517))
- Allow transport geometry flags in Chemkin input files that are formatted as floating point values ([#1396](https://github.com/Cantera/cantera/pull/1396))
- Disable irrelevant warnings for extinct diffusion flames ([#1336](https://github.com/Cantera/cantera/pull/1336))
- Moved Python test suite and examples out of the Python module; they are no longer installed as part of the Cantera Python package. ([E#51](https://github.com/Cantera/enhancements/issues/51), [#1352](https://github.com/Cantera/cantera/pull/1352), [#1354](https://github.com/Cantera/cantera/pull/1354))
- Drop support for generating `Makefile`s for samples ([#1380](https://github.com/Cantera/cantera/pull/1380))
- Drop support for compiling in Cygwin ([E#134](https://github.com/Cantera/enhancements/issues/134), [#1367](https://github.com/Cantera/cantera/pull/1367))
- Migrate to C++17 standard, make use of modern C++ features, and make various style improvements to the C++ code ([E#181](https://github.com/Cantera/enhancements/issues/181), [E#184](https://github.com/Cantera/enhancements/issues/184), [#1246](https://github.com/Cantera/cantera/pull/1246), [#1327](https://github.com/Cantera/cantera/pull/1327), [#1346](https://github.com/Cantera/cantera/pull/1346), [#1438](https://github.com/Cantera/cantera/pull/1438), [#1441](https://github.com/Cantera/cantera/pull/1441), [#1452](https://github.com/Cantera/cantera/pull/1452), [#1507](https://github.com/Cantera/cantera/pull/1507), [#1565](https://github.com/Cantera/cantera/pull/1565), [#1568](https://github.com/Cantera/cantera/pull/1568), [#1571](https://github.com/Cantera/cantera/pull/1571), [#1589](https://github.com/Cantera/cantera/pull/1589))
- Numerous improvements to the organization and formatting of the Doxygen and Sphinx documentation, in part by using `doxygen-awesome` and the PyData Sphinx theme([E#115](https://github.com/Cantera/enhancements/issues/115), [E#175](https://github.com/Cantera/enhancements/issues/175), [E#179](https://github.com/Cantera/enhancements/issues/179), [#1279](https://github.com/Cantera/cantera/pull/1279), [#1427](https://github.com/Cantera/cantera/pull/1427), [#1518](https://github.com/Cantera/cantera/pull/1518), [#1534](https://github.com/Cantera/cantera/pull/1534), [#1541](https://github.com/Cantera/cantera/pull/1541), [#1543](https://github.com/Cantera/cantera/pull/1543), [#1546](https://github.com/Cantera/cantera/pull/1546), [#1551](https://github.com/Cantera/cantera/pull/1551), [#1557](https://github.com/Cantera/cantera/pull/1557), [#1558](https://github.com/Cantera/cantera/pull/1558), [#1559](https://github.com/Cantera/cantera/pull/1559), [#1561](https://github.com/Cantera/cantera/pull/1561), [#1562](https://github.com/Cantera/cantera/pull/1562), [#1563](https://github.com/Cantera/cantera/pull/1563), [#1567](https://github.com/Cantera/cantera/pull/1567), [#1572](https://github.com/Cantera/cantera/pull/1572), [#1573](https://github.com/Cantera/cantera/pull/1573), [#1582](https://github.com/Cantera/cantera/pull/1582), [#1581](https://github.com/Cantera/cantera/pull/1581), [#1584](https://github.com/Cantera/cantera/pull/1584), [#1590](https://github.com/Cantera/cantera/pull/1590))
- Various improvements to the SCons build system ([#1268](https://github.com/Cantera/cantera/pull/1268), [#1307](https://github.com/Cantera/cantera/pull/1307), [#1351](https://github.com/Cantera/cantera/pull/1351), [#1360](https://github.com/Cantera/cantera/pull/1360), [#1404](https://github.com/Cantera/cantera/pull/1404), [#1470](https://github.com/Cantera/cantera/pull/1470), [#1472](https://github.com/Cantera/cantera/pull/1472), [#1509](https://github.com/Cantera/cantera/pull/1509), [#1542](https://github.com/Cantera/cantera/pull/1542))
- Updates to simplify the special behavior that implements different 1D flame types and boundary conditions ([E#165](https://github.com/Cantera/enhancements/issues/165), [E#171](https://github.com/Cantera/enhancements/issues/171), [#1477](https://github.com/Cantera/cantera/pull/1477), [#1514](https://github.com/Cantera/cantera/pull/1514), [#1523](https://github.com/Cantera/cantera/pull/1523), [#1531](https://github.com/Cantera/cantera/pull/1531), [#1555](https://github.com/Cantera/cantera/pull/1555))
- Make use of C++ `Solution` objects in `Domain1D` and related classes ([#1345](https://github.com/Cantera/cantera/pull/1345), [#1384](https://github.com/Cantera/cantera/pull/1384), [#1444](https://github.com/Cantera/cantera/pull/1444), [#1594](https://github.com/Cantera/cantera/pull/1594), [#1598](https://github.com/Cantera/cantera/pull/1598))
- Improved error handling for clib `thermo_setDensity` and `thermo_setMolarDensity` methods ([#1413](https://github.com/Cantera/cantera/pull/1413))
- Speed up Python module import by deferring imports of optional dependencies ([#1428](https://github.com/Cantera/cantera/pull/1428))
- Link Python `list_data_files` to C++ `getDataDirectories` ([#1358](https://github.com/Cantera/cantera/pull/1358))
- Remove features deprecated in Cantera 2.6. Principally, this includes legacy reaction rate types ([#1292](https://github.com/Cantera/cantera/pull/1292)) and the CTI/XML input formats ([#1291](https://github.com/Cantera/cantera/pull/1291))
- Deprecate remaining specializations of `Reaction` class and obsolete methods that were used by legacy reaction rate evaluators ([E#149](https://github.com/Cantera/enhancements/issues/149), [#1295](https://github.com/Cantera/cantera/pull/1295), [#1333](https://github.com/Cantera/cantera/pull/1333))
- Deprecate other untested, unused and/or obsolete code ([C++ Deprecations](https://cantera.org/documentation/docs-3.0/doxygen/html/da/d58/deprecated.html), [#1455](https://github.com/Cantera/cantera/pull/1455), [#1504](https://github.com/Cantera/cantera/pull/1504))
- Improve deprecation warnings issued from Python to include the name of the deprecated method and to show the line where that function is called from ([#1519](https://github.com/Cantera/cantera/pull/1519))
Bugs Fixed
(click here to expand)
- Fixed thermodynamic consistency issues with `SurfPhase` and `RedlichKisterVPSSTP` ([#1449](https://github.com/Cantera/cantera/pull/1449))
- Fixed thermodynamic consistency errors in IAPWS water equation of state ([#1394](https://github.com/Cantera/cantera/pull/1394))
- Fixed thermodynamic consistency issues in `IdealSolidSolnPhase` and `BinarySolutionTabulatedThermo` ([#1442](https://github.com/Cantera/cantera/pull/1442))
- Fix calculation of electron enthalpy contribution in `PlasmaPhase` ([#1323](https://github.com/Cantera/cantera/pull/1323))
- Fix setting reference pressure for a phase by setting the reference pressure of the individual species ([#1503](https://github.com/Cantera/cantera/pull/1503))
- Fix issues with "volume" and compressibility of `SurfPhase` ([#1350](https://github.com/Cantera/cantera/pull/1350))
- Handle factorization errors in equilibrium initial estimator ([#1479](https://github.com/Cantera/cantera/pull/1479))
- Make helpful errors for invalid reactions work more consistently ([#1330](https://github.com/Cantera/cantera/pull/1330), [#1356](https://github.com/Cantera/cantera/pull/1356))
- Fix serialization of phases with reactions from multiple YAML sections ([#1552](https://github.com/Cantera/cantera/pull/1552))
- Fix loading serialized mechanisms where reactions contain undeclared third bodies ([#1588](https://github.com/Cantera/cantera/pull/1588))
- Fix cases where three-body reactions were not being automatically detected ([#1338](https://github.com/Cantera/cantera/pull/1338))
- Fix possible segfaults when using Python `CustomRate` ([#1293](https://github.com/Cantera/cantera/pull/1293))
- Partial fix for PLOG validation at low temperatures ([#1553](https://github.com/Cantera/cantera/pull/1553))
- Fix default `atol` used in `ReactorNet.advance_to_steady_state` ([#1305](https://github.com/Cantera/cantera/pull/1305))
- Fix reading arrays containing subnormal floating point values ([#1545](https://github.com/Cantera/cantera/pull/1545))
- Fix adding Python `Quantity` objects when using molar basis ([#1517](https://github.com/Cantera/cantera/pull/1517))
- Add missing array properties to `SolutionArray` and `FlameBase` ([#1342](https://github.com/Cantera/cantera/pull/1342))
- Fix [`surf_pfr_chain.py`](https://cantera.org/examples/python/reactors/surf_pfr_chain.py.html) example to avoid misleading use of perturbed `Solution` objects ([#1304](https://github.com/Cantera/cantera/pull/1304))
- Fix Matlab samples to resolve issues from transition to YAML input files ([#1414](https://github.com/Cantera/cantera/pull/1414))
- Fix numerous build issues for certain configurations and platforms ([#1272](https://github.com/Cantera/cantera/pull/1272), [#1362](https://github.com/Cantera/cantera/pull/1362), [#1364](https://github.com/Cantera/cantera/pull/1364), [#1366](https://github.com/Cantera/cantera/pull/1366), [#1378](https://github.com/Cantera/cantera/pull/1378), [#1381](https://github.com/Cantera/cantera/pull/1381), [#1390](https://github.com/Cantera/cantera/pull/1390), [#1434](https://github.com/Cantera/cantera/pull/1434), [#1437](https://github.com/Cantera/cantera/pull/1437), [#1505](https://github.com/Cantera/cantera/pull/1505), [#1511](https://github.com/Cantera/cantera/pull/1511), [#1538](https://github.com/Cantera/cantera/pull/1538), [#1544](https://github.com/Cantera/cantera/pull/1544), [#1574](https://github.com/Cantera/cantera/pull/1574), [#1591](https://github.com/Cantera/cantera/pull/1591))
- Various documentation updates ([#1276](https://github.com/Cantera/cantera/pull/1276), [#1296](https://github.com/Cantera/cantera/pull/1296), [#1328](https://github.com/Cantera/cantera/pull/1328), [#1335](https://github.com/Cantera/cantera/pull/1335))
Contributors
This release was made possible by the following contributors: @anthony-walker, @arghdos, @band-a-prend, @BangShiuh, @bryanwweber, @burkenyo, @c-randall, @cdeil, @chinahg, @corykinney, @decaluwe, @g3bk47, @gkogekar, @hallaali, @ischoegl, @jongyoonbae, @kyleniemeyer, @mefuller, @rwest, @speth, @ssun30, @tsikes, @yeanment, @yurivict
- C++
Published by speth over 2 years ago
cantera - Cantera 3.0.0b1
Highlights
- Introduction of the
yaml2ckscript, which converts Cantera's YAML mechanism format into the legacy Chemkin format. (documentation here) - Major performance enhancements for reactor network calculations with large kinetic mechanisms. This comes from a new formulation for the reactor governing equations using species moles (rather than mass fractions) used together with a sparse, iterative solver in the ODE integrator that makes use of a semi-analytical Jacobian. (example here)
- Introduce
ExtensibleRatePython class that can be used to implement new reaction rate parameterizations in Python, with parameters defined in YAML input files. These rate types can be used even when the main user application is not written in Python. (documentation here, example custom_reactions.py) - Introduce a C++
SolutionArrayclass, which is now used as the backend for the PythonSolutionArrayclass - Add "native" support for HDF5 as an input/output format for
SolutionArrayand 1D flames (Example: flameinitialguess.py) - Add a new thermo model,
coverage-dependent-surfacefor representing surfaces where the enthalpy, entropy, and heat capacity of each species may depend on its coverage and the coverage of other species in the phase. (documentation here) - Add an experimental Python module where Cantera returns dimensional values as quantities using the
pintpackage. This is currently available only for thermo methods (documentation here; Examples: isentropic_units.py, rankine_units.py, and soundspeedunits.py). - Add support for surface chemistry to the plug flow reactor model (documentation here, examples 1Dpfrsurfchem.py and surf_pfr.py)
- Add support for using real gas models (Redlich-Kwong and Peng Robinson) with the 1D flame solver
- Preview release of a new Matlab toolbox, with a rewritten API that makes use of modern Matlab features and replaces the difficult-to-maintain MEX-file based backend with one based on using
calllibto interact directly with the Cantera C interface. (For the adventurous, see README.md) - Preview release of a new C# interface (see README.md for more on what's implemented and how to contribute)
Installation
- The Cantera conda channel provides installers for the Python module, Matlab toolbox, C++ interface, and Fortran 90 module on supported platforms. Instructions are available at https://testing.cantera.org/install/conda-install.html#sec-install-conda. To obtain the packages for the beta, specify the
devlabel using the flag--channel cantera/label/dev. - Windows MSI installer for the Matlab toolbox (linked below as part of this release). Instructions available at https://testing.cantera.org/install/windows-install.html#sec-install-windows.
- Updated compilation instructions are available at https://testing.cantera.org/install/compiling-install.html. Just make sure to check out the "3.0" branch.
- Additional installers should be available soon.
- C++
Published by speth over 2 years ago
cantera - Cantera 2.6.0
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
- Major redesign of how reaction rates are handled internally to improve extensibility and enable new capabilities (E#63, E#87, #982, #995, #1061, #1101, #1151, #1153, #1181, #1183, #1184, #1187, #1202, #1216, #1223, #1225, #1256, #1257)
- Enable delegation of reactor implementation to user-provided Python classes (
custom2.py, #1003) - Enable serialization of Cantera objects to YAML (
mechanism_reduction.py, #984, #1014, #1031) - Implement pickling of Python Solution objects (#692)
- Add PyPI package for Cantera, installable with
pip(#1075, #1239, #1240, #1232, #1261) - Implement Peng-Robinson equation of state for real gases (#1047, #1141, #1180)
- Add Blowers-Masel reaction rate parameterization for gas phase and interface kinetics (
blowers-masel.py, #987) - Add calculation of sparse, analytical Jacobians for gas kinetics (
derivative_speed.cpp, #1088, #1089, #1212) - Add new phase type and reaction rate parameterizations for plasmas with independent electron temperature (#1099, #1166, #1190)
Click here for details on additional new features, changes to existing capabilities, and fixed bugs
### New features - Simplify creation of interface phases and their adjacent bulk phases ([#1169](https://github.com/Cantera/cantera/pull/1169), [#1247](https://github.com/Cantera/cantera/pull/1247)) - Add Tsang "falloff" function [#1090](https://github.com/Cantera/cantera/pull/1090) - Add option to allow unnormalized and/or negative mass/mole fractions in SolutionArray / 1D flame importers [#1037](https://github.com/Cantera/cantera/pull/1037) - Added access functions to polynomial fits of gas transport properties [#817](https://github.com/Cantera/cantera/pull/817), [#1077](https://github.com/Cantera/cantera/pull/1077) - Add dilution options to equivalence ratio functions in Python [#1206](https://github.com/Cantera/cantera/pull/1206) - Make rate coefficient and standard concentration units available in Python [#1076](https://github.com/Cantera/cantera/pull/1076) - Add creation of Species from Python dict [#1179](https://github.com/Cantera/cantera/pull/1179) - Add thermal conductivity to DustyGas in Python [#988](https://github.com/Cantera/cantera/pull/988) - Add `set_mixture_fraction` method to `SolutionArray` [#1242](https://github.com/Cantera/cantera/pull/1242) - Exposed some additional functions to the Fortran interface [#1154](https://github.com/Cantera/cantera/pull/1154) - New C++ custom ODEs example [#922](https://github.com/Cantera/cantera/pull/922) - Added a Python version of the Matlab lithium ion battery example [#1263](https://github.com/Cantera/cantera/pull/1263) - Add support for Sundials 6.0 [#1162](https://github.com/Cantera/cantera/pull/1162) ### Changes to existing capabilities - Use YAML for saving and loading 1D flame simulations, replacing the XML output format [#1112](https://github.com/Cantera/cantera/pull/1112), [#1140](https://github.com/Cantera/cantera/pull/1140) - Use normal sign convention for reactor heat transfer [#1156](https://github.com/Cantera/cantera/pull/1156) - Separate third-body concentration term from rate constant for three body reactions [#1084](https://github.com/Cantera/cantera/pull/1084) - Translate C++ warnings to Python [#1201](https://github.com/Cantera/cantera/pull/1201) - Refactor SCons option handling and automatically extract compilation options for website documentation [#1137](https://github.com/Cantera/cantera/pull/1137) - Automatically use dependencies from and install into an active Conda environment [#1191](https://github.com/Cantera/cantera/pull/1191) - Include header description in when converting from CTI to YAML [#1205](https://github.com/Cantera/cantera/pull/1205) - Use of deprecated XML or CTI formats now actively issues warnings [#1159](https://github.com/Cantera/cantera/pull/1159) - Support legacy ruamel.yaml loaders [#1060](https://github.com/Cantera/cantera/pull/1060) - Update examples to use "h2o2.yaml" instead of GRI 3.0 [#1109](https://github.com/Cantera/cantera/pull/1109) - Prevent inadvertent attribute assignment in Quantity [#1124](https://github.com/Cantera/cantera/pull/1124) - Fix issues with composition strings and kinetics model of "None" in cti2yaml [#1127](https://github.com/Cantera/cantera/pull/1127) - Deprecate shell setup scripts (`setup_cantera`) [#1189](https://github.com/Cantera/cantera/pull/1189) - Replace deprecated yaml.safe_load / simplify paths [#1049](https://github.com/Cantera/cantera/pull/1049) - Read YAML using C++ newSolution in Python / access root level data [#1129](https://github.com/Cantera/cantera/pull/1129) - Improve YAML formatting of floating point values and multiline strings [#1133](https://github.com/Cantera/cantera/pull/1133) - Automatically detect unspecified third-body collision partners [#1015](https://github.com/Cantera/cantera/pull/1015) - Various compilation, build system, and test infrastructure updates [#979](https://github.com/Cantera/cantera/pull/979), [#994](https://github.com/Cantera/cantera/pull/994), [#1000](https://github.com/Cantera/cantera/pull/1000), [#1004](https://github.com/Cantera/cantera/pull/1004), [#1012](https://github.com/Cantera/cantera/pull/1012), [#1020](https://github.com/Cantera/cantera/pull/1020), [#1025](https://github.com/Cantera/cantera/pull/1025), [#1034](https://github.com/Cantera/cantera/pull/1034), [#1043](https://github.com/Cantera/cantera/pull/1043), [#1056](https://github.com/Cantera/cantera/pull/1056), [#1062](https://github.com/Cantera/cantera/pull/1062), [#1145](https://github.com/Cantera/cantera/pull/1145), [#1158](https://github.com/Cantera/cantera/pull/1158), [#1102](https://github.com/Cantera/cantera/pull/1102), [#1119](https://github.com/Cantera/cantera/pull/1119), [#1122](https://github.com/Cantera/cantera/pull/1122), [#1144](https://github.com/Cantera/cantera/pull/1144). [#1167](https://github.com/Cantera/cantera/pull/1167), [#1172](https://github.com/Cantera/cantera/pull/1172), [#1176](https://github.com/Cantera/cantera/pull/1176), [#1178](https://github.com/Cantera/cantera/pull/1178), [#1197](https://github.com/Cantera/cantera/pull/1197), [#1208](https://github.com/Cantera/cantera/pull/1208), [#1222](https://github.com/Cantera/cantera/pull/1222), [#1229](https://github.com/Cantera/cantera/pull/1229), [#1241](https://github.com/Cantera/cantera/pull/1241), [#1268](https://github.com/Cantera/cantera/pull/1268) - Various documentation updates [#983](https://github.com/Cantera/cantera/pull/983), [#1002](https://github.com/Cantera/cantera/pull/1002), [#1022](https://github.com/Cantera/cantera/pull/1022), [#1032](https://github.com/Cantera/cantera/pull/1032), [#1045](https://github.com/Cantera/cantera/pull/1045), [#1065](https://github.com/Cantera/cantera/pull/1065), [#1121](https://github.com/Cantera/cantera/pull/1121), [#1142](https://github.com/Cantera/cantera/pull/1142), [#1152](https://github.com/Cantera/cantera/pull/1152), [#1196](https://github.com/Cantera/cantera/pull/1196), [#1200](https://github.com/Cantera/cantera/pull/1200), [#1227](https://github.com/Cantera/cantera/pull/1227), [#1231](https://github.com/Cantera/cantera/pull/1231), [#1234](https://github.com/Cantera/cantera/pull/1234), [#1249](https://github.com/Cantera/cantera/pull/1249), [#1255](https://github.com/Cantera/cantera/pull/1255), [#1264](https://github.com/Cantera/cantera/pull/1264) ### Bugs fixed - Fix Redlich-Kwong partial molar properties [#1218](https://github.com/Cantera/cantera/pull/1218) - Fix pressure dependence in IdealSolidSolnPhase::getPartialMolarEnthalpies [#1087](https://github.com/Cantera/cantera/pull/1087) - Fix evaluation of delta-star polynomials [#1125](https://github.com/Cantera/cantera/pull/1125) - Consistently use physical concentrations when calculating third body and falloff reaction rates, for both specifically enumerated efficiencies and generic third body colliders [#968](https://github.com/Cantera/cantera/pull/968) - Add check for sticking coefficient more than 1 [#1038](https://github.com/Cantera/cantera/pull/1038) - Fix typo in equivalenceRatio.py that resulted in printing wrong results [#1173](https://github.com/Cantera/cantera/pull/1173) - Fix memory error when deallocating Python reaction rate wrappers [#1030](https://github.com/Cantera/cantera/pull/1030) - Prevent segmentation fault when initializing standalone Reactor objects [#1063](https://github.com/Cantera/cantera/pull/1063) - Fix extinction temperature definition in diffusion_flame_extinction.py example [#1066](https://github.com/Cantera/cantera/pull/1066) - Fix handling of 'CK_Multi' transport model in flame simulations [#1069](https://github.com/Cantera/cantera/pull/1069) - Fix issues with import of SolutionArray from CSV [#1074](https://github.com/Cantera/cantera/pull/1074) - Fix SolutionArray.append [#1086](https://github.com/Cantera/cantera/pull/1086) - Fix 1D solver errors when reporting singular Jacobian and use of non-default tolerances after automatic grid expansion [#1103](https://github.com/Cantera/cantera/pull/1103) - Suppress output from setEnergy.m [#1106](https://github.com/Cantera/cantera/pull/1106) - Fix using reactors with both surface and gas phase chemistry with YAML input [#981](https://github.com/Cantera/cantera/pull/981) - Fix saving 1D output when radiative_heat_loss is enabled [#993](https://github.com/Cantera/cantera/pull/993) - Fix CTI to YAML conversion for transport='None' [#997](https://github.com/Cantera/cantera/pull/997) - Fix handling of CK mechanisms with '+M' in PLOG reaction equations [#1252](https://github.com/Cantera/cantera/pull/1252) - Fix detection of skipped/undeclared species in three body reactions [#1027](https://github.com/Cantera/cantera/pull/1027) - Fix invalid unchecked cast to StFlow [#1226](https://github.com/Cantera/cantera/pull/1226) - Fix `SolutionArray` extra slice [#1204](https://github.com/Cantera/cantera/pull/1204) - Check for valid component name when setting reactor advance limits [#1215](https://github.com/Cantera/cantera/pull/1215) - Fix incorrect temperature bounds and missing entries in NASA_condensed.yaml [#1248](https://github.com/Cantera/cantera/pull/1248), [#1250](https://github.com/Cantera/cantera/pull/1250) - Fix logic error in CanteraTest.assertNear [#1120](https://github.com/Cantera/cantera/pull/1120) - Fix various compilation / installation issues [#980](https://github.com/Cantera/cantera/pull/980), [#1011](https://github.com/Cantera/cantera/pull/1011), [#1052](https://github.com/Cantera/cantera/pull/1052), [#1057](https://github.com/Cantera/cantera/pull/1057), [#1100](https://github.com/Cantera/cantera/pull/1100), [#1105](https://github.com/Cantera/cantera/pull/1105), [#1107](https://github.com/Cantera/cantera/pull/1107), [#1110](https://github.com/Cantera/cantera/pull/1110), [#1116](https://github.com/Cantera/cantera/pull/1116), [#1123](https://github.com/Cantera/cantera/pull/1123), [#1148](https://github.com/Cantera/cantera/pull/1148), [#1161](https://github.com/Cantera/cantera/pull/1161), [#1168](https://github.com/Cantera/cantera/pull/1168), [#1171](https://github.com/Cantera/cantera/pull/1171), [#1265](https://github.com/Cantera/cantera/pull/1265)The complete list of changes can be found on the Cantera Wiki page: https://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
- C++
Published by speth almost 4 years ago
cantera - Cantera 2.6.0b2
The Cantera development team is pleased to announce the general availability of the second beta for the next release of Cantera, v2.6.0. There have been over 1300 commits to Cantera since the last version, 2.5.1, which was released in February 2021. We have closed or merged 143 pull requests and closed 90 issues. Some of the highlights for this release are:
- Major redesign of how reaction rates are handled internally to improve extensibility and enable new capabilities (E#63, E#87)
- Enable delegation of reactor implementation to user-provided Python classes (custom2.py)
- Enable serialization of Cantera objects to YAML (mechanism_reduction.py)
- Implement pickling of Python Solution objects
- Add PyPI package for Cantera, installable with pip
- Implement Peng-Robinson equation of state for real gases
- Add Blowers-Masel reaction rate parameterization for gas phase and interface kinetics (blowers-masel.py)
- Add calculation of sparse, analytical Jacobians for gas kinetics (derivative_speed.cpp)
- Add reaction rate parameterizations for plasmas with independent electron temperature
The complete list of changes can be found on the Cantera Wiki page: https://github.com/Cantera/cantera/wiki/Cantera-2.6.0-Changelog
Installation
Installation instructions for the Python module, Matlab toolbox, C++ interface, and Fortran 90 module on supported platforms are available at https://testing.cantera.org/install/index.html. Please note that as of 2022-04-11, installers for the beta are available via PyPI (using pip), the cantera conda channel, the cantera-team/cantera-unstable Ubuntu PPA, and the installers below. Additional installers will be available soon.
Contributors
This release was made possible by the following contributors: @12Chao, @BangShiuh, @blackrabbit17, @DavidAkinpelu, @anthony-walker, @band-a-prend, @bryanwweber, @chinahg, @d-e-t, @decaluwe, @g3bk47, @gkogekar, @ischoegl, @jongyoonbae, @lavdwall, @leesharma, @mefuller, @paulblum, @speth, @stijn76, @tpg2114
- C++
Published by speth almost 4 years ago
cantera - Cantera 2.6.0b1
The Cantera development team is pleased to announce the general availability of the first beta for the next release of Cantera, v2.6.0. There have been over 1300 commits to Cantera since the last version, 2.5.1, which was released in February 2021. We have closed or merged 136 pull requests and closed 87 issues. Some of the highlights for this release are:
- Major redesign of how reaction rates are handled internally to improve extensibility and enable new capabilities (E#63, E#87)
- Enable delegation of reactor implementation to user-provided Python classes (custom2.py)
- Enable serialization of Cantera objects to YAML (mechanism_reduction.py)
- Implement pickling of Python Solution objects
- Add PyPI package for Cantera, installable with pip
- Implement Peng-Robinson equation of state for real gases
- Add Blowers-Masel reaction rate parameterization for gas phase and interface kinetics (blowers-masel.py)
- Add calculation of sparse, analytical Jacobians for gas kinetics (derivative_speed.cpp)
- Add reaction rate parameterizations for plasmas with independent electron temperature
The complete list of changes can be found on the Cantera Wiki page: https://github.com/Cantera/cantera/wiki/Cantera-2.6.0-Changelog
This release was made possible by the following contributors: @12Chao, @BangShiuh, @blackrabbit17, @DavidAkinpelu, @anthony-walker, @band-a-prend, @bryanwweber, @chinahg, @d-e-t, @decaluwe, @g3bk47, @gkogekar, @ischoegl, @jongyoonbae, @lavdwall, @leesharma, @mefuller, @paulblum, @speth, @stijn76, @tpg2114
- C++
Published by speth almost 4 years ago
cantera - Cantera 2.5.1
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
Click here to see the complete Changelog
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,
33e198f,ebb93cb) - 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 (
5e22653, #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 (
5601ee9) - 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,
9aa507a) - Expand '~' as user homedir shortcut when adding data directories (
ca8700f)
Changes to existing features:
- Remove support for Python 2 (#560, #611)
- Update physical constants based on 2018 CODATA values, and atomic weights to 2018 IUPAC/CIAAW values (#653)
- Deprecated some redundant or rarely-used classes and functions. See the deprecation lists for C++ and Python / Matlab / Input files. (#580, #588, #645, #643, #660, #733, #735, #762, #787, #790, #806, #815, #864,
35be561,27d9b64) - Build and test the sample programs / scripts as part of the CI process (
1ec9ce2, #649, #776, #874, #883, #905, #923, #927) - Improve handling of phases where the intrinsic state variables are not temperature and density (#720)
- Improve detection and handling of errors in Chemkin input files (#585,
b2acc43,4f4a2bd,d04fd8c) - Consolidate and report all errors when adding reactions, instead of just failing on the first one (#903, #946)
- Use 'Q' instead of 'X' for the quality (vapor fraction) of two-phase mixtures in Python (#719)
- Always use temperature of the "reacting" phase for interface kinetics (
6c82b61) - Make interface for setting parameters for Valves and PressureControllers more intuitive (#667, #682)
- Add N2 to h2o2.yaml (#959)
- Make CVODES integrator 'max_time_step' a property in the Python module (#731)
- Switch CI to GitHub Actions (#775, #884, #889, #957)
- Use experimentally-derived O2/O2- collision integral in ionized flames (#552)
- Consistently use CanteraError in Python examples (#596,
05eaa0a) - Add option to use case-sensitive species names (#689)
- Treat deprecation warnings issued from Python and C++ consistently (#796)
- Improve sample build scripts on maCOS (#612)
- Updated the 'diamond_cvd.py' example to include plotting the output (#630)
- Make GRI-3.0 mechanisms consistent with latest online version (#718)
- Follow Python naming convention for arguments to ThermoPhase.equilibrate (#684)
- Remove unused Chemkin input files from the source distribution (#799)
- Move heat_release_rate method to Python Kinetics class (#810)
- Automatically add 'negative_A' option for third body reactions when converting from Chemkin input (#822)
- Allow negative pre-exponential factor for falloff reactions (#868)
- Search current working directory before built-in data directories when using Python (#792)
- Check for additional invalid string-to-double conversions when parsing composition strings (
8453548) - The default branch for the Cantera Git repository is now named 'main' (#890)
- Include more significant digits for Redlich-Kwong coefficients when converting from CTI to XML (
ec7f779)
Bugs fixed:
- Fixed various compilation issues on specific platforms and with certain SCons/compiler options (#561, #572, #601, #648, #661, #674, #676, #685, #742, #765, #779, #803, #824, #879, #891, #918, #960, #962, #973,
46b7cf1) - Fix handling of local quantity units rate for Chebyshev rate constants when converting Chemkin input files (#600)
- Fix setting of Soret and multicomponent diffusion options after exceptions when using the "auto" option to Sim1D.solve (#631)
- Disable free flame domain width check when auto=False (#690)
- Allow setting beta = 0 for electrochemical reactions (#955)
- Fix Redlich-Kwong phase to not use the element potential equilibrium solver (#898)
- Fix erroneously-rounded transport coefficients in input files derived from GRI 3.0 (#598)
- Use correct phase state after Reactor mass flow rate evaluation (#651)
- Avoid NaN in entropy with small negative mass fractions (#686)
- Fix conversion of Chemkin input files with surface reactions with explicit reverse rates (#754)
- Fix conditional property updates in IonGasTransport (#568)
- Fix Chebyshev rate evaluation with only 1 point in T or P (#706)
- Check for non-existent species in reaction orders when adding reactions (
e4362d3) - Fix various edge cases for saturated PureFluid states (#907)
- Fix comparisons of non-numeric text in test_problems (#785)
- Prevent overwriting of pre-existing extra SolutionArray columns (#820)
- Fix slicing of SolutionArray (#816, #837)
- Prevent erroneous creation of standalone Kinetics and Transport objects in Python (#845)
- Ensure that the mass flow rate returned by FlowDevice objects is correct after a call to ReactorNet::advance (#886)
- Fix indexed assignment of 'extra' columns in SolutionArray (#838)
- Fix handling of reaction units settings not on last line when convert Chemkin input files (
540777c) - Fix over-zealous detection of section 'end' labels when converting Chemkin input files (
e3424d8) - Fix building and installing the minimal Python package (#928, #974)
- Check for a valid species index in ThermoPhase::species() (#949)
- Fix some corner cases in Sim1D::setFixedTemperature (#936)
- Retain user-specified products in counterflow premixed flame when using "auto" option (
b633544) - Fix refinement check in ic_engine.py example (
d9b95b2) - Fix issues with Blasius BVP example, and install it with other C++ samples (
dc09040,600580e,c26db35,b9a5913,22efbe2,8c213da)
Documentation updates:
- Fix errors in equations (#557, #970,
3ff5d87,c1d721d) - Improve "offline" builds of API documentation (#562)
- Document required versions of Cantera and dependencies for Python examples (#729, #756)
- Update AUTHORS list to include authors from all Cantera organization repos (#573)
- Fix various typos and other issues (#591, #627, #636, #673, #709, #726, #744, #770, #771, #781, #790, #793, #939,
50997a1,9f5dfbd,442433a, #975, #976)
- C++
Published by speth about 5 years ago
cantera - Cantera 2.5.0b1
Cantera 2.5.0b1
The Cantera development team is pleased to announce the general availability of the first beta for the next release of Cantera, v2.5.0. There have been almost 900 commits to Cantera since the last version, 2.4.0, which was released in August 2018. We have closed or merged more than 200 pull requests and 100 issues. The complete list of changes can be found on the Cantera Wiki page: https://github.com/Cantera/cantera/wiki/Complete-git-log-since-2.4.0
Cantera 2.5.0 introduces a new input file format, based on the YAML data format. This format will eventually replace the CTI and XML (sometimes called CTML) formats that Cantera has used for many years. Converter scripts from CTI and XML to YAML, as well as from CHEMKIN (CK) format to YAML, are provided with this release:
ctml2yamlcti2yamlck2yaml
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.
This release was made possible by the following contributors: Dave Holland, @12Chao, @BangShiuh, @CyberDrudge, @ThanasisMattas, @agarwalrounak, @arghdos, @band-a-prend, @bryanwweber, @decaluwe, @g3bk47, @ischoegl, @jsantner, @kyleniemeyer, @lavdwall, @lionkey, @manikmayur, @mgashwinkumar, @paulblum, @rwest, @sameshl, @sin-ha, @speth, @spinnau, @tsikes, @wbessler, @korffdm
- C++
Published by bryanwweber over 5 years ago
cantera - Cantera 2.4.0
Cantera 2.4.0
Cantera 2.4.0 includes more than 380 commits to the code since 2.3.0, merges more than 70 pull requests, and closes almost 60 issues. In this release, we improved the maintainability of Cantera by removing or deprecating old, untested code, moving the website and Mixmaster to separate repositories, and automating more of the build/testing process. We also added new features to the 1-D reactor code (among other areas), including adding an ionized gas transport class and the IonFlow and BurnerIonFlame classes, providing better accessing to callbacks during 1-D solutions, and automatically detecting certain common failure conditions of the 1-D solver. This release of Cantera was made possible by contributions from 14 developers: @speth, @bryanwweber, @BangShiuh, @decaluwe, @wandadars, @jsantner, @arghdos, @rwest, @g3bk47, @awehrfritz, @band-a-prend, @vdevgan, @KyleLinevitchJr, and @MarcDuQuesne.
For installation and compilation instructions for Cantera 2.4.0, please see the directions on the Cantera website. In addition to Conda packages, Windows installers, and Ubuntu packages, this release also features the addition of a pre-compiled Matlab toolbox for macOS users, replacing Homebrew as the prefered method of installing Cantera for Matlab on macOS.
Thanks to a small development grant from NumFOCUS (see more about NumFOCUS below), @bryanwweber and @decaluwe reorganized and restyled the Cantera website. The website has moved to a separate repository, allowing the website content to be updated without modifications to the main Cantera source code. We also tried to make it easy for all of our users to find what they're looking for quickly, from installation instructions and tutorials for beginners, to advanced examples and API documentation for experienced Cantera programmers. The new website also redirects all traffic to HTTPS, ensuring a secure experience for everyone.
Cantera is now officially part of NumFOCUS. NumFOCUS is a 501(c)3 nonprofit dedicated to supporting the open source scientific computing community. If you are interested in learning more about NumFOCUS, please visit their website at https://numfocus.org, or our website at https://cantera.org/community.html#donations.
Cantera 2.4.0 is the last release that will be compatible with Python 2.7. Support for Python 2.7 from the Python Software Foundation will end January 1, 2020. Given the recent release cadence of Cantera, the next major version of Cantera will probably be released very close to that date, so we have made the decision to drop Python 2.7 support for Cantera 2.5.0 and higher.
One notable change to the build requirements for Cantera 2.4.0 is that SCons 3.0.0 or higher must be used to compile the source code. This means that either Python 2 or Python 3 can be used to run SCons. In addition, there are now three options to handle building the Python interface, depending on whether the user wants to build for Python 2 or Python 3. Please check the documentation or run scons help for more information.
Summary of changes in Cantera 2.4.0
Bugs fixed
- Fix inconstencies and bugs in several
ThermoPhasederived classes, includingPDSS_IdealGas,IonsFromNeutralVPSSTP,PDSS_IonsFromNeutral,PDSS_HKFT,LatticePhase,PDSS_SSVol,ConstDensityThermo, andPureFluidPhase - Preserve constant property pair when multiplying
Quantityobjects - Fix using pure fluids in reactors
- Add temperature dependence of rotational relaxation in transport calculations
- Disable linking to external SUNDIALS libraries when building the Matlab toolbox
Changes to existing capabilities
- Allow instantiation of ThermoPhase derived classes without XML
set_equivalence_rationow supports sulfur oxidation- Make all complex object types (ThermoPhase, Kinetics, Transport, Reactor, Domain1D, etc.) objects non-copyable
- Deprecate
FreeFlowandAxiStagnFlowclasses by moving the relevant functions into theStFlowclass - Allow
convertMechfunction to be called multiple times - Remove the requirement for users to have Boost headers installed when building against the Cantera library
- Change the options to build the Python interface, since SCons can be run by Python 3
- Update GTest, fmtlib, SUNDIALS, and Eigen submodule versions
Additions
- Add ion gas transport model, and
IonFlowandBurnerIonFlameflame classes - Add C++ OpenMP, Non-Ideal Shock Tube, PSR/WSR, and time-dependent mass flow rate examples
- Add class
AnyMap - Allow negative reaction orders
- Add unity Lewis number transport model
- Add electron to the built-in elements
- Add
get_equivalence_ratiofunction
Click here to see the complete changelog
# Full Changelog ## Bugs fixed ### Thermo/Species/Elements - Fix issues parsing composition strings with mixtures of commas, colons, and spaces (3f6f580) - Fix setting mass/mole fractions of phases with only a single species (ed8de04) - Fix reference state calculations (38d291c, 7b529ac) - Fix test failures due to inconsistent species addition order (11a0727, #433) - Fix errors in entropy calculation in `PDSS_IdealGas` (dfb32f0) - Fix and test creation of `IonsFromNeutralVPSSTP` objects (3a11938) - Fix inconsistentices in `PDSS_IonsFromNeutral` (ff46dc9) - Fix `PDSS_HKFT` initialization when only one property is given (2c3512c) - Fix default molar volume in `LatticePhase` (f3ba29f) - Setting the composition with an empty array raises an exception (8a4142d) - Fix implementation and documentation of `PDSS_SSVol` (ee663c9, a19b2bd, 286217d, be8e51d) - Fix definition of `ConstDensityThermo::standardConcentration` (89fded3, #458, #490) - Preserve constant property pair when multiplying `Quantity` objects (c9b0bce) - Fix `PureFluidPhase` state data consistency (fb68cae, 0417d31) ### Kinetics - Validate balance of surface sites for interface reactions (ac53371, #412) - Reactions which are declared as duplicate but do not have the corresponding duplicate reaction are errors (0fd2f7c, 2678b57, #389) - Fix use of `'scale'` and `'OneWayFlow'` options in `ReactonPathDiagram`s (0d982c8, 0249ce8, #378, #424) - Fix how species contributions to reaction paths are handled (3093e6e, 5a0fb57, 092e007, #377, #424) - Preserve pressure units in `PLOG` reactions when converting from Chemkin to CTI format (7b7aea2, a02753a, #435) - Fix style arguments for reaction path diagrams (b41038f, #463) - Fix duplicate reaction checking (513b432, 4c489c1, #468) - Fix failures due to tolerances in some kinetics tests (67aa9eb) ### Transport - Fixes to enable `CK_mix` and `CK_multi` mode flags (35aa8be, 435f286, 1b60513) - Add temperature dependence of rotational relaxation (e79cf6f, #547) ### 0-D Reactors - Fix using pure fluids in reactors (2ac8a0e, deeaaed, #475, #487) - Check that contents are Solution objects not Mixtures (a22db9f) ### 1-D Flames - Fix handling of domain boundary conditions when the energy equation is not solved (52dbe8c) - Fix handling of Soret diffusion enabling/disabling with respect to mixture-averaged diffusion approximation (a03afbd, 4bd5e92, fde5051, #511) ### CTI/Input files - Fix file size limit when converting CTI to CTML (0a1257d, #416, #430) - Fix for reactions with pathologically named third bodies (55a8910, 6d591b8, 44b24ca, #460) - `ctml_writer` is more tolerant of non-ASCII characters (0c0a38d) - Fix incorrect entry in `nasathermo.dat` (3933a94, #491) - Fix writing surface reactions to the CTI file when there are no gas-phase reactions (552ba97) - Fix over-zealous detection of new input file sections (f47e98a) - Detect badly-formatted values of the 4th Troe coefficient (bde6e05) - Suppress some output when `quiet=True` (70016b9) - Fix duplicate key check in parseCompString (d091617, #525) - Fix spurious unexpected output warnings (fd57936) ### Examples - Fix errors and empty figures in IC engine example (6f564e6, 0d01d03) - Remove extraneous arguments in Matlab example scripts (a31b7d1) - Remove or fix broken Matlab examples (536158b, 987a247) ### Other - Add explicit dependencies on the `scons build` step for `scons test` and `scons install` (70e1063, #432) - Fix reproducibility of `add_species_sequential` test (11a0727, #433) - Disable linking to external SUNDIALS libraries when building the Matlab toolbox (c125878, #431, #456) - Switch SourceForge links in the docs to point to GitHub (d920f2e, #442, #455) - Fix typos in documentation (05809bb, fec6c34, 35ac1ac, af4ccae, #449) - Easier debugging of NumPy import error messages during build (3f69f6a) - Use Trusty Tahr and system Python 3 on TravisCI Linux builds (9e5da87, 45891a2) - Fix parallel builds of the Matlab toolbox (8312396, #483) - Remove outdated MacPorts installation instructions (46f8ef5, #496) - Fix wrong environment variable MATLAB_PATH -> MATLABPATH (d86a7c1, #501) - Fix broken links in README, clarify PR template, add Gitter, add badges (e052a44, 8de267f, de3ec3d, 0120f2f, #505, #506, #513) - Fix installing dependencies on Appveyor (39c4103, 0b8f028, b1a010e, #517, #529) - Add update of git submodules to code checkout instructions (66ba4b5) - Remove blank documentation page (84acdb1, #518) - Fix notation for mixture-averaged diffusion coefficient (df6ecb1) - Fix compilier warning about `m_Faraday_dim` (55490de) - Fix catching exceptions when checking git commit during build (3fac5f2, c830537) - Fix display of information from errors in Python callbacks (d3f49e7) - Clean the correct folder after building the minimal Python interface (ff91457) - Fix building MSI for Python 3.7 module (af51a61) ## Changes to existing capabilities ### Thermo/Species/Elements - PDSS objects store their own data (50ed3f2) - Remove `VPSSMgr` and merge into `VPStandardStateTP` (b39537b, #428) - Simplify aqueous phase creation in `VPStandardStateTP` (3ea2a6c) - Allow instantiation of ThermoPhase derived classes without XML (86dca05, 507a3a9, 19c17d1, db1f1af, 5efea12, 3c771de, b033d44, 31d54c3, 95a52b2, f8ef4a8, a6ac446, bfdc2b9, f69ef44, d744bd9, 3676672, aa02d24, e3afaf5, 3790115, 4c630fc, a520f78) - Clean up and test `RedlichKwongMFTP` implementation and remove broken "sanity checks" (ecbd819, dd521de, f9d5f16, #267, #436, #438) - Move common PDSS functions into the the `PDSS_Nondimensional` class (574462f) - Remove unused thermodynamics models from `ThermoFactory` (6154e1b) - Deprecate several unused/untested classes. See the [deprecation list](https://cantera.org/documentation/docs-2.4/doxygen/html/da/d58/deprecated.html) for details. (2b73fe2, 6d22be2, #267) - Remove unimplemented options from `DebyeHuckel` (afafa34) - Charge transfer reactions can be set for `surface_reaction`s, not just `edge_reaction`s (51f419f, #439) - Remove unused members from some thermo classes (4818c87, 6bfd82e, 90d18dd, c85ba58, cfc3b72, 6ca7820, d07908f, 4b69c7f, 572af61) - Store several class properties as `shared_ptr`s (04f1097, 4856d13) - Remove debug exception from Phase::entropyElement298 (d433824, #467) - Explicitly assume that the solvent species is always the first species in the phase (e33fe69) - Move implementation of `HMWSoln` to a single file (e9f08fc) - Try to look up standard entropy when adding undefined elements (0ca788b) - Always use `PDSS_ConstVol` for constant volume standard state and remove the implementation from `PDSS_SSVol` (822cdc7) - Make adding undefined elements the default behavior (d035557) - `set_equivalence_ratio` now supports sulfur oxidation (48eaedb, acbd65d, aac8eb9, #474) - Relax warning threshold for heat capacity discontinuities (a68c048) ### Equilibrium Solvers - Various clean ups, refactoring, and simplifications to the VCS solver (ee323bb, 08726b0, da801f4, 8522095, bba0d8e, 1eebd3e, da3ba35, 4e53c89, 7eb939d, 739d4e4) - Improve control of logging in the ChemEquil solver (5b4a977) - Don't use saved element potentials as an initial guess and deprecate getter/setter methods (74167cc, 3c978cd, #538) ### Transport - Allow construction of Transport derived classes without XML (4b5af64, 7020fa7) - Move `simpleTransport` test to GTest suite (4934079) ### 0-D Reactors - Make all reactor-related objects non-copyable (d9418bb) ### 1-D Flames - Make all 1-D-related objects non-copyable (279c5c8) - Deprecate `FreeFlow` and `AxiStagnFlow` classes by moving the relevant functions into the `StFlow` class (c1067aa, 3ade333, a54ab2f, #546, #548) ### CTI/XML/Input Files - Make searches for child nodes case insensitive (1bd950f) - Improve error messages for invalid (floating point) geometry flags (6bf74d1, #446, #454) ### Examples/Samples - Remove verbose output from f77 demo wrapper (172e9ff) ### Documentation - Note requirement to use `modifySpecies` and `modifyReaction` (4b4128a, #394, #542) - Clarify the values returned by `getFwdRateConstants` (831b92d) - Move most content from the old documentation to the new website (7b6d04c, cc9c8e5, 71072c4, e81cac9, e7f346c, 7a69386, d57f1d1, b68a87d, 21db5d8, 3052701, 2a7aed8, e8d28b0, dbc3df1, 2f3a012, 9670c5d, 3fae1c1, 4ea9d35, 5494636, d225203, c28bc02, d33e67c, 7e1b6a1, 3384041, 0d55977, b84d3e3, 053267e, 1864e8f, 5f556ac, 045f3d3, 1ca6c5e, 323c737, #544) ### Other - Move MixMaster into a separate repository (886d7b7) - Propagation of environment variables in SCons is more sensible (e5edc31, 3c82c3a, eae9250, 66998a5) - Remove deprecated code (7673f7c, 3accd41) - Print error messages from and pass flags to GTest (fca22d9, 461b63e) - Remove the requirement for clients to have Boost headers installed when building against the Cantera library (713b9cc, f8d1832, 686250e, 87a7deb, 83ffd84, #480) - Update to GTest 1.8.0 (60d2075, #482) - Remove `HAS_NO_PYTHON` configuration variable (16fd183, #483) - Change the options to build the Python interface, since SCons can be run by Python 3 (94ea9b5, 2bc4d09, 6ca67b4, 11943bb, 7054a7b, f824b20, 43b42e9, c233ddc, 9f4590b, 9c9ee9e, 5d599bb, 4e6af27, 3e39a0b, #483, #486, #488) - Check for 3to2 during build by importing the library, rather than running a script (77ee76c, #483) - Use std::sort to eliminate need for vcs_optMax (07eed36) - Google Test suite can be disabled entirely (fb4a36b, 9bad354, 333d388, #535) - Improve behavior of Matlab test suite (bdaabc0, 677efd8, b5b542d) ## Additions ### Thermo/Species/Elements - Allow synonyms for Factory model names (c28ca48) - Add electron to the built-in elements (974bbc7, #443) - Identify unspecified electrochemical reactions (04be988, #452) - Make activity coefficients and activities available (a5b0bdf) - Add regression tests for some thermo classes (338b216) - Create a default constructor for PDSS objects and avoid unnecessary arguments in the initializers (04cac2b) - Show values in `setDensity`/`setTemperature` exceptions (ebc478f) - Add Cython function to access species viscosity (cc93ce6, #527) - Add `get_equivalence_ratio` function (a9ad75e, #521) - Add `newSubstance` method to create pure fluid objects by name (62c67e4) - Allow `surface_reaction`s (not just `edge_reaction`s) to be charge transfer reactions (51f419f, #439) ### Transport - Add unity Lewis number transport model (d38d9da, 29a3c19, 3c3ef10, d4492f3, a1c12b4, #510) - Add ion gas transport model (b7e32e4, 3a0f46e, eeb27d8, f7852ad, fa9b937, 1245a69, 5c783c7, #539) ### 1-D Flames - Add access to current solution resdiuals (6a52908) - Allow user to pass the locations where temperature is set during flame initialization (2a38b0a, #447) - Add ability to simulate ionized flames using the `IonFlow` class and the `BurnerIonFlame` and `(3b12c6d, e2f718c, 9dd0134, 6b6d758, 1057d20, 1be8374, a8cbfd2, 2472e08, a99004d, 24940ae, c3ba264, a5762ea, ac8612f, #441, #471, #546, #548) - Add function to get the refine criteria used in a flame (bce4210, 4b44c66, c88ddce, #469) - Add a more general `CounterFlowDiffusionFlame` to Matlab, replacing `npflame_init` (43bd96b, c092484, #450) - Allow access to and disabling of callbacks for 1-D problems (4b35275, 7a314d3, #489) - Automatically detect when the domain width is too narrow or the flame has blown off the burner (dfd4b7e, 7eb4eaa, 4911539, #489) - Add `BurnerIonFlame` class (2527869, 5082a21, ee633f3, 1662498, #548) ### CTI/Input files - Allow negative reaction orders (8f02c77, 4771874, 501b5fd, #485) - Add support for parsing species with specific site occupancies (89bca5f, #444) - Improve error message reporting during failed ck2cti conversions (4b5a37a, 9c3b500, 4affcd1, 411be3e, #497) - Allow `convertMech` function to be called multiple times (277aa0b, #528, #536) ### Other - Add methods for getting the git commit (8e89bbb, 7979a2b) - Add class `AnyMap` (56022e8, 9c084d5, 7fab7f3, #443) - Add compatiblity with Cython >=0.26 (8d953a9, #465, #467) - Add compatibility with fmt 4.0.0 (ea69a01, #470) - Building now supports SCons 3.0.0 and Python 3 runnning SCons (7d0bc71, 684262e, #477, #478, #481) - Allow building and testing with msvc-12.0 (e921cb8, 6844e52, #479) - Add `setup_cantera.csh` for use with csh/tcsh (4a4886f, #453) - Add conda GCC compilers to the check for C compilers during building (07409de, #486) - Many documentation updates related to Cantera joining NumFOCUS (e846505, e6b4761, af4a78d, ec5aecd, 419a09c, 581cfb7, 8caf5e5, 977a1c7, 0d20b50, c78a11b, 2abc57e, 05fa4df, 8195403, 1a394a3, c29fbc8, 66597b7, a0ac2b0, #502) - Add support for SUNDIALS 3.0.0 and 3.1.0 (50a3fec, 9c50f75, 82c959d, 322b1fc, #503) - Upgrade Eigen submodule to 3.3.4 (20f891f) - Add links to old versions of the documentation (b26dc65) - Upgrade `fmtlib` submodule to 5.0.0 (6b3c912, 99d4972, 3be3f7d, e42b952, 51d0d43, 309871a, dab7390, #540) ### Examples/Samples - Add C++ OpenMP example (78d5809) - Add NonIdealShockTube example (2a601c1, e78aac7, 26216e9, #473, #483) - Add example of PSR/WSR that replaces `combustor.py` (dc5ec06, #550) - Add example of using a time-dependent mass flow into a reactor (2f67c99, #550)
- C++
Published by speth over 7 years ago
cantera - Cantera 2.3.0
Installation Options
- Conda / anaconda packages for Windows, Linux, and macOS via the
canterachannel. See installation instructions for more details. - Windows binary installers (downloads below; To use the Matlab toolbox on Windows, install both
Cantera-2.3.0-x64.msiand one of the Python modules. The Python installers are standalone and do not require the base Cantera package. Installers are available Python 2.7, Python 3.4, Python 3.5, and Python 3.6. See detailed instructions for more. - Ubuntu packages for 16.04 (Xenial Xerus) and 16.10 (Yakkety Yak) are available via the PPA at https://launchpad.net/~speth/+archive/ubuntu/cantera. Additional details available here.
- Homebrew formula for macOS. See additonal instructions.
- Download and compile the source code. Full instructions here.
Documentation
Documentation for Cantera 2.3.0 can be found at: http://cantera.github.io/docs/sphinx/html/index.html.
Changes in Cantera 2.3.0
Highlights are listed here. See the full changelog for more.
- Add ability to modify species data for existing Phase objects
- Make species names case-preserving instead of case-sensitive, and allow colons in species names
- Add option for Motz & Wise correction to sticking reactions
- Implement enthalpy of formation sensitivity analysis for reactor networks
- Implement the Cython function advance_to_steady_state for reactor networks
- Eliminate most known 1D flame solver failures by improving Jacobian evaluation, and using better default initial grids and initial guesses
- Introduce 'auto' option to Sim1D.solve to automatically try multiple initial grids
- Generalize initial profile generation for diffusion flames for arbitrary fuel/oxidizer combinations
- Add general support for calculating adjoint sensitivities for 1D flames
- Add a Twin Premixed Counterflow Flame class and example
- Support conversion of surface mechanism files
- Provide better error message for problematic reaction and thermo entries when converting input files
- Add 'nonreactant_orders' option to allow non-reactant orders
- Allow adding species / reactions from Python
- Add new classes Quantity and SolutionArray to Python
- Make Python test suite runnable from an installed copy of the Python module
- Introduced Continuous Integration testing using Travis CI and AppVeyor
- Use Git submodules for Sundials, Eigen, Google Test, and libfmt if system versions are not installed
- Use Sundials and Eigen to eliminate the need for bundled LAPACK
- Added Conda build recipe and made binaries available through anaconda.org
- Add support for Sundials 2.7
- Deprecate unused classes, functions, arguments, and constants (see http://cantera.github.io/dev-docs/doxygen/html/deprecated.html for details)
- Add notices to documentation for classes with no tests or examples (see https://github.com/Cantera/cantera/issues/267)
- Make clib usable as a pure C (not C++) interface and add tests
- C++
Published by speth about 9 years ago
cantera - Cantera 2.2.1
- Maintenance release fixing issues identified since Cantera 2.2.0.
- Now includes Windows binaries for Python 3.5.
- C++
Published by speth about 10 years ago
cantera - Cantera 2.2.0
New major version. Highlights include: - Reformulated multicomponent diffusion calculation to improve 1D solver convergence. - Introduction of Species and Reaction classes which can be used to construct and modify ThermoPhase / Kinetics objects on-the-fly, without necessarily using CTI/XML input files. See the new examples extract_submechanism.py and mechanism_reduction.py. - Better handling of CTI and XML files: Parsed CTI and XML files are cached based on modification time and file content, and implicit conversions are done without generating .xml files. Phases can be imported directly from XML or CTI strings. Both CTI and XML files can import species and reactions from other CTI or XML files. - Enable re-initialization of reactor networks, which improves efficiency for integration with CFD-like codes - see the example surf_pfr.py. - Introduction of a simple radiation model for flames (optically thin, gray gas for CO2 and H2O) - see the example diffusion_flame.py. - Efficient sensitivity analysis of 1D flame solutions (see flamespeed_sensitivity.py). - Added strain rate calculations for diffusion flames (see diffusionflameextinction.py and diffusionflamebatch.py). - Added premixed counterflow flame configuration to Python module (see premixedcounterflowflame.py). - Allow Sundials to link to external (optimized) BLAS/LAPACK libraries. - Support for Sundials 2.6. - Updated Matlab toolbox documentation, which is included in the online HTML documentation.
Downloads available:
- Source code (all platforms) - Download cantera-2.2.0.tar.gz below, and see the compilation guide.
- Windows MSI installers for x86 and x64 systems, including Python modules for Python 2.7, 3.3, and 3.4. See installation instructions for details.
- Ubuntu packages for Trusty (14.04 LTS), Utopic, and Vivid via a Launchpad PPA; see installation instructions
- OS X Homebrew formula; see installation instructions
- C++
Published by speth over 10 years ago
cantera - Cantera 2.0.0
This release of Cantera focuses on improving compatibility with all supported operating systems (Linux/Unix, Windows, and OS X) by introducing a new SCons-based build system. This version adds support for newer versions of several related projects: Python 2.7, NumPy, MinGW, and Sundials 2.5. Many bugs which affected previous versions of Cantera have been fixed.
- C++
Published by speth almost 11 years ago
cantera - Cantera 2.0.1
- Maintenance release fixing issues identified in Cantera 2.0.0.
- C++
Published by speth almost 11 years ago
cantera - Cantera 2.0.2
- Maintenance release fixing issues identified in Cantera 2.0.1.
- C++
Published by speth almost 11 years ago
cantera - Cantera 2.1.0
Some of the major improvements since the release of Cantera 2.0 are: - A new Cython-based Python interface, with a streamlined API and support for Python 3.2 and higher (as well as Python 2.6 and 2.7) - Reformulation of reactor governing equations to improve performance and robustness, especially for larger mechanisms, including the addition of reactor types specifically optimized for ideal gases - Improved support for reactor network sensitivity analysis - Support for "chemically activated" reaction rate parameterizations - Better support for importing "Chemkin"-format mechanisms using ck2cti.py - Numerous improvements to performance and robustness of the 1D solver - More comprehensive save/restore feature for 1D simulations - Test suite coverage of the 1D flame module - Support for compilation using Visual Studio 2012 - Extensive clean-up of Doxygen documentation
- C++
Published by speth almost 11 years ago
cantera - Cantera 2.1.1
- Maintenance release fixing issues identified since Cantera 2.1.0.
- C++
Published by speth almost 11 years ago
cantera - Cantera 2.1.2
- Maintenance release fixing issues identified in Cantera 2.1.1.
- Now includes binaries for Python 3.4.
- C++
Published by speth almost 11 years ago