* 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...
* Initial rewrite to c++
* Minor cleanup
* Add simple unit test for ph plot
* Add tests for Ts plot
* Use coolprop's lin and logspace functions to generate ranges
* Remove copied file header comments
* Remove code for handling unit conversions
* Replace Optional return from value_at with Nan
* Rename generate_ranges to generate_values_in_range
* Clean up xy_switch code
* Remove redundand <memory> include
* Make namings more consistent
* Further cleanup
* Move implementation to .cpp file
* More renamings
* Finish moving implementation over to .cpp
* Move generate_values out of Details namespace
* Make get_axis_limits const-able
* Constify most of the methods
* Add _ for member variables
* Make isoline methods consts too
* Make tp limits parameter an enum instead
* Try to match the code style with rest of repo
* Move not needed code from .h to .cpp
* Match code style with curly braces on same line
* Update variable names in tests so they make more sense
* Clean up the public api for PropertyPlot
* Add docstrings to public interface in CoolPropPlot
* attempt to add fugacity functions needed for CoolProp.jl
* address first round of PR edits
change std:size_t to long
remove get_fugacity_coefficients
add .def exports
* remove fugacity refs in CoolPropLib.def
* Update fmt submodule to 10.0.0.
* Update format wrapper, add format_as overloads.
- Every enum that is formatted needs to define a format_as overload in
the same namespace.
- Add a wrapper for sprintf for fmt versions without ArgList.
* Add extrapolating secant solver
Sometimes, the backwards ancillary solver fails near the critical
point. This can happen if the ancillary function at its limit
(i.e., critical temperature) does not reach the desired seek value
(e.g., density). Because we are only usually using these to get a
guess value, we can extrapolate them without issue to avoid a crash
near the critical point.
This helps to resolve#2154.
* Stabilize saturation curve solution
Solving for the saturation curve near the critical point can be
unstable. This commit fixes that in a few ways.
1) Prevent the solver from overshooting and prevent a negative
temperature or density.
2) If it does fail, try again with a smaller omega value.
If the solver fails after all of this, we will still throw to allow
something downstream to handle it.
This helps to address issue #2154.
* Move saturation_D_pure max iterations to options
* Add AbstractState functions to CoolPropLib
AbstractState_get_mole_fractions_satState
AbstractState_keyed_output_satState
AbstractState_backend_name
add_fluids_as_JSON
* Overloaded AbstractState_get_phase_envelope_data and appended checkedMemory to function name