Cantera 2.3.0 now available

1,425 views
Skip to first unread message

Ray Speth

unread,
Jan 18, 2017, 10:30:52 PM1/18/17
to Cantera Users' Group

Dear all,


I am pleased to announce the release of Cantera 2.3.0. There have been many changes and improvements since Cantera 2.2.0 was released in June 2015. A somewhat abbreviated changelog is included below, in addition to note on installing Cantera 2.3.0 using a variety of methods. Thanks to everyone who contributed to this release, whether it was by providing code updates, bug reports, or participation in this forum.


Regards,
Ray


Installing Cantera 2.3.0


Cantera 2.3.0 introduces a new installation option for the Python package, which is the conda package manager for the Anaconda / Miniconda Python distributions. If you already have an existing conda environment, you can install Cantera 2.3.0 by running

conda install -c cantera cantera

For more details on installing conda and using Cantera with conda, see http://cantera.github.io/docs/sphinx/html/install.html#conda.


The source code and Windows binaries can be downloaded from Github: https://github.com/Cantera/cantera/releases. To use the Matlab toolbox on Windows, install both Cantera-2.3.0-x64.msi and 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. Additional installation instructions for Windows can be found at: http://cantera.github.io/docs/sphinx/html/install.html#windows.


For Ubuntu users, Cantera 2.3.0 packages for both 16.04 (Xenial Xerus) and 16.10 (Yakkety Yak) are available via the PPA at https://launchpad.net/~speth/+archive/ubuntu/cantera. See http://cantera.github.io/docs/sphinx/html/install.html#ubuntu for additional details.


For macOS users, Cantera 2.3.0 will be available pending resolution of Homebrew/homebrew-science#4860. See http://cantera.github.io/docs/sphinx/html/install.html#homebrew for additonal instructions.


And of course, you can also just check out the source code directly using Git from https://github.com/Cantera/cantera. Compilation instructions for all platforms are located at: http://cantera.github.io/docs/sphinx/html/compiling.html.


Documentation


Documentation for Cantera 2.3 can be found at: http://cantera.github.io/docs/sphinx/html/index.html.


Issues & Feedback


Please report any issues on the Github issue tracker at https://github.com/Cantera/cantera/issues. When making a bug report, please specify the exact version of Cantera you are using (i.e.
list the last git commit hash if you are using a git checkout) in addition to providing information about the operating system, compiler versions, Python version, etc. that you are using.


There are number of rarely used or redundant features which have been slated for deprecation. Using these methods in Cantera 2.3 will show a deprecation warning, and these methods will be removed before the following release of Cantera. You can examine the list of deprecated functions at: http://cantera.github.io/docs/doxygen/html/deprecated.html. If you believe any of these deprecations are unwarranted, please create an issue on Github.


In addition, there are a number of classes and features that have been identified as being potentially unused. They are not used internally within Cantera, have no test coverage, and have no examples available. These classes are identified in Issue #267. If you utilize any of these classes, please consider providing tests or examples which can be integrated into Cantera. If these classes and features remain in their current state, they are likely to be deprecated and removed in a future release.


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 #267)
  • Make clib usable as a pure C (not C++) interface and add tests

Hiroumi Tani

unread,
Jan 30, 2017, 2:11:08 PM1/30/17
to Cantera Users' Group
Dear Ray,

Thank you so much for updating us. I wanna report an issue with the build of Cantera 2.3.0 by scons.
I downloaded the source files of Cantera 2.3.0, fmt, eigen and googletest from github.
When I built the Cantera by "scons build", I received an error message about "fmt::sprintf". Sorry, but I cannot show the message because I forgot to save it.
To solve this problem, I added the "fmt/printf.h" in the header of "include/base/fmt.h" as follows;

#if CT_USE_SYSTEM_FMT
  #include "fmt/format.h"
  #include "fmt/ostream.h"
  #include "fmt/printf.h"
#else
  #include "cantera/ext/fmt/format.h"
  #include "cantera/ext/fmt/ostream.h"
  #include "cantera/ext/fmt/printf.h"
#endif

Plus, I copied the "fmt/printf.h" to the "include/cantera/ext/fmt/". These procedure solved my problem.

Best,
Hiroumi

Ray Speth

unread,
Jan 30, 2017, 3:44:47 PM1/30/17
to Cantera Users' Group
Hiroumi,

I think this is caused by changes to fmt since its latest release (3.0.1). You should use this specific version rather than the current development version of the fmt library. After they release a new version, Cantera will be updated to work with their new header file organization, although it will unfortunately be a bit more complicated than the fix you show in order to work with both old and new versions of the library. Thanks for reporting the issue.

Regards,
Ray

Itai Norber

unread,
Jan 3, 2018, 2:11:49 AM1/3/18
to Cantera Users' Group
Good day Ray!

Thank your for this wonderful software.

Just a minor bug in this latest release. I found out that the function "Set_State_VH" in the matlab application isn't implemented.

have a nice day
Itai

Bryan W. Weber

unread,
Jan 3, 2018, 2:20:57 AM1/3/18
to Cantera Users' Group
Itai,

How are you trying to use this function? The function exists, see: https://github.com/Cantera/cantera/blob/master/interfaces/matlab/toolbox/%40ThermoPhase/setState_VH.m

Best,
Bryan
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages