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.
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.
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).
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.
For rate expressions with negative activation energies, evaluating at
unphysically low temperatures (e.g. 1 K) could lead to overflows in calculating
exp(Ea/RT) that are not indicative of problems at more reasonable temperatures.
In C++, these are the reactantString() and productString() methods. In Python,
these are the 'reactants' and 'products' properties.
Resolves Issue 110.
Write plain text to the common Cantera logger to be more consistent with the
verbose/debug logging from other parts of Cantera. This simplifies several of
the transport initialization functions, and eliminates the need for class
XML_Writer.