Commit Graph

5647 Commits

Author SHA1 Message Date
Ian Bell
267d64533a Superancillaries for pure fluids (#2511)
* 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
2025-05-17 20:27:19 -04:00
Ian Bell
629dab9646 Update states 2025-05-17 15:40:19 -04:00
Ian Bell
1415d16281 Skip some tests for pseudo-pure fluids 2025-05-17 15:37:12 -04:00
Ian Bell
73893e88d4 Fix use of uninitialized variable 2025-05-17 15:32:14 -04:00
Ian Bell
d60f51aca8 version is deprecated in docker-compose 2025-05-17 11:47:43 -04:00
Ian Bell
746285e566 Add valgrind files 2025-05-17 11:00:00 -04:00
Ian Bell
a0325820c9 Add workaround note for arch 2025-05-11 19:59:50 -04:00
Ian Bell
75a3bb0edd Docker container for archlinux tester 2025-05-11 19:27:10 -04:00
Ian Bell
319abc1629 Modernize (and test!) embind wrapping for Javascript (#2551)
* Modernization of the embind wrapping

* Try a newer node, worked on windows?
2025-05-08 21:10:49 -04:00
Ian Bell
d85387e654 Add REFPROP for ASAN 2025-05-07 22:26:02 -04:00
Ian Bell
82158450df Update dev_asan.yml 2025-05-07 22:16:25 -04:00
Ian Bell
8ba223e8b6 Add yml file to use tmate to debug containers on actions 2025-05-07 22:07:20 -04:00
Ian Bell
c5b90c7d87 Update dev_asan.yml 2025-05-07 21:39:08 -04:00
Ian Bell
366f12144c Update dev_asan.yml 2025-05-07 20:56:14 -04:00
Ian Bell
4e7623a072 Update dev_asan.yml adding homebrew 2025-05-07 20:44:49 -04:00
Ian Bell
65aed63ed6 Update dev_asan.yml
Wrong default branch
2025-05-07 20:34:01 -04:00
Ian Bell
50a73dfabf Add a method for getting the fluid_param string length (#2547)
Also update the error message
2025-05-07 20:33:26 -04:00
Ian Bell
f2e0070262 Update Readme.rst 2025-05-07 20:32:38 -04:00
Ian Bell
55cc3b446a Add an action to run asan (#2548) 2025-05-07 20:17:57 -04:00
Ian Bell
50fa2dc2b2 Cannot use memset with double arrays
Closes #2545
2025-05-03 16:41:16 -04:00
Ian Bell
3c61e22c44 Implement the array-based caching in AbstractState. (#2544)
* Implement the array-based caching in AbstractState. Not clear much more optimization is possible

Closes #2543
2025-04-30 07:18:43 -04:00
Ian Bell
a1d4433738 Remove the _R from AbstractState 2025-04-29 21:27:15 -04:00
Ian Bell
45fdfaa8ea Config should use unordered_map
Safe change, doubles the speed of lookups
2025-04-28 20:30:11 -04:00
Ian Bell
b20dcbbc8e Array header missing 2025-04-27 17:35:48 -04:00
Ian Bell
b502fc46ce Switch Helmholtz cache to array with memset for clear
Closes #2540
2025-04-27 16:27:59 -04:00
Ian Bell
71c4d24768 Switch methanol to the EOS of de Reuck to match REFPROP
Closes #2538
2025-04-27 09:26:36 -04:00
Ian Bell
dbf8edde68 Update release.rst [skip ci]
Fix RST in release
2025-04-21 18:10:22 -04:00
Ian Bell
5bae01a5e9 Use pickle instead of cPickle; deprecation [skip ci] 2025-04-21 18:06:13 -04:00
Ian Bell
1692e83d4f bump version [skip ci] 2025-04-21 18:05:40 -04:00
Ian Bell
442e8bd298 Version v6.8.0 v6.8.0 2025-04-21 15:39:41 -04:00
Ian Bell
1795a1c2f0 Add imagemagick (and jupyter things) to docker container 2025-04-21 14:17:01 -04:00
Ian Bell
16ac6b3e45 Try to fix caching for incompressible things 2025-04-21 14:16:21 -04:00
Ian Bell
d2cf821af8 Print the versions 2025-04-21 13:36:30 -04:00
Ian Bell
716815200d Allow memory growth 2025-04-21 13:00:26 -04:00
Ian Bell
bb88269495 Need more memory 2025-04-21 12:52:09 -04:00
Ian Bell
c2f8453fab Memory needs to be a multiple of 64 KiB
Add correct permissions
2025-04-21 12:42:16 -04:00
Ian Bell
13a1571e11 For javascript, need to permit more memory use 2025-04-21 12:35:17 -04:00
Ian Bell
752f367b23 Fix one family of failures with bibtex in incomp docs [skip ci] 2025-04-21 12:08:33 -04:00
Ian Bell
33dca80bc6 Relax tolerance for GaoB terms [skip ci] 2025-04-21 11:07:50 -04:00
Ian Bell
b19c29128d Render the formulae with roman characters [skip ci] 2025-04-21 11:01:27 -04:00
Ian Bell
deb54c342f Little tweak to RST [skip ci] 2025-04-21 10:50:05 -04:00
Ian Bell
8268753c7a Ignore the mathjax downloaded file [skip ci] 2025-04-21 10:24:35 -04:00
Ian Bell
544bebd518 Small updates to RST files 2025-04-21 10:24:01 -04:00
Ian Bell
27a58a8962 Fix scientific notation for vapor pressures [skip ci] 2025-04-21 10:22:09 -04:00
Ian Bell
eb4aca8733 Another MathCAD [skip ci] 2025-04-21 10:10:31 -04:00
Ian Bell
7ec0362c84 Fix case of Mathcad links [skip ci] 2025-04-21 09:41:01 -04:00
Ian Bell
347ab5d813 Fix bug in example generation script warning on OSX [skip ci] 2025-04-21 09:36:28 -04:00
Ian Bell
9787e03eb2 Turn octave back on in docs [skip ci] 2025-04-21 09:35:54 -04:00
Ian Bell
6b0a94c97f Ignore example build folders and mathjax [skip ci] 2025-04-21 09:35:26 -04:00
Ian Bell
42089b3034 Fix error message [skip ci] 2025-04-21 09:28:21 -04:00