Replaced the bare Newton's method with a root finder. This algorithm
is tolerant of step jumps in Thermo parameters at the temperature
boundaries.
The algorithm also has an initial treatment of spinodals. Basically,
if we are currently liquid, we want to stay liquid. If we are currently
gas, we want to stay gas.
-> Changed the damping strategy
-> Upgraded the initial find-temperature strategy
-> changed the solution tolerance requirements -> sometimes it was
getting hung up at the end.
venture out of bounds more. There was a user issue where this cropped
up, and triggered a false convergence error.
Upped the debug printouts on this issue too.
for mechanisms with all NASA9 species. The max and min temperatures
weren't being computed, which caused NaN's to appear during the
transport property data fitting procedure.
for beta1 and 5 coefficients for beta2. They are now the same as
beta0 and Cphi.
All xml blocks using this parameterization must be modified accordingly.
with arbitrary number of temperature intervals,
to Cantera's underlying routines.
Cantera can now read fortran formatted
NASA9 polynomials to create cti files
The cti files can then be translated into xml files.
And, the xml files can now be read into constant pressure standard state
objects and used normally within the guts of Cantera.
Currently, the standard state just links into the GeneralSpeciesThermo
object, which means that it's calculation speed is slow. However, atm
this satisfies the initial use case for this new capability.
In the near future, I'll push this out to the matlab and python interfaces.
declaration/definition of static variables in templatized classes.
There is an irreconcilable difference between cygwin and Solaris, that
I handled by creating a compiler define in config.h.
solaris.
preconfig now sets it to null.
Unless the user has set it to something nonnull,
configure then resets it to -fPIC for all platforms except for Solaris,
where it set to null. Solaris doesn't require -fPIC.
Solaris decided a declaration was actually a definition.
So, I changed the way templated static storage is declared. It
still needs to be defined once and only once on all platforms.