On Linux systems, link tests against the Cantera shared library, rather than the
static library to reduce the size of the compiled test suite. This saves over 1
GB of disk space when compiling with debug symbols enabled, and also reduces the
run time of the test suite.
This does not work on Windows, where the shared library only exports the Cantera
C interface.
This detects errors such as providing two sets of coverage parameters as a
single list, rather than as a list with separate entries for each set of
coverage parameters.
Phase::addElements(string name, ...) is the single entry point for adding
elements. It always perform the uniqueness check, and can do the extra
additional work required to add elements to a phase that already has species,
removing the need for "freezing" the phase's elements. Parsing the XML tree for
elements is now handled in "installElements". The variant element-adding methods
are deprecated.
This mechanism, which is supposed to be the H2 mechanism extracted from GRI-3.0,
was actually missing the reaction H+O2+M <-> HO2+M. This updates the original
input file, regenerates h2o2.cti, and updates the blessed output file for one
test (which changed because the newer version of ck2cti actually retains the
given precision of the transport properties).
Unlike the normal case for CallbackError, where the error message is visible
when it is re-raised in Python, errors occuring during reactor network
integration aren't necessarily terminal, so they can't simply be re-raised after
returning to Python. But we still want to display the information they contain,
so we need to extract that information from the Python exception objects in the
what() function that is called by cvodes_rhs.
This makes it easier to set the composition of a phase based on the composition
of another phase with a different set of species. The threshold argument allows
species with negligible concentrations to be skipped.
Deprecate the unused getMoleFractionsByName function that didn't return a
value.
Tcl/Tk changed some operations which previously resulted in undefined behavior
into errors, including one case that occurred when updating the "Mixtures" menu
in MixMaster.
MixMaster now modifies the existing Menu when adding an item, rather than
completely regenerating it, which avoids this problem.
Fixes Issue 235.
For those cases where the number of atoms in a molecule precludes certain
geometries, check to make sure that that the geometry flag is set
appropriately.
In combination with the previous commit, this significantly improves the
convergence behavior of the solver when using multicomponent transport
properties. In many cases, the solver is now able to directly solve the
multicomponent problem directly from the mixture-averaged solution without any
timestepping.
Change the formulation of multicomponent diffusion fluxes to avoid using the
equivalent Fickian diffusion coefficient. That formulation leads to negative
diffusivities for some species at some grid points, which generate numerical
instabilities while timestepping. This formulation produces a more dense
Jacobian, but with a much better eigenvalue spectrum.