Introduces a new, more natural notation for writing unit strings,
for use in YAML input files. Unlike 'toSI', conversions are checked for
dimensional consistency.
The isysroot and mmacosx-min-version flags are needed to build the
Cantera library, but not to actually use it on macOS. They should be
removed because users don't need these and should use the SDK installed
with XCode.
The thermophase ConstDensityThermo instantiates a class with
constant density_mass Such a model is of dubious physical
validity/applicability and has minimal foreseeable use cases.
This commit marks it for deprecation, and adds a message in
ctml_writer.py (where the model has the misleading alias
'incompressible_solid') refering the interested user to consider
appropriate alternate thermophase classes 'lattice' or
'IdealSolidSoln.'
Removes references to incompressible_solid phase in the codebase.
This phase type references ConstDensityThermo phase, which is a
non-physical model and is to be deprecated, with Cantera 2.5. In
order to enable deprecation, the following changes are hereby made:
- Changes oxide_bulk phase type from incompressible_solid to lattice in sofc.cti
- Changes test_convert.py so that it interrogates the density_mole of the bulk_oxide, rather than density_mass
This will prevent floating point exceptions (sometimes enabled by third-party
codes) in case c[1] or c[2] are zero but will not change the current behaviour
if c[1] and c[2] are not zero.
By default, CMake uses the system SDK on macOS as the system root by
setting the isysroot flag to clang. This setting removes /usr/local from
the include search path.
This should reduce the time needed to set up the build environment and avoid
build failures associated with errors while updating irrelevant homebrew
packages.
After setting the "language_level" directive (6c0866ef), nested comprehension
expressions erroneously triggered an error message from the Cython compiler
saying "local variable 's' referenced before assignment". While the problem has
been fixed in Cython 0.27 and newer, this commit restores compatibility with
older Cython versions as well.
This fixes the warnings generated by recent versions of Cython that
the language_level will be changed in the future. By setting this
directive, all the code in the .pyx files should be written in
Python 3 syntax. This required several changes to the import
syntax in the files to fix relative vs. absolute imports
In the case where temperature changes but the mole fractions are the same, we
still need to apply the enthalpy and entropy offsets to the tabulated species.
Since IdealSolidSolnPhase::_updateThermo wasn't a virtual method, and
the signatures didn't match (const vs non-const), calls to this method
from IdealSolidSolnPhase weren't being overridden by
BinarySolutionTabulatedThermo::_updateThermo as expected.
ctml_writer was severely truncating Redlich-Kwong coefficients when converting
from CTI to XML formats, keeping only 5 significant digints in the "a"
coefficients and two decimal digits in the "b" coefficients, which is less than
what is used even in the example CTI files. The use of the "%f" format also
meant that the precision depended on input units.