The specialized SpeciesThermo derived types offer no performance benefit now
that GeneralSpeciesThermo manages calculation of the temperature terms
efficiently.
Compute the temperature polynomial only once for each parameterization type. By
doing this, we essentially get performance parity with the specialized
SpeciesThermo types (NasaThermo, ShomateThermo, SimpleThermo).
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.