The docs workflow cached `Consistencyplots/` under a static key, so
fluids added after the cache was first populated (e.g. Chlorine in
ee1e5416) never got consistency plots generated — producing dead
links like `.../Chlorine.html#consistency-plots`.
- `fluid_properties.Consistency.py`: skip fluids whose PNG already
exists unless `COOLPROP_FORCE_CONSISTENCY=1`, so a cache-restored
run is a cheap no-op that still picks up newly added fluids.
- `scripts/__init__.py`: move Consistency.py into the always-run
task list (incremental check makes it safe); `full_rebuild=True`
now sets `COOLPROP_FORCE_CONSISTENCY=1` to preserve the
force-regenerate semantics.
- `docs_docker-run.yml`: cache key now hashes `dev/fluids/*.json` and
`dev/incompressible_liquids/json/*.json`, with a `cached-props-`
restore-key so adding a fluid invalidates the exact-key match and
triggers an incremental regeneration seeded from the previous cache.
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* docs: add predefined mixtures table to Mixtures documentation
Adds a new section "Predefined mixtures" to Web/fluid_properties/Mixtures.rst
listing all 154 predefined mixtures with their components and mole fractions.
Each mixture is tested at build time; those that fail (missing binary interaction
parameters or not present in the compiled library) are flagged in a Notes column.
Also updates the code examples in the new section to use the required .mix suffix,
and registers the generation script in the doc build task list.
Closes#2711
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* docs: improve predefined mixtures table error messages and auto-count
- Replace CAS numbers with fluid names in binary interaction parameter errors
- Detect and report missing pure fluids by name
- Distinguish 'not registered as predefined mixture' from missing BIP
- Write PredefinedMixturesCount.rst so the mixture count in Mixtures.rst
is generated automatically rather than hardcoded
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Expansions are fully wrapped, looking good. Next step is the set of expansions that is the 1D approximation
* Get 1D approx working via cython
* Count solutions
* SuperAncillary class is working
>1000x speedup for water
Time for C++!
* Superancillaries are working!
In C++, speedup is more than 2000x. In Python, more like 150x because of Python <-> C++ overhead
* Add pmax check for PQ superancillary calls
* Update tests
* Allow T limits to be obtained
* Implement get_fluid_parameter_double for getting superanc value
* Add tests for getting parameters from superanc
* Script for testing superancillaries for sphinx
* Microoptimizations; don't help speed
The limiting factor remains the clear function, which takes about 30 ns
* Add R125 superancillary
* Use the release from fastchebpure for the files
* Drop a .gitignore in the unzipped folder
* Update superancillary injection script
* Turn on superancillaries by default
* Missing header
* Many int conversions in superancillary
* Another int cast
* More annoying solution for boost iter max
* Fix warnings
* One more warning
* Clear up the calculation of rho
* Update docs_docker-build.yml
Use arm64 since the containers were built on mac
* Superfluous ;
* Update backend.py
* Get the critical points working for superancillaries
* Fix wrapping changes of xmin&xmax methods
* squelch warnings
* Version 0 of jupyter notebook for docs
* Try to add the notebook to the docs
* Add jupyter notebook for superancillary
* Lots of updates to superancillary notebook
* More updates to docs
* Skip pseudo-pure for superancillary docs
* Fix output of superancillary figures
* Add superancillary plots to docs for the page for each fluid
* Make a placeholder figure for fluids without superancillary
* Add superancillary plots to task list
* Bump to release fixing m-xylene
* Relax the location of the REFPROP stuff
* Change default name for R-1336mzz(E)
* No need for figures to be so large
* Don't need REFPROP setting
* Bump to fastchebpure release with methanol
* Benchmark caching options
* Benchmark more granularly
* Add the fast methods to public API for HEOS class
* Back to memset - can memset with 0 but no other value
* Fix how caching is managed in Helmholtz class
* Close to final implementation
Perhaps a tiny bit more optimization possible?
* Update function name
* Make message more accurate
* Fix init order
* Expose update_QT_pure_superanc to Python
* Fix when _reducing is set for pures
* Fix the post_update
* Indent
* Notebook
* Notebook
* Make ln(p) construction lazy
Only really matters for debug builds
* Also make reference non-const
* Inject superancillary for methanol
* Make the superancillary loading entirely lazy in debug
* Fix PH bug for Nitrogen
Closes#2470
* Force the clear to be called on SatL and SatV
To invalidate them at start
* Default is non-lazy superancillary loading
* Add CMake option to have lazy-loading superancillaries [skip ci]
Not a good idea unless doing very narrow testing
- Streamlined the build of the HTML documentation based on a private docker image.
- Invoke doxygen and Sphinx to create the final HTML pages.
- Employ a cache for the GitHub actions to store the output of the expensive tasks.
- Restructured the GitHub actions builders and introduced a naming scheme.
- Fixed a few typos in the docs.
- Automatically publish the documentation to GitHub pages.
* autopep8 whitespace only:
--select="E101,W1,W2"
* revert single file: web2py_online.py
Should this be a .py file at all?
* revert file Tickets/1443.py because the diff looked strange:
maybe there is an encoding problem?
* Rename web2py_online.py to web2py_online.rst