Commit Graph

204 Commits

Author SHA1 Message Date
Ian Bell
07cc87b8b2 A partial resolution of https://github.com/CoolProp/CoolProp/issues/107
All internal values are molar, so the error message is only truly useful if you are using molar units

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-26 13:44:49 +02:00
Ian Bell
f6a4f7e239 Added tests for new outputs
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-26 13:30:41 +02:00
Ian Bell
12d62b076b Added critical point values for REFPROP to close https://github.com/CoolProp/CoolProp/issues/117
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-26 13:14:17 +02:00
Ian Bell
289c1b3b61 Mixture derivatives now use std::size_t instead of int everywhere
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-25 18:36:47 +02:00
Ian Bell
a6850b8f19 Successive substitution is working again
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-25 15:37:30 +02:00
Ian Bell
9435b2d136 Moved mixture derivatives into their own file and more functions take references rather than pointers
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-25 13:32:25 +02:00
Ian Bell
d9ef19a3a8 Improved docs for mixture derivatives
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-25 11:34:33 +02:00
Ian Bell
c398ea91a7 Added more tests for second derivatives
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-24 20:45:07 +02:00
Ian Bell
799422fe40 Implemented generalized second derivative, seems to work, implemented at PropsSI level too
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-24 17:26:46 +02:00
Ian Bell
4b082029c4 Finally repaired flash routines.
Some edge cases remain

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-24 13:40:46 +02:00
Ian Bell
16251c4fb1 Fixed sat_T at very low pressures
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-23 16:54:27 +02:00
Ian Bell
d3261395bf Replaced all fabs() with std::abs()
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-23 14:56:07 +02:00
Ian Bell
cd8ee9eb52 Added code and tests for saturation ancillaries (p, rho', rho'')
Closes https://github.com/CoolProp/CoolProp/issues/75

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-23 13:01:56 +02:00
Ian Bell
69bbdc693b Reimplemented critical region splines all the way from scripts to build to C++ code
Closes https://github.com/CoolProp/CoolProp/issues/94

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-22 22:14:48 +02:00
Ian Bell
5bb399b22d Fixed bug with REFPROP fluid loading (REFPROP bug?) 2014-08-22 09:13:16 +02:00
Ian Bell
ab98aae25d Added cross-references for transport flags 2014-08-21 01:17:54 +02:00
Ian Bell
b4ff7a8cc5 Implemented viscosity for cyclohexane from Tariq, 2014.
Added unit tests, reformulated initial density term

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-21 00:50:57 +02:00
Ian Bell
0dcdf7ef5d Implemented PQ for pseudo-pure to close https://github.com/CoolProp/CoolProp/issues/92
* As a consequence, made update function take CoolProp::input_pairs enum as first input (thanks @jowr for the idea)
* Decoupled the pre_update and post_update functions in order to allow for more creative update functions using guess values, etc.

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-20 21:44:13 +02:00
Ian Bell
b58e3cbe70 Fixed bug in https://github.com/CoolProp/CoolProp/issues/93
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-19 01:14:05 +02:00
Ian Bell
881a6c4616 Added handling for first partial derivative as a string - added tests - they pass
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-19 00:34:26 +02:00
Ian Bell
569ebc43ac First derivatives are calculated by gridded tabular backend
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-18 22:00:25 +02:00
Ian Bell
e3fba36d81 Gridded table builds
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-18 19:28:54 +02:00
Ian Bell
dd71b1ac22 Really this time un-specify the phase
More logical debug output for invalid phases

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-18 19:26:31 +02:00
Ian Bell
99da465b06 Unspecify the phase after the HP solver with Brent - test added
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-18 18:52:06 +02:00
Ian Bell
f7464fcaa2 Implemented Eigen solution for all() function, speed testing next
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-17 21:09:27 +02:00
Ian Bell
fc2e618fb7 Speed optimizations for saturation routines
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-16 17:50:04 +02:00
Ian Bell
4041e88a5e Fully implemented, but a lot slower, why?
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-16 16:13:03 +02:00
Ian Bell
29632c72e6 Transition complete to generalized exponential term
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-15 22:03:40 +02:00
Ian Bell
2270f9f076 Helmholtz derivatives are all calculated using parallel code - next step is to remove classes from Helmholtz
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-15 21:16:41 +02:00
Ian Bell
61bc24e7b1 phases is now an enum, added (non-working) critical region VLE solver
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-15 17:13:00 +02:00
Ian Bell
3e0864e620 Ncomp is now a std::size_t
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-15 17:11:25 +02:00
Ian Bell
2136f417b9 Updated codelite and added Tabular backend structure
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-15 15:44:55 +02:00
Ian Bell
a7ddd80d5a Much more progress on PY flash routines. Only a few edge cases that fail, otherwise all is good
Moved from bounded secant to Brent for stability

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-13 14:26:47 +02:00
Ian Bell
baf5a88a8e Added backup saturation_T routine
It actually has exactly the same form as saturation_p. Interesting.  Possibility for optimization?

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-13 12:16:14 +02:00
Ian Bell
a84edcdb57 Implemented saturation P 1D solver for low pressure for some fluids like n-Propane
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-13 11:24:27 +02:00
Ian Bell
f7c0cb0b06 Relaxed some pressure domain checks and pass state by reference
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 23:40:16 +02:00
Ian Bell
acd7f98b74 Fixed typo in PQ_flash
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 21:44:05 +02:00
Ian Bell
8f9c6ca438 Added hs_anchor test (passing) and function get_state to allow to get access to states stored in the backends
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 21:17:34 +02:00
Ian Bell
e4c8d3f061 Python wrapper is more or less back in action completely. Additional testing is required.
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 16:25:33 +02:00
Ian Bell
5726d38975 Bump up max temps for melting lines to make them valid up to the maximum pressure of EOS
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 12:02:56 +02:00
Ian Bell
b7bd58d986 More work on flash routines, number of failures is rapidly decreasing - still have problems for low pressure sat_p calcs
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 11:21:12 +02:00
Ian Bell
79eca1d58e check both versions of REFPROP on windows always
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-12 08:50:14 +02:00
Ian Bell
ce5d8a919f D(T,P) falls back to Brent if can't get good solution with other solvers
A guaranteed solution if the solution domain made wide enough

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-10 21:39:09 +02:00
Ian Bell
8bd4227f38 Added T for phase determination p calculations 2014-08-10 21:02:15 +02:00
Ian Bell
86641af670 Fixed some errors with two-phase Trho inputs
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-10 20:38:59 +02:00
Ian Bell
36d601490f Lots more work on melting curves, can now make pretty phase diagram for water including the melting line 2014-08-10 19:28:04 +02:00
Ian Bell
7203107b67 Can use pseudo-pure fluids again with REFPROP backend
Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-10 16:15:43 +02:00
Ian Bell
c3cc696080 P,Y now works if P > pc
Add supercritical_gas and supercritical_liquid phase flags for a bit finer granularity

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
2014-08-09 15:10:09 +02:00
Ian Bell
1a6e516eb0 Merge branch 'master' of https://github.com/coolprop/coolprop 2014-08-09 13:59:48 +02:00
Ian Bell
adc207685d First check the empty file extension in REFPROP 2014-08-09 13:57:49 +02:00