Commit Graph

536 Commits

Author SHA1 Message Date
Ian Bell
e2a16a300b Implemented excess properties in C++; see #1071 2016-07-12 19:31:35 -06:00
Ian Bell
ccc4568cbd Re-implement fundamental derivative of gas dynamics; closes #1145 2016-07-09 17:13:44 -06:00
Ian Bell
f5e4e3faea Add viscosity for the xylenes; closes #1068 2016-07-04 00:09:03 -06:00
JonWel
579bba98c4 Export specify_phase() to the library, closes #1133 (#1134)
* Cubic calc_molar_mass, closes #1124

* Add simplified update and output functions
This allows simpler use of the low level interface by using the strings name instead of the parameter number.
The parameter number version stays and will be faster for more than one call with the same parameter.

* Add AbstractState_update_and_1_out

* Export specify_phase() to the library

* small correction
Safer to only accept an array of real numbers here.

* Small correction
Specifying the type of the array to avoid any convertion
2016-06-22 21:57:13 -06:00
Ian Bell
84f7eff363 Drastically improve stability of QT for cubics through the use of spinodal pressures 2016-06-15 23:34:26 -06:00
Jorrit Wronski
63c6c184e5 Solved #1120 with C++11 constructors, moving back to C++98 2016-06-10 12:58:01 +02:00
Jorrit Wronski
94bcee472f introduced backend enumerations, I hope this fixes #1120 reliably 2016-06-10 12:19:18 +02:00
Ian Bell
c16a4b64f5 Fix integer types in #1114 2016-06-08 07:30:28 -06:00
JonWel
afeca6a8b2 Export set_binary_interaction_double + Julia wrapper improvement (#1114)
* Precompiling of Julia Wrapper only for Julia 0.4+
Should allow to keep compatibility with Julia 0.3

* Export set_binary_interaction_double
to the shared library and add it to Julia Wrapper

* Correct comment in previous commit

* Change tab to spaces in precendent commit

* Add update_and_*_out functions

Add `AbstractState_update_and_common_out` and `AbstractState_update_and_5_out` to the wrapper

* Update .gitignore
2016-06-08 07:19:14 -06:00
Ian Bell
8c9b1a5e9b Added Helmholtz energy throughout the API as output parameter; closes #1086 2016-06-05 15:56:37 -06:00
Ian Bell
154de451fe Fix set_reference_stateD(); closes #1091
Now all inputs are molar, and the function actually works!
2016-06-05 15:16:02 -06:00
JonWel
a5c7886e47 Export first_partial_deriv to DLL wrapper of AbstractState, see #946 (#1062) 2016-05-11 07:10:51 -06:00
Ian Bell
4dd6a9860e Add rho*sr scaling methodology for viscosity from Bell paper in Purdue conference
closes #816
closes #665
2016-05-10 21:32:20 -06:00
Ian Bell
5fcb5dd2a9 Add apply_simple_mixing_rule to AbstractState; fix bug with SatL and SatV and setting interaction parameters
closes #1048
closes #1049
2016-05-07 19:51:25 -06:00
Ian Bell
3c24e94a28 Copy PlatformDetermination.h into the top of CoolPropLib.h; see #946 2016-05-06 18:21:01 -06:00
Jorrit Wronski
7a8eb7c21e Guard against multiple definitions of "_CRT_SECURE_NO_WARNINGS" macro on Windows 2016-04-21 15:33:38 +02:00
Ian Bell
cd996fb1ff Make the gas constant an adjustable parameter and update to CODATA 2014 value 2016-04-07 20:14:39 -06:00
Ian Bell
616d775aa9 Typo in TPD fix; see #1019 2016-04-07 20:09:19 -06:00
Ian Bell
3f50ba07ee Fix docs for tangent_plane_distance; closes #1019 2016-04-07 20:03:58 -06:00
Ian Bell
130c6ed456 Add ability to use GERG in REFPROP; closes #923 2016-04-04 20:06:01 -06:00
Ian Bell
2c64bdaadf Add chemical potential as abstract state method
For example:

```
auto fluids = strsplit("Methane&Ethane", '&');
auto x = { 0.6,0.4 };

shared_ptr<CoolProp::AbstractState> RP(CoolProp::AbstractState::factory("HEOS", fluids));
RP->set_mole_fractions(x);
RP->update(PT_INPUTS, 101325, 300);
auto mu1 = RP->chemical_potential(0);

RP.reset(CoolProp::AbstractState::factory("REFPROP", fluids));
RP->set_mole_fractions(x);
RP->update(PT_INPUTS, 101325, 300);
auto mu2 = RP->chemical_potential(0);
```
2016-03-30 22:10:57 -06:00
Ian Bell
9ec2acc664 Add cair_sat to DLL/SO; closes #1005 2016-03-24 17:31:18 -06:00
Ian Bell
a35f09f81b Cubics now are validated and new cubic fluids can be added
Lots of changes:
* Cubics are validated against schema
* Schema can be returned as string
* Added preliminary docs for cubics
* Cubic fluids can be added programmatically
2016-03-24 15:40:25 -06:00
Ian Bell
02e0323b67 Fix order of initialization for solver wrapper class 2016-03-21 20:28:47 -07:00
Ian Bell
8a03d2bd55 Move error string into solver class; see #985 2016-03-19 22:40:14 -07:00
Ian Bell
61caa8902e Fix include for msgpack-c; see #994 2016-03-19 21:13:03 -07:00
Ian Bell
137a850b49 Where possible, remove include paths
Can't do so for Eigen.

closes #994
2016-03-19 21:08:30 -07:00
Ian Bell
2160b02985 Implement 95% of the BIP setting/getting
See #1000
2016-03-19 20:39:40 -07:00
Ian Bell
913c6188a2 Allow ability to adjust the fineness of the refinement of the phase envelope from the high-level 2016-03-18 22:46:28 -07:00
Ian Bell
470514a8e3 Refactor phase envelope packaging with msgpack to remove external msgpack-c include
Also, don't package msgpack or rapidjson with CoolProp.  Doesn't seem necessary now
2016-03-18 21:37:49 -07:00
Ian Bell
18954facc5 Also add the configuration key 2016-03-18 21:30:58 -07:00
Ian Bell
545cbab36c Kill min and max macros to close #995 2016-03-13 10:43:45 -07:00
Ian Bell
59470d005b Added two headers that might help with #995 2016-03-12 17:33:27 -07:00
Jorrit Wronski
b498d8b287 Added the generated cubic header to the ignore files 2016-03-09 10:08:51 +01:00
Ian Bell
5da7326e31 Massive improvements to stability of flash routines. Nitrogen now has 0 failures. 2016-02-27 19:27:23 -07:00
Ian Bell
e7319b8190 One more try with header refactor 2016-02-21 22:38:49 -07:00
Ian Bell
11d952ff61 Fix _HUGE and accumulate errors 2016-02-21 22:21:36 -07:00
Ian Bell
423d08ae50 Update DBL_EPSILON 2016-02-21 22:13:33 -07:00
Ian Bell
42e414556a Break up tools headers into pieces that make more sense, allowing for potentially smaller binaries and faster compilation 2016-02-21 21:36:56 -07:00
Ian Bell
1c43a644ce Update critical point evaluation routines and remove some double-calculations of critical matrices 2016-02-17 17:34:26 -07:00
Ian Bell
525557f230 Add ability to get/set kij for cubics by overloading set/set_binary_interaction_double 2016-02-16 19:50:55 -07:00
Jorrit Wronski
3f1dd9f3d3 Added cppformat as external library, see #952 and #907. Does https://github.com/CoolProp/CoolProp/blob/master/dev/codelite/coolprop.project need updating? 2016-02-17 01:08:23 +01:00
Ian Bell
a58c9268a4 Added PT flash for cubic EOS 2016-02-14 12:41:18 -07:00
Ian Bell
d35330e0b7 Switch rapidjson over to using git submodule - for use with schema 2016-02-13 17:15:45 -07:00
Ian Bell
154bafed14 Try to remap CoolProp to always be a double 2016-02-01 16:32:43 -07:00
Ian Bell
0afd2f4400 Switch string formatting to use the cppformat library; see #907 2016-02-01 15:57:33 -07:00
Ian Bell
1273c2fe57 Fix duplicate copies of the same critical point; closes #885 2016-01-31 18:11:04 -07:00
Ian Bell
3d455b678d Add Smolar_residual to high-level API 2016-01-28 06:33:25 -07:00
Ian Bell
74e36aceac Prepare for CoolPropDbl->double; see #931 2016-01-18 19:46:18 -07:00
Ian Bell
8aac0656ad Add ability to get starting values for water mixture VLE iteration from Henry's law 2016-01-16 21:47:52 -07:00