The default will exit the Sphinx build with error code 1 if any warnings
are encountered, but it will print all the warnings from a single run.
Since all the warnings from Sphinx are now resolved, this change means
that any CI failures due to warnings from Sphinx should be fixed before
merging a pull request.
The Sphinx build requires both the Cython module to have been built and
the doxygen run to have finished. When running the build in parallel
with scons build -j#, there was the possibility that Sphinx could run
before all its dependencies were built. This change adds dependencies
for the Sphinx builder on Doxygen and the Cython module, resolving the
problem.
This has been bugging me for years, and I'm very happy to have finally
fixed it! To debug this, I used the -vv output from sphinx-build to
inspect what autodoc was doing. autodoc seemed to have no problem
reading the source, but it was indeed generating reST with unmatched
emphasis and strong markers. Although it really seems like autodoc
should be able to handle this case, apparently it can't. Then, I was
reading the autodoc documentation when I noticed this idea of an event
handler, a function that gets called whenever a particular event
happens. I realized I could get in and munge the docstring text to
replace any unescaped splats with escaped ones.
- Use two backticks where links to methods/properties are not intended
- Move examples to be before the parameter list
- Consistently format parameter descriptions
It seems that one space and one tab character were causing warnings
from Sphinx about the docstring of equivalence_ratio. That is resolved
in this change and the example is moved to its more typical place above
the parameters.
Sphinx 4.0 (from the main branch) is incompatible with several
extensions we use (katex, matlabdomain). Set a maximum for the Sphinx
version installed during the CI run to avoid unintentional breakage.
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