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.
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.
Now the complete XML file is storred within the ThermPhase object starting with the root node.
This is needed for later processing of kinetics and transport mechanisms when the ThermoPhase
file is duplicated and the original file is deleted.
xml() is now a const function, and still returns the same pointer.
setXMLdata() is a new function will stores the xml data.
Floating point values are read using a std::stringstream imbued with the "C"
locale to avoid problems with using std::atof when the user's locale uses a
character other than "." as the decimal separator.
Patch provided by Phillip Berndt.
Fixes Issue 153.
Eliminated local alias to array of charges in some functions. Inlined the
"charge" function to mitigate any performance impact. Fixes a number of shadowed
variable warnings.
It works and produces almost the same results as before.
Added DAE_solvers.cpp back in. There was a missing factory function.
Fixed bandsolver indexing calculations in NonlinearSolver and Bandmatrix due
to int to size_t conversion. numerics test programs now work.
These changes make it unnecessary to copy header files around during
the build process, which tends to confuse IDEs and debuggers. The
headers which comprise Cantera's external C++ interface are now in
the 'include' directory.
All of the samples and demos are now in the 'samples' subdirectory.
2012-02-12 02:27:14 +00:00
Renamed from Cantera/src/thermo/Phase.cpp (Browse further)