Commit Graph

1561 Commits

Author SHA1 Message Date
Ian Bell
3ca7635fe0 Update msgpack-c and selectively add boost
(like was done in teqp)
2024-12-07 12:23:03 -05:00
Ian Bell
f86cff92ec Fix critical density for cyclopentane
Should have also been updated when updating the EOS
2024-08-29 08:58:12 -04:00
Ian Bell
56b09a6b75 Fix InChi string/key for R1233zd(E)
Previous values were for the mixture of Z and E isomers
2024-08-05 14:43:15 -04:00
Ian Bell
f6eb03742f Copy the viscosity correlation into parahydrogen
Paper indicates it is valid for normal H2 and para-H2
Closes #2371
2024-04-21 09:51:17 -04:00
Ian Bell
0f423dcd20 Go back to the correct ancillary function from Gao
I had the wrong flag for using_tau_r previously

See https://github.com/CoolProp/CoolProp/issues/2356
2024-02-25 10:27:20 -05:00
msaitta-mpr
443a2fd276 Catch singular explosions in saturation_PHSU_pure (#2250)
* 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.
2024-01-15 19:51:04 -05:00
Ian Bell
ffa5a278ab Fix the triple points densities for R-1336mzz(E) (#2329) 2023-12-06 14:08:13 +01:00
Jorrit Wronski
72e0baae5c Rename R1336mzz(E).json_disabled to R1336mzz(E).json
Prepare for merging #2329
2023-12-06 14:08:00 +01:00
Jorrit Wronski
337526d056 Temporarily remove R1336mzz(E) from the list of fluids until #2309 is fixed 2023-11-29 13:42:16 +01:00
Jorrit Wronski
abe3a1b51b Incompresible versions of CoolProp fluids Acetone, Ethanol, Hexane as well as gaseous air
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.
2023-11-29 08:34:13 +01:00
Jorrit Wronski
78b4f0e7b5 Fix base temperature and composition problems for incompressible fluids (#2324)
use interpolation to avoid the division by zero when calculating incompressible fluid properties exactly at the base temperature or composition, closes #2295
2023-11-29 08:30:45 +01:00
Jorrit Wronski
7bc07f2473 Food properties as incompressible liquids + ice (#2320)
* Directly include the food properties using the coefficients from Choi and Okos (1986)
---------

Co-authored-by: Martin Ryhl Kærn <mrk@ipu.dk>
2023-11-28 11:10:30 +01:00
Jonas Freißmann
ce9c3e57e4 Addition of EoS JSON of R1336mzz(E) from Akasaka-IJT-2023 (#2309)
* 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>
2023-11-27 21:32:20 -05:00
Arnab Mahanti
826e77f122 implemented VISC LAESECK-JPCRD-2017-CO2 (#2268) 2023-07-26 10:53:06 -04:00
Arnab Mahanti
377bab8ebe implemented TCX Huber-JPCRD-2016 for CO2 (#2267)
* implemented TCX Huber-JPCRD-2016 for CO2

* added CarbonDioxideHuberJPCRD2016 to json file

* fixed typo in Huber Eq. 3
2023-07-22 07:49:23 -04:00
VikramGovindarajan
95ece84201 Incomp liqna (#2238)
* 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
2023-04-16 12:32:47 -04:00
msaitta-mpr
3b51038827 Correct typo in n-Hexane rhoV auxilliary (#2230)
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.
2023-03-29 20:31:28 -04:00
Andrés Riedemann
abcb4a53a9 update cyclopentane.json (#2225)
following the suggestion on #2051
2023-03-21 22:08:26 -04:00
msaitta-mpr
7da86af494 Topic 2142 (#2223)
* 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.
2023-03-18 08:07:59 -06:00
Jorrit Wronski
8d3aec55c4 Prepare for v6.4.3 2022-12-16 11:35:35 +01:00
Jorrit Wronski
a885a2b4e0 One more typo 2022-12-13 14:12:01 +01:00
Jorrit Wronski
d0e2778734 Update the version extraction to handle builds without revision 2022-12-13 14:10:36 +01:00
Jorrit Wronski
9faf4ae9bb Prepare for v6.4.2 2022-12-13 14:03:39 +01:00
Jorrit Wronski
ce63a3c01e Finished labelling all the closed issues and PRs 2022-12-08 00:11:53 +01:00
Jorrit Wronski
b7a6f22ab7 Change the order of the mixture coefficients, closes #2149 and renders #2150 obsolete. 2022-12-07 22:24:13 +01:00
Jorrit Wronski
3282b8aa8a Cleaned up the CI configuration and remove CircleCI and TravisCI 2022-12-07 11:55:27 +01:00
Jorrit Wronski
2841dfe217 Build the docs for v6.4.2 (#2191)
- 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.
2022-12-07 11:55:16 +01:00
Jorrit Wronski
f8db5bb217 Use CoolProp's secant solver for humid air calculations. should solve #2190 2022-12-07 11:51:47 +01:00
Jorrit Wronski
bb95bdea72 Added a test file for #1611 and #1678 2022-11-29 21:10:21 +01:00
Zach Baird
96cf4a71cc add PCSAFT page in docs (#2176) 2022-10-20 20:00:22 -04:00
Zach Baird
e52c26c8e8 improve PC-SAFT flash (#2161)
* improve PC-SAFT flash

* fix error in PC-SAFT JSON file

* change C type to string
2022-08-27 18:59:31 -04:00
Julien Marrec
8aa50fc270 Fix mac sed (#2116)
* Minimum fix for sed: mac has a weird sed version...

* Make repalcement from python to avoid dealing with weird sed version on mac

* Try to get the size of the wheels (/!\ 100MB max per upload)

* move setting env vars up a block
2022-04-11 12:35:06 -04:00
Julien Marrec
6913fc41dc Format macros, they keep getting picked incrementally by clang format + Strip trailing whitespaces
```
find . -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx|py)$' | xargs -I@ sed -i 's/[ \t]*$//' "@"
```
2022-04-01 07:39:35 -04:00
Julien Marrec
a7a3c844e2 I think I know why mac is failing, it's because of the newline char (#2110) 2022-04-01 07:38:29 -04:00
Julien Marrec
76b48b35f2 Configure upload to pypi/testpypi (#2109)
* Enable upload to testpypi

* Figure out the next available version to avoid override (especially for testpypi, shouldn't happen for pypi as we should bump in CMakeLists)
2022-03-31 18:53:39 -04:00
Julien Marrec
c1ed08617e Bump Catch 1 to Catch v3.0.0-preview4 (#2105)
* Bump Catch2 to latest v3.0.0-preview4

Bump Catch2 to latest 2.x: 2.13.8

Rename submodule Catch to Catch2

Add catch2 to ctest

Fix missing ";" in catch tests

Use ctest for catch2: run once with little output, then 2nd time with verbose output for failed tests

Run through CatchTestRunner: TEMP: PICK A STYLE

Update Catch to v3.0.0-preview4

Try to migrate to catch2 v3

Ok it builds and runs, but I'm missing tests

Get all files that have inline tests, now I get same behavior as with catch1

Put back app sources

* Remove the link to coolprop lib since I am now using APP_SOURCES instead of just the specific files with tests
2022-03-31 18:47:00 -04:00
Julien Marrec
05c8cf503b Lint: use automated tooling to reformat C++ and CMakeLists files (#2103)
* Add initial clang tidy / clang format config files

* Clang format the entire codebase

```
find ./src -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none
find ./include -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none
find ./Web -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none
find ./dev -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none
find ./wrappers -regextype posix-extended -regex '.*\.(cpp|hpp|c|h|cxx|hxx)$' | xargs clang-format-12 -style=file -i -fallback-style=none
```

* Add a .cmake-format file and reformat CmakeLists.txt with it

https://github.com/cheshirekow/cmake_format

* Add a clang-format workflow


only runs on PRs, only on touched files
2022-03-31 10:51:48 -04:00
Julien Marrec
3b8ed97fbc Github Actions: add shared library and doxygen workflows. (#2098)
* First try at building shared library

* Rename artifact for clarity instead of putting them all in the same

* Add a doxygen worklow

* Extract version from CMakeLists to name the artifacts

* move the extract version bit to a script in dev/ so I can reuse for documentation too

* Disable fail-fast, and don't use fstrings in extract_version.py (mac has a too old python by default, and I don't want to call setuppython actions)

* Mac still picks up a too old python, whatever: just setup any 3.x (it's cached, so quick)

* First try for a Windows Installer package

* forgot to create the build dir

* forgot build type

* Try to re-enable catch2 tests

* adjust

* Leave the coolprop catch2 tests in a separate workflow, since many are currently failing
2022-03-31 10:16:34 -04:00
Julien Marrec
1ae92851f2 Add a cppcheck workflow (#2106) 2022-03-31 10:12:02 -04:00
Ian Bell
be204ce8d5 Implement ancillary equation for ammonia. See #2049 2021-10-24 13:29:17 -04:00
Ian Bell
fe7f6db631 Fix rounding for reducing density for nitrogen; closes #2055 2021-10-24 13:14:08 -04:00
Ian Bell
02746ef456 Fix reducing density for R236ea; #2054
Had been truncated to too few digits
2021-10-24 13:13:07 -04:00
Ian Bell
e6ba7dbee5 Fix typo in last digit for water; closes #2053 2021-10-24 13:10:58 -04:00
Ian Bell
6ce0cac5c3 Fix critical temperature for R-1234ze(E)
Simple typo, not updated when copying from old model
2020-12-29 17:03:11 -05:00
Ian Bell
aae0a21f83 Update nitrogen cp0
See #1982
2020-11-25 19:18:18 -05:00
Ian Bell
cc28edee96 Fix Methane cp0
See #1982
2020-11-25 18:26:28 -05:00
Ian Bell
f7dffbc04b Lay groundwork for cp0 to agree exactly with REFPROP and TREND
See #1982
2020-11-25 18:18:48 -05:00
ian
6ed825635e Fix REFPROP names for three fluids 2020-11-22 10:08:57 -05:00
ian
5c5ee7df47 Fix alias for R1243zf; closes #1980 2020-11-11 18:48:57 -05:00
Ian Bell
c903676096 Add aliases for R-1234ze(Z) 2020-10-21 19:50:32 -04:00