CTML_VERSION_1_4_1 was never used, and defining CTML_VERSION_1_4 broke reading
values written by the addInteger and addFloat functions with the getInteger and
getFloat functions, respectively.
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 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.
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.
Failures in 'integrate' and 'advance' now include the error text provided by
CVodes directly, rather than just the numerical error code. This is especially
helpful in cases where the direct output from CVodes to stderr is lost
(e.g. when running from the Matlab GUI).
This makes it possible to use species and reactions from external CTI files,
rather than only external XML files, since the datasrc extension assumed in the
cti->xml conversion is .xml.
There are a series of activity coefficients for published battery models
which actually overflows. Cantera was treating this as a nonerror and changing
the return results without comment. This is not correct. Made the behavior a
user controlled capability.