The deprecation warnings previously observed only on macOS are also
emitted when using Clang 10.0 on Linux. Also, despite supposedly being
resolved in Cython 0.29.14, I still get these warnings in Cython
0.29.21.
Cantera doesn't use this part of Sundials, and bundling all of these
files into the cantera library leads to linker errors when compiling
with MinGW and on macOS, due to redefinition of symbols like
'F2C_CVODE_matrix'.
For the constant-cp (ConstCpPoly) and piecewise-gibbs (Mu0Poly)
species thermo models, the default min and max temperature were both
zero. Because Cantera rarely checks these temperature bounds, use of
these defaults is fine in most cases, but causes confusing errors on
the rare occasions where the bounds are accessed, as in the "gibbs"
(MultiPhase) equilibrium solver.
Setting the default max temperature to infinity avoids these confusing
errors without introducing an arbitrary default value or the
requirement to always specify temperature limits.
Some initial guesses fail (see GitHUb issue #577, or starting with an initial
density guess equl to the critical density); running an alternative initial
guess prevents spurious failures (fix is a band-aid).
While the current 'liquid-water-IAPWS95' thermo model only implements liquid
(and supercritical) states, the underlying IAPWS formulation can be extended
beyond in future revisions.
- avoid 'liquid' as part of the nomenclature
- YAML phase name is updated to `water-iapws95`
- Instead of creating a new wrapper, `iapws95` is added as an alternative
backend to the existing `Water` class
Partially resolves#901
When counting the total number of moles using the MultiPhase, its
count of elements must be used instead of the count in the VCS_SOLVE
object, because the latter sometimes has additional fictitious
elements used for handling charge neutrality constraints.
If the rightmost domain has no solution components of its own, calling
functions which need a pointer to the "local" portion of the solution
vector by taking &m_x[domain(n).loc()] gives a pointer just past the
end of m_x, but this pointer is not used in the function called.
Adding a special case for this to OneDim::start avoids having this be
reported as an error when using bounds checking features like those
enabled by the _GLIBCXX_ASSERTIONS preprocessor macro.
Partially resolves#901
For the burner-stabilized flame, directly solving the "stage 2" case
with drift fluxes for ionized species seems to converge more quickly.
Tighter grid refinement tolerances are needed to accurately resolve
the peak in the electrif field strength.
Added another check for the peak in the electron mole fraction.
Fixes#935.
An indentation error meant that coverage dependencies weren't being
written in the (simpler) case where we don't have to modify the units
for the activation energy.
Fixes#956
Saturated liquid and saturated vapor form the boundary of the vapor dome and
are included in the phase-of-matter labeled 'liquid-vapor-mix'. At the same
time, properties that are based on finite difference calculations of a pure
liquid or pure vapor can be calculated. This approach corresponds to the
implementation of the CoolProp package (http://www.coolprop.org).
The calculation of Substance::Tsat should check for pressures below the
triple point and raise a corresponding exception. A bug causing low
temperature TP setting of heptane (GitHub issue #605) to fail prevents an
implementation of this check at the moment.