* 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...
* Catch singular explosions in saturation_PHSU_pure
Sometimes, the Akasaka solver has issues. This is usually caught and
then it is retried with a new omega. However, sometimes it goes bad
because the J matrix is singular, and this is not caught because the
error is not recalculated.
This commit recalculates the error term to prevent a bad result.
* Add comment to explain error check in saturation_PHSU_pure
* Add extra update check after saturation_PHSU_pure
During saturated PHSU flash calculations, SatL and SatV states have an
imposed phase. This is good for stability, but there is a small chance
that they can both up up with a matching third variable (e.g.,
pressure) that is not actually at the saturation point. This commit
forces a final DT update without this requirement. If an actual solution
has been found, the the error term will still be small. If not, then we
throw an exception and try again.
This continues work on #2245.
* Ensure that saturated phase is specified
In saturation_PHSU_pure, we unspecify the phase of SatL and SatV to
perform a final check. However, for any future updates, these states
*must* be set with specified phase. This commit ensures that no matter
what happens (exception, etc.) the phase is always specified again.
* Revert "Ensure that saturated phase is specified"
This reverts commit c6b650b861.
The commit caused potential recursive lookups and did not solve the
issue at hand.
* Update the ammonio saturated rhoV ancillary
The rhoV ancillary gave somewhat wrong results. This commit provides a
closer fit that prevents errors downstream.
Use an existing CoolProp installation to create data sets for Acetone, Ethanol, Hexane as well as gaseous air. These fluids are added to the list of incompressible fluids for simplified calculations.
use interpolation to avoid the division by zero when calculating incompressible fluid properties exactly at the base temperature or composition, closes#2295
* Add EOS JSON for R1336mzz(E) from Akasaka-IJT-2023.
* Add BibTeX entry for Akasaka-IJT-2023.
* Add BibTeX_EOS label in R1336mzz(E).json.
* Update R1336mzz(E).json
Fix the triple point liquid density, without it, VLE calculations fail
---------
Co-authored-by: Ian Bell <ian.h.bell@gmail.com>
* Liquid sodium properties added in incompressible liquids from range 400 K to 2500 K in steps of 100 K.
np.float changed to float in SecCoolFluids.py (Deprecated alias)
json file generated and added
* a bug in liquid sodium viscosity value corrected
* specific heat capacity fit was not proper for liquid sodium.
after removing two data points at the high temperature end, the fit is reasonable and is retained as of now.
* liquid sodium json file updated
* specific heat fit for liq sodium was not satisfactory for full range 400 K to 2300 K.
hence the range of values for specific heat of liq sodium reduced to 400 K to 1000 K and new coefficients updated
The rhoV auxilliary for n-Hexane had accidentally been set to use
reduced tau. This commit fixes the typo. This prevents bad guesses
for a number of property evaluations which use saturated states.
* Remove R1233zd(E) hL ancillary
The R1233zd(E) hL ancillary performs poorly. This can result in a
failure to converge when provided inputs (p/h) lie between the
ancillary saturation curve and the true saturation curve. Removing
the ancillary makes CoolProp fall back to a robust saturation
solver.
* Add 0.01 K cushion to Tmax in HSU_P_flash
Within HSU_P_flash, if an ancillary is used it can have a small
error. If the point of interest is near that saturation curve, this
error can prevent the solver from converging. Adding a 0.01 K margin
account for small ancillary errors and allow the solver to converge.
* Correct 0.01K cushion
The 0.01K adjustment should increase the potential range of the
solver. Previously, the minimum was increased, but it should be
decreased.