Commit Graph

1618 Commits

Author SHA1 Message Date
Ian Bell
b4f60955ef Try to relax a tolerance to get plots tests to pass 2025-08-07 18:40:09 -04:00
Ian Bell
559a8cbaf3 pseudo-pure refrigerants should not have superancillaries
See #2568
2025-07-04 19:15:03 -04:00
Ian Bell
a21f8eaccc Update plot test data with auto-generation script
Closes #2536
See #2484
2025-07-04 12:25:45 -04:00
Ian Bell
02162b3e47 Fix melting lines so they can be evaluated at pmax 2025-06-15 09:25:03 -04:00
Ian Bell
df23e1c568 Fix reference states to match REFPROP 10.0
Something weird with incbin not pulling in new version of file
2025-06-15 09:07:07 -04:00
Ian Bell
264c816ad7 Clean up the fluid files 2025-06-14 16:00:40 -04:00
Ian Bell
52f6966607 Cleanup message [skip ci] 2025-05-23 08:43:01 -04:00
Ian Bell
f4bf6b5ade Force --version to be provided and non-empty 2025-05-23 08:18:43 -04:00
Ian Bell
a1182474d4 And the missing fixed script 2025-05-22 21:03:07 -04:00
Ian Bell
91c9880375 Let's try chronologic versioning for testpypi 2025-05-22 20:05:30 -04:00
Ian Bell
40cbc70eb9 More annoying leak info
Caught a few true positives
2025-05-19 08:28:25 -04:00
Ian Bell
0734e5759f R1336MZZE is not available in REFPROP 10.0, so disable the REFPROP name for now 2025-05-18 19:37:36 -04:00
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
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
71c4d24768 Switch methanol to the EOS of de Reuck to match REFPROP
Closes #2538
2025-04-27 09:26:36 -04:00
Ian Bell
1795a1c2f0 Add imagemagick (and jupyter things) to docker container 2025-04-21 14:17:01 -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
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
26e10c9de7 Add a more complete error message for git revision failure 2025-04-10 19:03:17 -04:00
Ian Bell
1efba209b5 Better diagnostic info when git fails to get the revision 2025-04-08 19:41:38 -04:00
Ian Bell
9241ec9a44 Fix Octave building (OSX at least)
Closes #2520
2025-04-07 21:13:33 -04:00
Ian Bell
eb6cef3160 Add some info for how to get java working 2025-04-07 20:44:42 -04:00
Ian Bell
36aa685a08 The doc building might be working again 2025-04-07 20:39:43 -04:00
Ian Bell
700a1ac7df Assume R to be provided by homebrew on mac 2025-04-07 19:37:33 -04:00
Ian Bell
4456af3f5f More doc tweaking 2025-04-07 11:49:17 -04:00
Ian Bell
ee737d77b4 more nan 2025-04-07 10:14:19 -04:00
Ian Bell
1f9360ed5c Two more np.nan 2025-04-07 07:30:28 -04:00
Ian Bell
fa27c24e94 Remove deprecated use of np.NAN, replace with np.nan 2025-04-07 07:29:46 -04:00
Ian Bell
8a1b1f8bca Jump to python 3.13 for doc builder 2025-04-06 21:35:14 -04:00
Ian Bell
855293c4ce Add pickleshare and nbsphinx to container 2025-04-06 21:16:55 -04:00
Ian Bell
0a41d0d876 jinja2 is now no longer allowed to be < 3.0 by sphinx.
Patch cloud_sptheme, no longer being developed
2025-04-06 14:50:23 -04:00
Ian Bell
c0d5ecb7a4 Add note about how to get the right token 2025-04-06 09:16:26 -04:00
Ian Bell
f224520cbe Catch json errors in loading hashes
This is a new one...
2025-04-05 16:25:08 -04:00
Ian Bell
9891a1df3a Update Dockerfile for doc base image 2025-04-05 08:32:10 -04:00
Ian Bell
bbda2f3c28 A more helpful error message when R_BIN is provided but incorrect 2025-04-04 18:10:38 -04:00
Ian Bell
6489fa3688 Add the raw for the escaped character 2025-04-03 20:45:25 -04:00
Ian Bell
a72baafc77 Add fluid files with superancillary data (#2503)
* Add fluid files with superancillary data

* Delete the large generated z-compressed header
2025-03-22 21:33:18 -04:00
Ian Bell
8484f8fb71 Inject superanc 2025-03-10 20:32:22 -04:00
Ian Bell
747f2b0235 Move to more modern pyproject.toml builds
Backwards compatible with old approach
2025-03-09 12:50:09 -04:00
Ian Bell
dc360fc167 miniz fluids (#2495)
* Ignore depcache files [skip ci]

* Z lib compress the fluid data

And migrate to newer version of miniz

* Add the writing of the .z file

* This works on MSVC, not sure about any other platform

How does one inform the linker about what locations to search for this file?

* Does this give the necessary linking info to the compiler?

* Include the header only for MSVC

* The incbin is still needed for non-windows

* Missing headers for Python

* Add miniz source file

* Missing import

* Provide a solution for compilers that don't support assembly to embed files

* Don't specify standard since we have mixed C/C++

https://stackoverflow.com/questions/49000674/cython-std-c11-error-using-both-c-and-c

* rename miniz to cpp

* And cmake

* Back to .c again

Not sure what to do about Python now

* Build the C library and then link it in

* FIx cmake too

* Location for .z file

* arg to setup function

* Check for z file [skip ci]

* Force build temp to be here

* Try switching to setuptools version

* Force the build_temp to be build before clib construction begins

That was subtle...
2025-03-09 10:38:56 -04:00
Ian Bell
86266727a3 Add rudimentary dependency management on header generation (#2494)
Based file modification times. The hash-based method is good, but quite slow as files get larger
2025-03-08 10:12:09 -05:00
Ian Bell
f03e8aa810 Revert "Modernize use of git in building headers"
This reverts commit 1419689b66.
2025-03-08 08:27:05 -05:00
Ian Bell
1419689b66 Modernize use of git in building headers 2025-03-08 08:11:26 -05:00
Ian Bell
f6f1279c8d Silence a lot of tests that are not serious problems
See #2484
2025-03-02 14:00:15 -05:00