Since the Species object now stores its SpeciesThermoInterpType contents as a
shared_ptr, it is undesirable to have the Species constructor take this as a raw
pointer argument.
These objects do not need to know the index of the species within the phase, so
the new constructors do not take that as an argument.
For the NASA polynomial constructors, the order of the coefficients arrays in
the new constructors has been modified to match the conventional ordering of the
coefficients as written in thermo database files.
The specialized SpeciesThermo derived types offer no performance benefit now
that GeneralSpeciesThermo manages calculation of the temperature terms
efficiently.
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.
HMWSoln: avoid recomputing lambdas if ionic strength hasn't changed.
MaskellSolidSolnPhase: Avoid recomputing activity coefficients if
r and T haven't changed.
Fix sign error in chemical potentials and update
activity coefficients accordingly.
Correct implementation of getActivityConcentrations()
Additional unit tests.
installShomateThermoFromXML now checks that
7 coefficients are supplied in the floatArray and
throws if that is not the case.
Also update MaskeLLSolidSolnPhase_Test xml files
to correctly contain 7 coefficients to not trigger
the newly added throw.
Based on Maskell, Shaw, and Tye, Electrochimica Acta 28(2) 225-230 1983.
Includes unit tests checking calculation of the chemical potential values
and parsing of the mixing enthalpy parameter from an XML file.
When instantiating a phase from a .cti file, do the conversion in memory,
without writing the XML representation to disk. This eliminates the unrequrested
XML files that Cantera normally generates, and also avoids errors when running
Cantera from a directory where the user does not have write permissons.