This commit is contained in:
Ian Bell
2014-08-01 16:38:47 +02:00
116 changed files with 2196 additions and 16248 deletions

View File

@@ -13,12 +13,12 @@ Superpacks are available at XXXXXXX which include all the code for a given opera
======================= =========================== =======================================
Language Operating Systems Notes
======================= =========================== =======================================
:ref:`Python <Python>` linux, OSX, win
:ref:`Octave <Octave>` linux, OSX, win Wrapper is SWIG based
:ref:`C# <Csharp>` linux, OSX, win Wrapper is SWIG based
Java linux, OSX, win Wrapper is SWIG based
:ref:`MATLAB <MATLAB>` linux, OSX, win Wrapper is SWIG based (VERY experimental)
:ref:`Java <Java>` linux, OSX, win Wrapper is SWIG based
Scilab linux, OSX, win Wrapper is SWIG based (experimental)
MATLAB linux, OSX, win Wrapper is SWIG based (VERY experimental)
Python linux, OSX, win
Modelica linux, OSX, win
Javascript linux, OSX, win Also works in all internet browsers
Maple
@@ -77,4 +77,4 @@ OSX should come with a c++ compiler (clang), for git and cmake your best bet is
:hidden:
Octave/index.rst
Csharp/index.rst
Csharp/index.rst

View File

@@ -205,7 +205,7 @@ def combine_json(root_dir):
master = []
for file in glob.glob(os.path.join(root_dir,'dev','incompressible_liquids','*.json')):
for file in glob.glob(os.path.join(root_dir,'dev','incompressible_liquids','json','*.json')):
path, file_name = os.path.split(file)
fluid_name = file_name.split('.')[0]

2
dev/incompressible_liquids/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
/report/
/.ipynb_checkpoints/

View File

@@ -1,203 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.53181e+02
],
[
-9.14490e+01
],
[
-1.32115e+02
],
[
-9.94598e+01
]
],
"type": "polynomial"
},
"Tbase": 3.05650e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.45374e+02,
-4.06786e+02,
2.32588e+02,
-1.56913e+02,
-1.07428e+02,
1.19226e+03
],
[
8.70681e-01,
-1.56046e+00,
7.90936e-01,
-2.92692e-02,
-2.37209e-01,
0.00000e+00
],
[
-5.35276e-03,
1.08291e-02,
-6.11730e-03,
5.71603e-03,
0.00000e+00,
0.00000e+00
],
[
-1.56076e-07,
-6.13994e-06,
3.17983e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.04734e+03,
1.40448e+02,
-4.87056e+01,
7.14169e+01,
5.24585e+01,
-6.93396e+02
],
[
-4.50505e-01,
-3.00158e-01,
-3.95261e-02,
2.49626e-02,
-6.81758e-02,
0.00000e+00
],
[
-2.43270e-03,
-2.08438e-05,
3.10835e-04,
-8.97971e-04,
0.00000e+00,
0.00000e+00
],
[
-3.72522e-09,
1.04478e-06,
-4.39116e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "ASHRAE, Ethylene Glycol",
"mass2input": {
"coeffs": [
[
3.25615e-01,
9.78679e-01,
1.49269e-01,
3.63567e-02,
-3.46769e-01,
-1.01166e+00
]
],
"type": "polynomial"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AEG",
"reference": "ASHRAE Fundamentals Handbook 2001, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.59655e+03,
-1.70707e+03,
-4.44754e+02,
-5.52792e+02,
-7.15906e+02,
7.90530e+03
],
[
3.09689e+00,
5.18438e+00,
-7.06138e-01,
7.94989e-01,
-6.68939e-01,
0.00000e+00
],
[
-3.38864e-05,
3.63972e-04,
9.16994e-04,
-5.35982e-03,
0.00000e+00,
0.00000e+00
],
[
3.17128e-07,
-2.45734e-06,
1.41954e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.19337e+00,
2.88130e+00,
8.37439e-01,
-1.92963e+01,
-1.31098e+01,
2.52859e+02
],
[
-2.41085e-02,
-1.59301e-02,
-6.96121e-03,
-6.32225e-02,
-2.65148e-01,
0.00000e+00
],
[
1.76448e-04,
1.70879e-04,
-4.01434e-04,
-2.47710e-04,
0.00000e+00,
0.00000e+00
],
[
-1.31542e-06,
-1.74532e-06,
9.97346e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.42655e+02
],
[
-6.22455e+01
],
[
-3.62720e+01
],
[
-3.81369e+01
]
],
"type": "polynomial"
},
"Tbase": 2.78150e+02,
"Tmax": 3.23150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.23150e+02,
"conductivity": {
"coeffs": [
[
5.03033e-01,
-1.18124e-01,
1.22604e-02,
-4.81554e-02,
-6.86435e-02,
-2.69198e-01
],
[
9.82231e-04,
-5.70913e-04,
4.63187e-04,
-1.21107e-03,
-3.38279e-03,
0.00000e+00
],
[
8.30321e-08,
-4.46942e-07,
5.51279e-08,
-1.55146e-05,
0.00000e+00,
0.00000e+00
],
[
-4.12992e-09,
1.03566e-08,
4.48548e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.26379e+03,
3.10829e+02,
-4.95857e+01,
2.44750e+02,
2.08703e+02,
3.88899e+01
],
[
-3.57604e-01,
-1.63231e-01,
1.73516e-02,
-2.27169e-01,
-2.62087e-01,
0.00000e+00
],
[
-1.11454e-04,
2.96450e-04,
-8.42446e-04,
-1.39887e-03,
0.00000e+00,
0.00000e+00
],
[
-4.06738e-05,
-3.30502e-05,
1.52425e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Antifrogen KF, Potassium Formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AKF",
"reference": "Clariant GmbH Jan. 2000, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.86669e+00,
-1.20396e+00,
1.01011e+00,
3.36595e+00,
-3.83552e+00,
-1.96448e+01
],
[
1.31823e-03,
-1.75221e-03,
-6.87013e-03,
7.79496e-03,
2.83631e-02,
0.00000e+00
],
[
1.66298e-07,
3.29186e-06,
-1.40127e-05,
6.37505e-06,
0.00000e+00,
0.00000e+00
],
[
5.92069e-09,
-3.28861e-08,
2.92178e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.08527e+00,
1.36617e+00,
5.63719e-01,
5.38741e-01,
1.54431e+00,
2.50128e+00
],
[
-2.39090e-02,
-8.58392e-03,
2.51336e-03,
3.47628e-02,
-2.37824e-02,
0.00000e+00
],
[
1.66964e-04,
-5.07638e-04,
1.09707e-03,
-9.64705e-04,
0.00000e+00,
0.00000e+00
],
[
-6.71424e-06,
5.30223e-06,
-3.46799e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 7.00000e-01,
"xid": 2,
"xmax": 1.00000e+00,
"xmin": 4.00000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.55606e+02
],
[
-8.55434e+01
],
[
-1.11262e+02
],
[
-8.51004e+00
]
],
"type": "polynomial"
},
"Tbase": 2.93150e+02,
"Tmax": 3.53150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.53150e+02,
"conductivity": {
"coeffs": [
[
4.39309e-01,
-4.18248e-01,
2.07942e-01,
2.44072e-02,
-3.87048e-01,
4.48292e-01
],
[
2.43917e-04,
-3.64724e-03,
1.99310e-03,
4.33674e-03,
-2.14561e-03,
0.00000e+00
],
[
-9.43748e-07,
7.25046e-06,
-2.15644e-05,
1.41520e-05,
0.00000e+00,
0.00000e+00
],
[
2.09785e-08,
3.80846e-08,
-9.68744e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.03427e+03,
9.92541e+01,
-2.92974e+01,
-8.07054e+01,
-5.51870e+01,
-1.35767e+02
],
[
-5.25649e-01,
-6.91564e-01,
-9.58106e-02,
5.22262e-01,
1.30731e+00,
0.00000e+00
],
[
-2.86157e-03,
2.15927e-03,
1.17377e-03,
1.72686e-03,
0.00000e+00,
0.00000e+00
],
[
1.26019e-05,
3.89662e-06,
3.78836e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Antifrogen L, Propylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AL",
"reference": "Clariant GmbH Jan. 2000, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.80756e+00,
-1.52916e+00,
-1.26456e+00,
1.31193e-01,
6.29246e-01,
-4.30131e-01
],
[
2.19962e-03,
8.68464e-03,
1.96805e-03,
-1.06077e-02,
-6.66506e-03,
0.00000e+00
],
[
3.01594e-06,
-2.83617e-05,
3.90256e-06,
8.05890e-05,
0.00000e+00,
0.00000e+00
],
[
1.98685e-10,
1.82859e-07,
3.74653e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.41445e+00,
4.28585e+00,
-8.09908e-01,
1.39768e+00,
-1.47956e+01,
-4.04099e+01
],
[
-3.87655e-02,
-3.41529e-02,
-1.09813e-02,
9.44568e-02,
-6.68245e-02,
0.00000e+00
],
[
2.97989e-04,
-3.17601e-05,
1.61393e-03,
1.44119e-03,
0.00000e+00,
0.00000e+00
],
[
-1.28331e-06,
-3.70486e-06,
-2.99608e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.52420e+02
],
[
-8.24572e+01
],
[
-1.29295e+02
],
[
-2.11010e+02
]
],
"type": "polynomial"
},
"Tbase": 2.93150e+02,
"Tmax": 3.53150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.53150e+02,
"conductivity": {
"coeffs": [
[
4.57783e-01,
-3.17736e-01,
2.90675e-01,
-2.30276e-02,
-6.60398e-01,
-1.28956e+00
],
[
2.02498e-04,
-3.15006e-03,
1.41191e-03,
6.66716e-03,
-7.57305e-03,
0.00000e+00
],
[
6.60426e-07,
-1.45577e-05,
-5.78443e-07,
7.74864e-05,
0.00000e+00,
0.00000e+00
],
[
-8.72899e-09,
7.36889e-08,
-1.23574e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.05794e+03,
1.70264e+02,
-3.87552e+01,
-1.98696e+02,
1.60669e+02,
1.13505e+03
],
[
-4.01555e-01,
-6.80156e-01,
-1.31669e-01,
2.80752e-01,
-1.00194e+00,
0.00000e+00
],
[
-2.78910e-03,
4.65307e-03,
3.92360e-05,
3.33566e-03,
0.00000e+00,
0.00000e+00
],
[
6.10953e-06,
-4.77509e-06,
4.96236e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Antifrogen N, Ethylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AN",
"reference": "Clariant GmbH Jan. 2000, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.62977e+00,
-2.07088e+00,
-5.08384e-01,
4.62370e+00,
1.64094e+00,
-1.78289e+01
],
[
1.86500e-03,
9.42382e-03,
6.03989e-03,
-4.06848e-02,
-3.63437e-02,
0.00000e+00
],
[
6.86292e-06,
-1.56638e-05,
-8.62796e-05,
2.41699e-04,
0.00000e+00,
0.00000e+00
],
[
-1.50858e-08,
-9.80426e-08,
6.54037e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.03551e+00,
2.74051e+00,
1.48402e+00,
6.39522e+00,
-8.82785e+00,
-4.96015e+01
],
[
-3.01333e-02,
-1.79247e-02,
-5.96455e-02,
6.70173e-02,
4.14554e-01,
0.00000e+00
],
[
2.65215e-04,
6.09376e-04,
-6.49731e-04,
-2.67949e-03,
0.00000e+00,
0.00000e+00
],
[
-2.12877e-06,
-6.85323e-06,
1.77008e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,203 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.56287e+02
],
[
-8.34536e+01
],
[
-1.65094e+02
],
[
-1.84857e+02
]
],
"type": "polynomial"
},
"Tbase": 3.05650e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.32977e+02,
-4.53555e+02,
1.84501e+02,
-2.43521e+02,
6.26649e+01,
1.89136e+03
],
[
7.33887e-01,
-1.96685e+00,
9.86140e-01,
-1.81757e-02,
-1.62875e+00,
0.00000e+00
],
[
-5.42417e-03,
1.10080e-02,
-3.75481e-03,
5.47669e-04,
0.00000e+00,
0.00000e+00
],
[
5.87975e-07,
-6.77723e-07,
-2.21307e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.02618e+03,
7.25368e+01,
-6.53255e+01,
3.46657e+01,
-1.58278e+01,
-2.13988e+02
],
[
-5.35006e-01,
-5.05630e-01,
1.75128e-01,
-9.23330e-02,
2.87743e-02,
0.00000e+00
],
[
-2.56616e-03,
-1.70358e-04,
1.16589e-03,
-2.07517e-04,
0.00000e+00,
0.00000e+00
],
[
-5.17733e-09,
9.67318e-09,
3.36886e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "ASHRAE, Propylene Glycol",
"mass2input": {
"coeffs": [
[
3.44491e-01,
1.01746e+00,
1.07297e-01,
-6.23239e-02,
-8.16893e-01,
-1.55261e+00
]
],
"type": "polynomial"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "APG",
"reference": "ASHRAE Fundamentals Handbook 2001, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.81539e+03,
-1.39188e+03,
-1.12140e+03,
-4.19394e+02,
-2.43530e+02,
4.05415e+03
],
[
3.02575e+00,
5.55861e+00,
-1.07339e-01,
5.29072e-01,
-2.26208e+00,
0.00000e+00
],
[
4.16534e-05,
-9.03207e-05,
-3.39217e-03,
1.07947e-02,
0.00000e+00,
0.00000e+00
],
[
-4.30948e-07,
-1.33518e-06,
3.53890e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.48710e+00,
3.57366e+00,
-1.99521e+00,
-6.42511e+00,
3.60195e+01,
5.35088e+01
],
[
-3.28440e-02,
-3.83834e-02,
8.22353e-02,
1.52079e-02,
-1.12374e+00,
0.00000e+00
],
[
2.49201e-04,
3.52989e-04,
-5.11955e-04,
-6.57229e-04,
0.00000e+00,
0.00000e+00
],
[
-1.15577e-06,
-1.21654e-06,
3.23012e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,92 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": -10,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
5.14259e-01
],
[
1.48300e-03
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.09000e+03
],
[
-2.00000e-01
],
[
1.66533e-16
],
[
-1.89735e-18
]
],
"type": "polynomial"
},
"description": "Aspen Temper -10, Potassium acetate/formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AS10",
"reference": "Aspen Petroleum AB, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.54183e+03
],
[
2.01000e+00
],
[
-1.32589e-02
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
2.80155e+00
],
[
-1.06314e-01
],
[
2.35381e-03
],
[
-2.11481e-05
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,92 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": -20,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.80766e-01
],
[
1.34200e-03
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.14700e+03
],
[
-2.21429e-01
],
[
-1.42857e-03
],
[
2.98156e-19
]
],
"type": "polynomial"
},
"description": "Aspen Temper -20, Potassium acetate/formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AS20",
"reference": "Aspen Petroleum AB, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.26252e+03
],
[
2.86000e+00
],
[
-1.22673e-02
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.35858e+00
],
[
-4.17551e-02
],
[
8.14818e-05
],
[
1.60342e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,92 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": -30,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.60388e-01
],
[
1.25600e-03
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.18386e+03
],
[
-3.10859e-01
],
[
-1.03896e-03
],
[
1.76768e-05
]
],
"type": "polynomial"
},
"description": "Aspen Temper -30, Potassium acetate/formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AS30",
"reference": "Aspen Petroleum AB, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.07504e+03
],
[
2.99000e+00
],
[
-2.70232e-02
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.55518e+00
],
[
-4.51874e-02
],
[
9.74090e-05
],
[
1.86342e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,92 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": -40,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.43327e-01
],
[
1.09900e-03
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.21484e+03
],
[
-3.78199e-01
],
[
-1.09307e-03
],
[
1.68350e-05
]
],
"type": "polynomial"
},
"description": "Aspen Temper -40, Potassium acetate/formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AS40",
"reference": "Aspen Petroleum AB, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.97788e+03
],
[
2.28000e+00
],
[
-3.87227e-02
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.73307e+00
],
[
-5.42737e-02
],
[
2.78602e-04
],
[
4.99909e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,95 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": -55,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.25799e-01
],
[
9.37902e-04
],
[
2.28700e-06
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.24975e+03
],
[
-4.76296e-01
],
[
-1.17189e-03
],
[
1.98824e-05
]
],
"type": "polynomial"
},
"description": "Aspen Temper -55, Potassium acetate/formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "AS55",
"reference": "Aspen Petroleum AB, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.83985e+03
],
[
2.29000e+00
],
[
-2.48618e-02
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.79891e+00
],
[
-6.30089e-02
],
[
4.30552e-04
],
[
7.31131e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -2,6 +2,7 @@ from __future__ import division, print_function
import numpy as np
from scipy.optimize._minimize import minimize
from scipy.optimize.minpack import curve_fit
import sys
# Here we define the types. This is done to keep the definitions at one
# central place instead of hiding them somewhere in the data.
@@ -12,77 +13,209 @@ class IncompressibleData(object):
Implements both data structures and fitting
procedures.
"""
def __init__(self):
self.INCOMPRESSIBLE_NOT_SET = 'notdefined'
self.INCOMPRESSIBLE_POLYNOMIAL = 'polynomial'
self.INCOMPRESSIBLE_EXPONENTIAL = 'exponential'
self.INCOMPRESSIBLE_EXPPOLYNOMIAL = 'exppolynomial'
self.INCOMPRESSIBLE_EXPOFFSET = 'expoffset'
self.INCOMPRESSIBLE_POLYOFFSET = 'polyoffset'
self.INCOMPRESSIBLE_CHEBYSHEV = 'chebyshev'
INCOMPRESSIBLE_NOT_SET = 'notdefined'
INCOMPRESSIBLE_POLYNOMIAL = 'polynomial'
INCOMPRESSIBLE_EXPPOLYNOMIAL = 'exppolynomial'
INCOMPRESSIBLE_EXPONENTIAL = 'exponential'
INCOMPRESSIBLE_LOGEXPONENTIAL= 'logexponential'
INCOMPRESSIBLE_POLYOFFSET = 'polyoffset'
INCOMPRESSIBLE_CHEBYSHEV = 'chebyshev'
SOURCE_DATA = 'data'
SOURCE_EQUATION = 'equation'
SOURCE_COEFFS = 'coefficients'
SOURCE_NOT_SET = 'notdefined'
maxLin = np.finfo(np.float64).max-1
minLin = -maxLin
maxLog = np.log(maxLin)
minLog = -maxLog
def __init__(self):
self.source = self.SOURCE_NOT_SET
self.type = self.INCOMPRESSIBLE_NOT_SET
self.coeffs = None #np.zeros((4,4))
self.data = None # None #np.zeros((10,10))
self.xData = None # In case you need a customised first data set (temperature?)
self.yData = None # In case you need a customised second data set (concentration?)
self.sErr = None # Coefficient of determination
self.DEBUG = False
self.maxLog = np.log(np.finfo(np.float64).max-1)
self.minLog = -self.maxLog
@staticmethod
def baseFunc(x, y=0.0, xbase=0.0, ybase=0.0, eqnType=None, c=None):
self.DEBUG = False
if eqnType==None: raise ValueError("You did not provide data for eqnType.")
if c==None: raise ValueError("You did not provide data for the coefficients.")
### Base functions that handle the custom data type, just a place holder to show the structure.
def baseFunction(self, x, y=0.0, xbase=0.0, ybase=0.0, c=None):
if c==None:
c = self.coeffs
if self.type==self.INCOMPRESSIBLE_POLYNOMIAL:
if eqnType==IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL:
return np.polynomial.polynomial.polyval2d(x-xbase, y-ybase, c)
elif self.type==self.INCOMPRESSIBLE_POLYOFFSET:
if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.basePolyOffset(c, x) # offset included in coeffs
elif eqnType==IncompressibleData.INCOMPRESSIBLE_POLYOFFSET:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return IncompressibleData.basePolyOffset(c, x) # offset included in coeffs
elif self.type==self.INCOMPRESSIBLE_EXPONENTIAL:
if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.baseExponential(c, x-xbase)
elif eqnType==IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return IncompressibleData.baseExponential(c, x)
elif eqnType==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return IncompressibleData.baseLogexponential(c, x)
elif self.type==self.INCOMPRESSIBLE_EXPPOLYNOMIAL:
elif eqnType==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL:
return np.exp(np.polynomial.polynomial.polyval2d(x-xbase, y-ybase, c))
elif self.type==self.INCOMPRESSIBLE_EXPOFFSET:
if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.baseExponentialOffset(c, x-xbase)
else:
raise ValueError("Unknown function: {0}.".format(self.type))
def baseExponential(self, co, x):
r,c,coeffs = self.shapeArray(co)
raise ValueError("Unknown function: {0}.".format(eqnType))
@staticmethod
def baseExponential(co, x):
r,c,coeffs = IncompressibleFitter.shapeArray(co)
if not ( (r==3 and c==1) or (r==1 and c==3) ):
raise ValueError("You have to provide a 3,1 matrix of coefficients, not ({0},{1}).".format(r,c))
coeffs_tmp = np.array(coeffs.flat)
return np.exp(np.clip( (coeffs_tmp[0]/ ( x+coeffs_tmp[1] ) - coeffs_tmp[2]),self.minLog,self.maxLog))
def baseExponentialOffset(self, c, x):
raise ValueError("Function not implemented.")
r,c,coeffs = self.shapeArray(c)
if not ( (r==4 and c==1) or (r==1 and c==4) ):
return np.exp(np.clip( (coeffs_tmp[0]/ ( x+coeffs_tmp[1] ) - coeffs_tmp[2]),IncompressibleData.minLog,IncompressibleData.maxLog))
@staticmethod
def baseLogexponential(co, x):
r,c,coeffs = IncompressibleFitter.shapeArray(co)
if not ( (r==3 and c==1) or (r==1 and c==3) ):
raise ValueError("You have to provide a 4,1 matrix of coefficients, not ({0},{1}).".format(r,c))
coeffs_tmp = np.array(coeffs.flat)
return np.exp(np.clip( (coeffs_tmp[1]/ ( x-coeffs_tmp[0]+coeffs_tmp[2]) - coeffs_tmp[3]),self.minLog,self.maxLog))
return np.exp(np.clip(np.log(np.clip(1.0/(x+coeffs_tmp[0]) + 1.0/(x+coeffs_tmp[0])**2,1e-10,IncompressibleData.maxLin))*coeffs_tmp[1]+coeffs_tmp[2],IncompressibleData.minLog,IncompressibleData.maxLog))
def basePolyOffset(self, co, x):
r,c,coeffs = self.shapeArray(co)
@staticmethod
def basePolyOffset(co, x):
r,c,coeffs = IncompressibleFitter.shapeArray(co)
if not ( c==1 or r==1 ):
raise ValueError("You have to provide a 1D vector of coefficients, not ({0},{1}).".format(r,c))
offset = coeffs[0][0]
coeffs = np.array(coeffs.flat)[1:c]
coeffs = np.array(coeffs.flat)[1:]
return np.polynomial.polynomial.polyval(x-offset, coeffs)
### Base functions that handle the custom data type, just a place holder to show the structure.
def baseFunction(self, x, y=0.0, xbase=0.0, ybase=0.0, c=None):
if c==None: c = self.coeffs
return self.baseFunc(x, y, xbase, ybase, self.type, c)
def fitCoeffs(self, xbase, ybase, x=None, y=None):
if (x!=None and self.xData!=None and not IncompressibleFitter.allClose(x, self.xData)) \
or (x==None and self.xData==None): raise ValueError("I do not know which x-value you would like to use. Define either x or self.xData.")
if (y!=None and self.yData!=None and not IncompressibleFitter.allClose(y, self.yData)) \
or (y==None and self.yData==None): raise ValueError("I do not know which y-value you would like to use. Define either y or self.yData.")
if x==None and self.xData!=None: x=self.xData
if y==None and self.yData!=None: y=self.yData
#res = None
#r2 = None
res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \
xbase=xbase, ybase=ybase, \
eqnType=self.type, \
coeffs=self.coeffs, DEBUG=self.DEBUG)
bestCoeffs = np.copy(res)
bestType = self.type
bestsErr = np.copy(sErr)
bestRMS = np.sqrt(np.square(bestsErr).mean()).sum()
count = 0
while bestRMS>0.01 and count<2:
#if self.DEBUG: print("Poor solution found, trying once more with more coefficients.")
if self.type==IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL:
if self.DEBUG: print("Poor solution found with exponential, trying once more with log exponential.")
self.type=IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL
self.coeffs = np.array([-250,1.5,10])
res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \
xbase=xbase, ybase=ybase, \
eqnType=self.type, \
coeffs=self.coeffs, DEBUG=self.DEBUG)
elif self.type==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL:
if self.DEBUG: print("Poor solution found with log exponential, trying once more with exponential polynomial.")
self.type=IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL
self.coeffs = np.zeros((4,6))
res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \
xbase=xbase, ybase=ybase, \
eqnType=self.type, \
coeffs=self.coeffs, DEBUG=self.DEBUG)
# elif self.type==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL:
# if self.DEBUG: print("Poor solution found with exponential polynomial, trying once more with normal polynomial.")
# self.type=IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL
# self.coeffs = np.zeros((4,6))
# res,sErr = IncompressibleFitter.fitter(x=x, y=y, z=self.data, \
# xbase=xbase, ybase=ybase, \
# eqnType=self.type, \
# coeffs=self.coeffs, DEBUG=self.DEBUG)
RMS = np.sqrt(np.square(sErr).mean()).sum()
if RMS<bestRMS: # Better fit
bestCoeffs = np.copy(res)
bestType = self.type
bestsErr = np.copy(sErr)
bestRMS = RMS
count += 1
if bestCoeffs==None:
if self.DEBUG: print("There was a fitting error, no solution found.")
elif IncompressibleFitter.allClose(bestCoeffs, self.coeffs):
if self.DEBUG: print("Coefficients did not change.")
else:
if self.DEBUG: print("Best fit for: {0}".format(bestType))
self.coeffs = bestCoeffs
self.type = bestType
self.sErr = bestsErr
#if self.DEBUG: print("Fitting statistics:")
#SSE = np.square(self.sErr).sum() # Sum of squares due to error
#SST = ((zData-zData.mean())**2).sum()
#R2 = 1-(ssErr/ssTot )
def setxData(self, xData):
if self.xData==None:
self.xData = xData
else:
if self.DEBUG: print("Cannot update xData, value is set already.")
def setyData(self, yData):
if self.yData==None:
self.yData = yData
else:
if self.DEBUG: print("Cannot update yData, value is set already.")
def setxyData(self, xData, yData):
self.setxData(xData)
self.setyData(yData)
def toJSON(self):
j = {}
try:
j['coeffs'] = self.coeffs.tolist()
except:
j['coeffs'] = 'null'
j['type'] = self.type
return j
class IncompressibleFitter(object):
@staticmethod
def allClose(a,b):
if np.array(a).shape==np.array(b).shape:
return np.allclose(a, b)
else: return False
@staticmethod
def shapeArray(array, axs=0):
"""
@@ -113,75 +246,116 @@ class IncompressibleData(object):
raise ValueError("You have to provide a 1D-vector or a 2D-matrix.")
return (r,c,np.reshape(array,(r,c)))
@staticmethod
def fitter(x=None, y=None, z=None, \
xbase=0.0, ybase=0.0, \
eqnType=None, \
coeffs=None, DEBUG=False):
""" The entry point to the fitting routines
:param x : a 1D array in x direction or 2D with one column, most likely temperature
:param y : a 1D array in y direction or 2D with one row, most likely cocentration
:param z : a 2D array of data, rows = len(x[:,0]) and cols = len(y[0])
:param xbase : a value to be subtracted from x, might not be used
:param ybase : a value to be subtracted from y, might not be used
:param eqnType : an instance of IncompressibleData.INCOMPRESSIBLE_ ...
:param coeffs : the initial guess and shape (!) for the desired coefficients, can be zeros
:param DEBUG : message to display
:returns : None if failed or coeffs filled with the right values
def fitCoeffs(self, x=0.0, y=0.0, xbase=0.0, ybase=0.0):
"""
A function that selects the correct equations and
fits coefficients. Some functions require a start
guess for the coefficients to work properly.
"""
dr,dc,_ = self.shapeArray(self.data)
xr,xc,x = self.shapeArray(x)
yr,yc,y = self.shapeArray(y, axs=1)
"""
if self.DEBUG: print("Data : ({0},{1})".format(dr,dc))
if self.DEBUG: print("x-axis : ({0},{1})".format(xr,xc))
if self.DEBUG: print("y-axis : ({0},{1})".format(yr,yc))
if x==None: raise ValueError("You did not provide data for the x-values.")
if y==None: raise ValueError("You did not provide data for the y-values.")
if z==None: raise ValueError("You did not provide data for the z-values.")
if xbase==None: raise ValueError("You did not provide data for xbase.")
if ybase==None: raise ValueError("You did not provide data for ybase.")
if eqnType==None: raise ValueError("You did not provide data for eqnType.")
if coeffs==None: raise ValueError("You did not provide data for the coefficients.")
if DEBUG==None: raise ValueError("You did not provide data for DEBUG.")
if dr==1 and dc==1: #
if self.DEBUG: print("Data no set, we cannot fit the coefficients")
self.coeffs = None
self.type = self.INCOMPRESSIBLE_NOT_SET
return
zr,zc,_ = IncompressibleFitter.shapeArray(z)
xr,xc,x = IncompressibleFitter.shapeArray(x)
yr,yc,y = IncompressibleFitter.shapeArray(y, axs=1)
if DEBUG: print("Data : ({0},{1})".format(zr,zc))
if DEBUG: print("x-axis : ({0},{1})".format(xr,xc))
if DEBUG: print("y-axis : ({0},{1})".format(yr,yc))
if zr==1 and zc==1: #
if DEBUG: print("Data no set, we cannot fit the coefficients")
return None,None
if (xc!=1): raise ValueError("The first input has to be a 2D array with one column.")
if (yr!=1): raise ValueError("The second input has to be a 2D array with one row.")
if (xr!=dr): raise ValueError("First independent vector and result vector have to have the same number of rows, {0} is not {1}.".format(xr,dr))
if (yc!=dc): raise ValueError("Second independent vector and result vector have to have the same number of columns, {0} is not {1}.".format(yc,dc))
cr,cc,_ = self.shapeArray(self.coeffs)
if self.DEBUG: print("Coefficients: ({0},{1})".format(cr,cc))
if (xr==1 and xc==1 and cr>1):
if self.DEBUG: print("Discarding coefficient rows, {0} -> {1}".format(cr,xr))
self.coeffs = self.coeffs[0]
self.coeffs = self.coeffs.reshape((1,cc))
if (yr==1 and yc==1 and cc>1):
if self.DEBUG: print("Discarding coefficient columns, {0} -> {1}".format(cc,yc))
self.coeffs = self.coeffs.T[0]
self.coeffs = self.coeffs.reshape((cr,1))
cr,cc,_ = self.shapeArray(self.coeffs)
if self.DEBUG: print("Coefficients before fitting: \n{0}".format(self.coeffs))
if (xr!=zr): raise ValueError("First independent vector and result vector have to have the same number of rows, {0} is not {1}.".format(xr,zr))
if (yc!=zc): raise ValueError("Second independent vector and result vector have to have the same number of columns, {0} is not {1}.".format(yc,zc))
if DEBUG: print("Coefficients before fitting: \n{0}".format(coeffs))
# Polynomial fitting works for both 1D and 2D functions
if self.type==self.INCOMPRESSIBLE_POLYNOMIAL or self.type==self.INCOMPRESSIBLE_EXPPOLYNOMIAL:
if self.DEBUG: print("polynomial detected, fitting {0}".format(self.type))
if eqnType==IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL or eqnType==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL:
cr,cc,_ = IncompressibleFitter.shapeArray(coeffs)
if DEBUG: print("Coefficients: ({0},{1})".format(cr,cc))
if (xr==1 and xc==1 and cr>1):
if DEBUG: print("Discarding coefficient rows, {0} -> {1}".format(cr,xr))
coeffs = coeffs[0]
coeffs = coeffs.reshape((1,cc))
if (yr==1 and yc==1 and cc>1):
if DEBUG: print("Discarding coefficient columns, {0} -> {1}".format(cc,yc))
coeffs = coeffs.T[0]
coeffs = coeffs.reshape((cr,1))
cr,cc,_ = IncompressibleFitter.shapeArray(coeffs)
if DEBUG: print("polynomial detected, fitting {0}".format(eqnType))
if cr==1 and cc==1:
if self.DEBUG: print("No coefficients left to fit, aborting procedure.")
self.coeffs = np.array([[0.0]])
return
if (xr<cr): raise ValueError("Less data points than coefficients in first dimension ({0} < {1}), aborting.".format(xr,cr))
if (yc<cc): raise ValueError("Less data points than coefficients in second dimension ({0} < {1}), aborting.".format(yc,cc))
if DEBUG: print("No coefficients left to fit, aborting procedure.")
coeffs = np.array([[0.0]])
return coeffs, None
if (xr<cr):
if DEBUG: print("Less data points than coefficients in first dimension ({0} < {1}), reducing coefficient matrix.".format(xr,cr))
coeffs = coeffs[:xr,:]
if (yc<cc):
if DEBUG: print("Less data points than coefficients in second dimension ({0} < {1}), reducing coefficient matrix.".format(yc,cc))
coeffs = coeffs[:,:yc]
cr,cc,_ = IncompressibleFitter.shapeArray(coeffs)
x_input = np.array(x.flat)-xbase
y_input = np.array(y.flat)-ybase
z_input = np.copy(self.data)
if self.type==self.INCOMPRESSIBLE_EXPPOLYNOMIAL:
z_input = np.copy(z)
if eqnType==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL:
z_input = np.log(z_input)
self.coeffs = self.getCoeffs2d(x_input, y_input, z_input, cr-1, cc-1)
if self.DEBUG: print("Coefficients after fitting: \n{0}".format(self.coeffs))
return
coeffs,sErr = IncompressibleFitter.getCoeffs2d(x_input, y_input, z_input, cr-1, cc-1, DEBUG=DEBUG)
if DEBUG: print("Coefficients after fitting: \n{0}".format(coeffs))
if DEBUG: print("Standard deviation: {0}".format(np.nanstd(sErr)))
if DEBUG: print("Sum of squared errors: {0}".format(np.square(sErr).sum()))
if DEBUG: print("Root mean squared errors: {0}".format(np.sqrt(np.square(sErr).mean()).sum()))
return coeffs,sErr
# Select if 1D or 2D fitting
if yc==1: # 1D fitting, only one input
if self.DEBUG: print("1D function detected, fitting {0}".format(self.type))
x_input = x-xbase
self.coeffs = self.getCoeffsIterative1D(x_input, coeffs_start=None)
if self.DEBUG: print("Coefficients after fitting: \n{0}".format(self.coeffs))
return
if yc==1 or xr==1: # 1D fitting, only one input
if DEBUG: print("1D function detected.")
if yc==1:
if DEBUG: print("Fitting {0} in x-direction.".format(eqnType))
coeffs,sErr = IncompressibleFitter.getCoeffsIterative1D(x, z, eqnType=eqnType, coeffs=coeffs, DEBUG=DEBUG)
elif xr==1:
if DEBUG: print("Fitting {0} in y-direction.".format(eqnType))
coeffs,sErr = IncompressibleFitter.getCoeffsIterative1D(y, z, eqnType=eqnType, coeffs=coeffs, DEBUG=DEBUG)
else: raise ValueError("Unknown error in matrix shapes.")
if DEBUG: print("Coefficients after fitting: \n{0}".format(coeffs))
if DEBUG: print("Standard deviation: {0}".format(np.nanstd(sErr)))
if DEBUG: print("Sum of squared errors: {0}".format(np.square(sErr).sum()))
if DEBUG: print("Root mean squared errors: {0}".format(np.sqrt(np.square(sErr).mean()).sum()))
return coeffs, sErr
elif yc>1: # 2D fitting
raise ValueError("There are no other 2D fitting functions than polynomials, cannot use {0}.".format(self.type))
raise ValueError("There are no other 2D fitting functions than polynomials, cannot use {0}.".format(eqnType))
else:
raise ValueError("Unknown function.")
@@ -197,8 +371,16 @@ class IncompressibleData(object):
# coeffs, resids, rank, singulars = np.linalg.lstsq(A, z)
# return np.reshape(coeffs, (len(x),1))
def getCoeffs2d(self, x_in, y_in, z_in, x_order, y_order):
@staticmethod
def getCoeffs2d(x_in, y_in, z_in, x_order, y_order, DEBUG=False):
if x_in==None: raise ValueError("You did not provide data for the x-values.")
if y_in==None: raise ValueError("You did not provide data for the y-values.")
if z_in==None: raise ValueError("You did not provide data for the z-values.")
if x_order==None: raise ValueError("You did not provide data for x_order.")
if y_order==None: raise ValueError("You did not provide data for y_order.")
if DEBUG==None: raise ValueError("You did not provide data for DEBUG.")
x_order += 1
y_order += 1
#To avoid overfitting, we only use the upper left triangle of the coefficient matrix
@@ -239,56 +421,68 @@ class IncompressibleData(object):
# Remove np.nan elements
mask = np.isfinite(zz)
A = A[mask]
xx = xx[mask]
yy = yy[mask]
zz = zz[mask]
if (len(A) < cols):
raise ValueError("Your matrix has only {0} valid rows and you try to fit {1} coefficients, please reduce the order.".format(len(A),cols))
coeffs, resids, rank, singulars = np.linalg.lstsq(A, zz)
if self.DEBUG: print("Linear algebra solver returned:")
if self.DEBUG: print(coeffs)
if self.DEBUG: print(resids)
if self.DEBUG: print(rank)
if self.DEBUG: print(singulars)
if DEBUG: print("Linear algebra solver returned:")
if DEBUG: print(coeffs)
if DEBUG: print(resids)
if DEBUG: print(rank)
if DEBUG: print(singulars)
#if resids.size>0:
# r2 = 1 - resids / (zz.size * zz.var())
#else:
# r2 = 0
#print("\n r2 2d: ",r2.shape,r2,"\n")
#Rearrange coefficients to a matrix shape
C = np.zeros((x_order,y_order))
for i, (xi,yi) in enumerate(xy_exp): # makes columns
C[xi][yi] = coeffs[i]
return C
sErr = zz - np.polynomial.polynomial.polyval2d(xx, yy, C)
return C, sErr
def getCoeffsIterative1D(self, xData, coeffs_start=None):
@staticmethod
def getCoeffsIterative1D(x_in, z_in, eqnType, coeffs, DEBUG=False):
if x_in==None: raise ValueError("You did not provide data for the x-values.")
if z_in==None: raise ValueError("You did not provide data for the z-values.")
if eqnType==None: raise ValueError("You did not provide data for eqnType.")
if coeffs==None: raise ValueError("You did not provide data for the coefficients.")
if DEBUG==None: raise ValueError("You did not provide data for DEBUG.")
sErr = None
#fit = "Powell" # use Powell's algorithm
#fit = "BFGS" # use Broyden-Fletcher-Goldfarb-Shanno
#fit = "LMA" # use the Levenberg-Marquardt algorithm from curve_fit
fit = ["LMA","Powell","BFGS"] # First try LMA, use others as fall-back
# Basic settings to keep track of our efforts
success = False
counter = -1
if coeffs_start==None and \
self.coeffs!=None:
coeffs_start = self.coeffs
# make sure that we use other routines for polynomials
if (self.type==self.INCOMPRESSIBLE_POLYNOMIAL) or \
(self.type==self.INCOMPRESSIBLE_EXPPOLYNOMIAL) :
if (eqnType==IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL) or \
(eqnType==IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL) :
raise ValueError("Please use the specific polynomial functions, they are much better.")
expLog = False
# Preprocess the exponential data
if (self.type==self.INCOMPRESSIBLE_EXPONENTIAL) or \
(self.type==self.INCOMPRESSIBLE_EXPOFFSET) :
# Fitting the logarithm of z_in?
if (eqnType==IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL or eqnType==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL):
expLog = True
xData = np.array(xData.flat)
if expLog:
yData = np.log(self.data.flat)
else:
yData = np.array(self.data.flat)
xData = np.array(x_in.flat)
if expLog: zData = np.log(z_in.flat)
else: zData = np.array(z_in.flat)
# Remove np.nan elements
mask = np.isfinite(zData)
xData = xData[mask]
zData = zData[mask]
# The residual function
def fun(coefficients,xArray,yArray):
@@ -298,19 +492,22 @@ class IncompressibleData(object):
the sum of the squared residuals if yArray is not
equal to None
"""
calculated = self.baseFunction(xArray, 0.0, 0.0, 0.0, coefficients)
# No offset and no Tbase etc for 1D functions!
calculated = IncompressibleData.baseFunc(xArray, y=0.0, xbase=0.0, ybase=0.0, eqnType=eqnType, c=coefficients)
if expLog: calculated = np.log(calculated)
if yArray==None: return calculated
data = yArray
res = np.sum(np.square(calculated-data))
return res
# Loop through the list of algorithms
# Loop through the list of algorithms with basic settings to keep track of our efforts
success = False
counter = 0
tolerance = 1e-16
while (not success):
counter += 1
algorithm = fit[counter]
#fit = "LMA" # use the Levenberg-Marquardt algorithm from curve_fit
if fit[counter]=="LMA":
if algorithm=="LMA":
def func(xVector, *coefficients):
return fun(np.array(coefficients), xVector, None)
@@ -319,68 +516,78 @@ class IncompressibleData(object):
try:
#print func(xData, coeffs_start)
# Do the actual fitting
popt, pcov = curve_fit(func, xData, yData, p0=coeffs_start)
if np.any(popt!=coeffs_start):
popt, pcov = curve_fit(func, xData, zData, p0=coeffs, ftol=tolerance)
if np.any(popt!=coeffs):
success = True
# print "Fit succeeded for "+fit[counter]+": "
# print "data: {0}, func: {1}".format(yData[ 2],func(xData[ 2], popt))
# print "data: {0}, func: {1}".format(yData[ 6],func(xData[ 6], popt))
# print "data: {0}, func: {1}".format(yData[-1],func(xData[-1], popt))
if self.DEBUG: print("Estimated covariance of parameters: ".format(pcov))
return popt
if DEBUG: print("Fit succeeded with: {0}".format(algorithm))
sErr = zData - func(xData, popt)
#print "Fit succeeded for "+fit[counter]+": "
#print "data: {0}, func: {1}".format(yData[ 2],func(xData[ 2], popt))
#print "data: {0}, func: {1}".format(yData[ 6],func(xData[ 6], popt))
#print "data: {0}, func: {1}".format(yData[-1],func(xData[-1], popt))
#if DEBUG: print("Estimated covariance of parameters: {0}".format(pcov))
#ssErr = np.sqrt(np.diag(pcov)).sum()
#ssTot = ((zData-zData.mean())**2).sum()
#r2 = 1-(ssErr/ssTot )
#print("\n r2 FMA: ",r2.shape,r2,"\n")
return popt,sErr
else:
print("Fit failed for "+fit[counter]+": ")
if DEBUG: print("Fit failed for {0}.".format(algorithm))
if DEBUG: sys.stdout.flush()
success = False
except RuntimeError as e:
print("Exception using "+fit[counter]+": "+str(e))
print("Using "+str(fit[counter+1])+" as a fall-back.")
if DEBUG: print("Exception using "+algorithm+": "+str(e))
if DEBUG: sys.stdout.flush()
success = False
#fit = "MIN" # use a home-made minimisation with Powell and Broyden-Fletcher-Goldfarb-Shanno
elif fit[counter]=="Powell" or fit[counter]=="BFGS":
elif algorithm=="Powell" or algorithm=="BFGS":
arguments = (xData,yData)
arguments = (xData,zData)
#options = {'maxiter': 1e2, 'maxfev': 1e5}
tolStart = 1e-13
tol = tolStart
res = minimize(fun, coeffs_start, method=fit[counter], args=arguments, tol=tol)
while ((not res.success) and tol<1e-6):
tol *= 1e2
print("Fit did not succeed, reducing tolerance to "+str(tol))
res = minimize(fun, coeffs_start, method=fit[counter], args=arguments, tol=tol)
# Include these lines for an additional fit with new guess values.
#if res.success and tol>tolStart:
# print "Refitting with new guesses and original tolerance of "+str(tolStart)
# res = minimize(fun, res.x, method=method, args=arguments, tol=tolStart)
if res.success:
success = True
return res.x
else:
print("Fit failed for "+fit[counter]+": ")
print("Using "+str(fit[counter+1])+" as a fall-back.")
print(res)
try:
res = minimize(fun, coeffs, method=algorithm, args=arguments, tol=tolerance)
if res.success:
success = True
if DEBUG: print("Fit succeeded with: {0}".format(algorithm))
sErr = zData - fun(np.array(res.x), xData)
#if res.has_key('fvec'):
#ssErr = (res['fvec']**2).sum()
#ssTot = ((zData-zData.mean())**2).sum()
#r2 = 1-(ssErr/ssTot )
#print("\n r2 : ",r2.shape,r2,algorithm,"\n")
return res.x,sErr
else:
if DEBUG: print("Fit failed for {0}.".format(algorithm))
if DEBUG: sys.stdout.flush()
success = False
except RuntimeError as e:
if DEBUG: print("Exception using "+algorithm+": "+str(e))
if DEBUG: sys.stdout.flush()
success = False
# Something went wrong, probably a typo in the algorithm selector
else:
raise (ValueError("Error: You used an unknown fit method."))
def toJSON(self):
j = {}
try:
j['coeffs'] = self.coeffs.tolist()
except:
j['coeffs'] = 'null'
if counter<len(fit)-1:
#print("Fit did not succeed with {0}, reducing tolerance to {1}.".format(algorithm,tol))
success = False
counter += 1
elif tolerance<1e-3:
tolerance *= 1e2
if DEBUG: print("Fit did not succeed, reducing tolerance to {0}.".format(tolerance))
success = False
counter = 0
else:
if DEBUG: print("--------------------------------------------------------------")
if DEBUG: print("Fit failed for {0}. ".format(fit))
if DEBUG: print("--------------------------------------------------------------")
return coeffs,1
j['type'] = self.type
return j

View File

@@ -8,8 +8,8 @@ class NitrateSalt(PureData,CoefficientData):
Heat transfer fluid based on 60% NaNO3 and 40% KNO3
"""
def __init__(self):
PureData.__init__(self)
CoefficientData.__init__(self)
CoefficientData.__init__(self)
PureData.__init__(self)
self.name = "NaK"
self.description = "NitrateSalt"
self.reference = "Solar Power Tower Design Basis Document, Alexis B. Zavoico, Sandia Labs, USA"
@@ -24,13 +24,19 @@ class NitrateSalt(PureData,CoefficientData):
#self.concentration.data = np.array([ 0 ]) # mass fraction
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.source = self.density.SOURCE_COEFFS
self.density.coeffs = np.array([[2090],[-0.636]])
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.coeffs = np.array([[1443],[+0.172]])
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.conductivity.coeffs = np.array([[0.443],[+1.9e-4]])
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_POLYNOMIAL
self.viscosity.coeffs = np.array([[22.714],[-0.120],[2.281 * 1e-4],[-1.474 * 1e-7]])/1e3
self.viscosity.source = self.viscosity.SOURCE_COEFFS
self.viscosity.coeffs = np.array([[22.714],[-0.120],[2.281 * 1e-4],[-1.474 * 1e-7]])/1e3

View File

@@ -3,6 +3,7 @@ import numpy as np
import os, math
from BaseObjects import IncompressibleData
from abc import ABCMeta
from CPIncomp.BaseObjects import IncompressibleFitter
class SolutionData(object):
"""
@@ -11,13 +12,15 @@ class SolutionData(object):
put in your data and add some documentation for where the
information came from.
"""
ifrac_mass = "mass"
ifrac_mole = "mole"
ifrac_volume = "volume"
ifrac_undefined = "not defined"
ifrac_pure = "pure"
__metaclass__ = ABCMeta
def __init__(self):
self.ifrac_mass = 0
self.ifrac_mole = 1
self.ifrac_volume = 2
self.ifrac_undefined = 3
self.ifrac_pure = 4
self.significantDigits = 6
@@ -77,10 +80,10 @@ class SolutionData(object):
def roundSingle(self,x):
if x==0.0: return 0.0
return round(x, self.significantDigits-int(math.floor(math.log10(abs(x))))-1)
return round(x, self.significantDigits-int(math.floor(math.log10(abs(x))))-1)
def round(self, x):
r,c,res = IncompressibleData.shapeArray(x)
r,c,res = IncompressibleFitter.shapeArray(x)
#digits = -1*np.floor(np.log10(res))+self.significantDigits-1
for i in range(r):
for j in range(c):
@@ -105,9 +108,45 @@ class SolutionData(object):
# objList["viscosity"] = self.viscosity
# objList["saturation pressure"] = self.saturation_pressure
# return objList
def checkT(self, T, p, x):
if self.Tmin <= 0.: raise ValueError("Please specify the minimum temperature.")
if self.Tmax <= 0.: raise ValueError("Please specify the maximum temperature.");
if ((self.Tmin > T) or (T > self.Tmax)): raise ValueError("Your temperature {0} is not between {1} and {2}.".format(T, self.Tmin, self.Tmax))
TF = 0.0
if (self.T_freeze.type!=IncompressibleData.INCOMPRESSIBLE_NOT_SET): TF = self.Tfreeze(T, p, x)
if ( T<TF ): raise ValueError("Your temperature {0} is below the freezing point of {1}.".format(T, TF))
else: return True
return False
def checkP(self, T, p, x):
ps = 0.0
if (self.saturation_pressure.type!=IncompressibleData.INCOMPRESSIBLE_NOT_SET): ps = self.psat(T, p, x)
if (p < 0.0): raise ValueError("You cannot use negative pressures: {0} < {1}. ".format(p, 0.0))
if (p < ps) : raise ValueError("Equations are valid for liquid phase only: {0} < {1}. ".format(p, ps))
else : return True
return False
def checkX(self, x):
if (self.xmin < 0.0 or self.xmin > 1.0): raise ValueError("Please specify the minimum concentration between 0 and 1.");
if (self.xmax < 0.0 or self.xmax > 1.0): raise ValueError("Please specify the maximum concentration between 0 and 1.");
if ((self.xmin > x) or (x > self.xmax)): raise ValueError("Your composition {0} is not between {1} and {2}.".format(x, self.xmin, self.xmax))
else: return True
return False
def checkTPX(self, T, p, x):
try:
return (self.checkT(T,p,x) and self.checkP(T,p,x) and self.checkX(x))
except ValueError as ve:
#print("Check failed: {0}".format(ve))
pass
return False
def rho (self, T, p=0.0, x=0.0, c=None):
if not self.checkTPX(T, p, x): return np.NAN
if c==None:
c=self.density.coeffs
if self.density.type==self.density.INCOMPRESSIBLE_POLYNOMIAL:
@@ -115,6 +154,7 @@ class SolutionData(object):
else: raise ValueError("Unknown function.")
def c (self, T, p=0.0, x=0.0, c=None):
if not self.checkTPX(T, p, x): return np.NAN
if c==None:
c = self.specific_heat.coeffs
if self.specific_heat.type==self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL:
@@ -128,6 +168,7 @@ class SolutionData(object):
return self.c(T,p,x,c)
def u (self, T, p=0.0, x=0.0, c=None):
if not self.checkTPX(T, p, x): return np.NAN
if c==None:
c = self.specific_heat.coeffs
if self.specific_heat.type==self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL:
@@ -140,16 +181,44 @@ class SolutionData(object):
return self.h_u(T,p,x)
def visc(self, T, p=0.0, x=0.0, c=None):
if not self.checkTPX(T, p, x): return np.NAN
return self.viscosity.baseFunction(T, x, self.Tbase, self.xbase, c=c)
def cond(self, T, p=0.0, x=0.0, c=None):
if not self.checkTPX(T, p, x): return np.NAN
return self.conductivity.baseFunction(T, x, self.Tbase, self.xbase, c=c)
def psat(self, T, x=0.0, c=None):
def psat(self, T, p=0.0, x=0.0, c=None):
if (T<=self.TminPsat): return 0.0
return self.saturation_pressure.baseFunction(T, x, self.Tbase, self.xbase, c=c)
def Tfreeze(self, p=0.0, x=0.0, c=None):
return self.T_freeze.baseFunction(x, 0.0, self.xbase, 0.0, c=c)
def Tfreeze(self, T, p=0.0, x=0.0, c=None):
if c==None:
c = self.T_freeze.coeffs
if self.T_freeze.type==self.T_freeze.INCOMPRESSIBLE_POLYNOMIAL:
return np.polynomial.polynomial.polyval2d(p-0.0, x-self.xbase, c)
elif self.T_freeze.type==self.T_freeze.INCOMPRESSIBLE_POLYOFFSET:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.T_freeze.basePolyOffset(c, x) # offset included in coeffs
elif self.T_freeze.type==self.T_freeze.INCOMPRESSIBLE_EXPONENTIAL:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.T_freeze.baseExponential(c, x)
elif self.T_freeze.type==IncompressibleData.INCOMPRESSIBLE_LOGEXPONENTIAL:
#if y!=0.0: raise ValueError("This is 1D only, use x not y.")
return self.T_freeze.baseLogexponential(c, x)
elif self.T_freeze.type==self.T_freeze.INCOMPRESSIBLE_EXPPOLYNOMIAL:
return np.exp(np.polynomial.polynomial.polyval2d(p-0.0, x-self.xbase, c))
else:
raise ValueError("Unknown function: {0}.".format(self.T_freeze.type))
#def V2M (T, y);
#def M2M (T, x);
@@ -222,7 +291,7 @@ class DigitalData(SolutionData):
def getFromFile(self, data):
fullPath = self.getFile(data)
_,_,res = IncompressibleData.shapeArray(np.loadtxt(fullPath))
_,_,res = IncompressibleFitter.shapeArray(np.loadtxt(fullPath))
return res
def writeToFile(self, data, array):
@@ -237,91 +306,94 @@ class DigitalData(SolutionData):
return np.array([0.0])
def getxrange(self):
if self.xmin<self.xmax:
if self.xmin<self.xmax and self.xid!=self.ifrac_pure:
return np.linspace(self.xmin, self.xmax, 20)
else:
return np.array([0.0])
def getArray(self, func=None, data=None):
"""
func is a callable object that takes T,x as inputs
and data is the file name for the data.
We try to read the file and if unsuccessful, we
generate the data and write it.
def getArray(self, dataID=None, func=None, x_in=None, y_in=None, DEBUG=False):
""" Tries to read a data file, overwrites it if x or y do not match
:param dataID : ID to contruct the path to the data file
:param func : Callable object that can take x_in and y_in
:param x_in : a 1D array in x direction or 2D with one column, most likely temperature
:param y_in : a 1D array in y direction or 2D with one row, most likely cocentration
:param DEBUG : a boolean that controls verbosity
:returns : Returns a tuple with three entries: x(1D),y(1D),data(2D)
"""
forceUpdate = False
readFromFile = False
fileArray = None
x = None
y = None
z = None
# First we try to read the file
if (dataID!=None and os.path.isfile(self.getFile(dataID))): # File found
fileArray = self.getFromFile(dataID)
x = np.copy(fileArray[1:,0 ])
y = np.copy(fileArray[0 ,1:])
z = np.copy(fileArray[1:,1:])
else:
if DEBUG: print("No readable file found for {0}: {1}".format(dataID,self.getFile(dataID)))
if self.temperature.data==None or self.concentration.data==None: # no data set, try to get it from file
if self.temperature.data!=None: raise ValueError("Temperature is not None, but concentration is.")
if self.concentration.data!=None: raise ValueError("Concentration is not None, but temperature is.")
if (data!=None and os.path.isfile(self.getFile(data))): # File found
fileArray = self.getFromFile(data)
self.temperature.data = np.copy(fileArray[1:,0])
self.concentration.data = np.copy(fileArray[0,1:])
readFromFile = True
else:
raise ValueError("No temperature and concentration data given and no readable file found for {0}".format(data))
tData = self.round(self.temperature.data)[:,0]
xData = self.round(self.concentration.data)[:,0]
updateFile = DEBUG
baseArray = np.zeros( (len(tData)+1,len(xData)+1) )
if x_in!=None: # Might need update
if x!=None: # Both given, check if different
mask = np.isfinite(x)
if IncompressibleFitter.allClose(x[mask], x_in[mask]):
if DEBUG: print("Both x-arrays are the same, no action required.")
updateFile = (updateFile or False) # Do not change a True value to False
else:
updateFile = True
if DEBUG: print("x-arrays do not match. {0} contains \n {1} \n and will be updated with \n {2}".format(self.getFile(dataID),x,x_in))
else: updateFile = True
elif x==None:
if DEBUG: print("Could not load x from file {0} and no x_in provided, aborting.".format(self.getFile(dataID)))
return None,None,None
else: updateFile = (updateFile or False) # Do not change a True value to False
if (data!=None and os.path.isfile(self.getFile(data)) and not forceUpdate): # File found and no update wanted
if fileArray==None: fileArray = self.getFromFile(data)
if y_in!=None: # Might need update
if y!=None: # Both given, check if different
mask = np.isfinite(y)
if IncompressibleFitter.allClose(y[mask], y_in[mask]):
if DEBUG: print("Both y-arrays are the same, no action required.")
updateFile = (updateFile or False) # Do not change a True value to False
else:
updateFile = True
if DEBUG: print("y-arrays do not match. {0} contains \n {1} \n and will be updated with \n {2}".format(self.getFile(dataID),y,y_in))
else: updateFile = True
elif y==None:
if DEBUG: print("Could not load y from file {0} and no y_in provided, aborting.".format(self.getFile(dataID)))
return None,None,None
else: updateFile = (updateFile or False) # Do not change a True value to False
# tFile = fileArray[1:,0]
# xFile = fileArray[0,1:]
# curDataLim = np.array([np.min(tData),np.max(tData),np.min(xData),np.max(xData)])
# curFileLim = np.array([np.min(tFile),np.max(tFile),np.min(xFile),np.max(xFile)])
# if np.allclose(curDataLim, curFileLim, rtol=1e-2) and fileArray.shape!=baseArray.shape: # We might have to interpolate
# if len(tData)<len(tFile) or len(xData)<len(xFile): # OK, we can interpolate
# data = fileArray[1:,1:]
# if len(tFile)==1: # 1d in concentration
# f = interpolate.interp1d(xFile, data.flat)#, kind='cubic')
# dataNew = f(xData).reshape((1,len(xData)))
# elif len(xFile)==1: # 1d in temperature
# f = interpolate.interp1d(tFile, data.flat)#, kind='cubic')
# dataNew = f(tData).reshape((len(tData),1))
# else: # 2d
# f = interpolate.interp2d(xFile, tFile, data)#, kind='cubic')
# dataNew = f(xData,tData)
# fileArray = np.copy(baseArray)
# fileArray[1:,1:] = dataNew
# fileArray[1:,0] = tData
# fileArray[0,1:] = xData
# else:
# raise ValueError("Less points in file, not enough data for interpolation.")
# elif fileArray.shape==baseArray.shape:
# pass
# else:
# raise ValueError("The array shapes do not match. Check {0}".format(self.getFile(data)))
if readFromFile or fileArray.shape==baseArray.shape: # Shapes match
if readFromFile or np.allclose(tData, fileArray[1:,0]): # Temperature data matches
if readFromFile or np.allclose(xData, fileArray[0,1:]): # Concentration data matches
baseArray = fileArray
else:
raise ValueError("Concentration arrays do not match. Check {0} \n and have a look at \n {1} \n vs \n {2} \n yielding \n {3}".format(self.getFile(data),xData,fileArray[0,1:],(xData==fileArray[0,1:])))
else:
raise ValueError("Temperature arrays do not match. Check {0} \n and have a look at \n {1} \n vs \n {2} \n yielding \n {3}".format(self.getFile(data),tData,fileArray[1:,0],(tData==fileArray[1:,0])))
else:
raise ValueError("The array shapes do not match. Check {0}".format(self.getFile(data)))
else: # file not found or update forced
if func==None and forceUpdate:
raise ValueError("Need a function to update the data file.")
for cT,T in enumerate(self.temperature.data):
for cx,x in enumerate(self.concentration.data):
baseArray[cT+1][cx+1] = func(T,x)
baseArray[0,0] = np.NaN
baseArray[1:,0] = np.copy(self.temperature.data)
baseArray[0,1:] = np.copy(self.concentration.data)
if data!=None: self.writeToFile(data, baseArray)
return np.copy(baseArray.T[1:].T[1:]) # Remove the first column and row and return
if DEBUG: print("Updating data file {0}".format(updateFile))
if not updateFile: return x,y,z # Done, data read from file
# Overwrite inputs
x = x_in
y = y_in
z = np.zeros( (len(x)+1,len(y)+1) )
r,c = z.shape
if func==None: raise ValueError("Need a function to update the data file.")
for i in range(r-1):
for j in range(c-1):
z[i+1,j+1] = func(x[i],y[j])
z[0,0 ] = np.NaN
z[1:,0] = x
z[0,1:] = y
if dataID!=None:
self.writeToFile(dataID, z)
else:
if DEBUG: print("Not updating data file, dataID is missing.")
return x,y,z[1:,1:]
class CoefficientData(SolutionData):
@@ -371,7 +443,7 @@ class CoefficientData(SolutionData):
# Concentration is no longer handled in per cent!
for i in range(6):
tmp.T[i] *= 100.0**i
tmp.T[i] *= 100.0**i
return tmp
@@ -487,20 +559,34 @@ class CoefficientData(SolutionData):
coeffs = self.convertMelinderMatrix(matrix).T
self.T_freeze.type = self.T_freeze.INCOMPRESSIBLE_POLYNOMIAL
self.T_freeze.source = self.T_freeze.SOURCE_COEFFS
self.T_freeze.type = self.T_freeze.INCOMPRESSIBLE_POLYNOMIAL
self.T_freeze.coeffs = self.convertMelinderArray(coeffs[0])
self.T_freeze.coeffs[0,0] += 273.15
self.T_freeze.coeffs = np.array([self.T_freeze.coeffs[0]])
#print(self.T_freeze.coeffs)
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = self.convertMelinderArray(coeffs[1])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = self.convertMelinderArray(coeffs[2])
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
self.conductivity.coeffs = self.convertMelinderArray(coeffs[3])
self.viscosity.source = self.viscosity.SOURCE_COEFFS
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_POLYNOMIAL
self.viscosity.coeffs = self.convertMelinderArray(coeffs[4])
self.viscosity.coeffs = self.convertMelinderArray(coeffs[4])/1e3

View File

@@ -10,7 +10,8 @@ parameter form.
"""
from __future__ import division, print_function
from CPIncomp.DataObjects import DigitalData
import numpy as np
from CPIncomp.DataObjects import DigitalData, PureData
class LiBrData(DigitalData):
"""
@@ -48,15 +49,213 @@ class LiBrData(DigitalData):
key = 'D'
def funcD(T,x):
return CP.PropsSI(key,'T',T,'P',1e8,self.name+"-{0:.4f}%".format(x*100.0))
self.density.data = self.getArray(funcD,key)
self.density.xData,self.density.yData,self.density.data = self.getArray(dataID=key, func=funcD, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.density.DEBUG)
self.density.source = self.density.SOURCE_EQUATION
key = 'C'
def funcC(T,x):
return CP.PropsSI(key,'T',T,'P',1e8,self.name+"-{0:.4f}%".format(x*100.0))
self.specific_heat.data = self.getArray(funcC,key)
self.specific_heat.xData,self.specific_heat.yData,self.specific_heat.data = self.getArray(dataID=key, func=funcC, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.specific_heat.DEBUG)
self.specific_heat.source = self.specific_heat.SOURCE_EQUATION
key = 'Psat'
def funcP(T,x):
return CP.PropsSI(key,'T',T,'P',1e8,self.name+"-{0:.4f}%".format(x*100.0))
self.saturation_pressure.data = self.getArray(funcP,key)
self.saturation_pressure.xData,self.saturation_pressure.yData,self.saturation_pressure.data = self.getArray(dataID=key, func=funcP, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.saturation_pressure.DEBUG)
self.saturation_pressure.source = self.saturation_pressure.SOURCE_EQUATION
class HyCool20(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "HY20"
self.description = "HYCOOL 20, Potassium formate"
self.reference = "Hydro Chemicals"
self.Tmax = 50 + 273.15
self.Tmin = -20 + 273.15
self.TminPsat = self.Tmax
self.Tbase = 0.00 + 273.15
self.temperature.data = self.getTrange()
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = np.array([[1202.2],[-0.42918]])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = np.array([[2.955],[0.0023]])*1e3
key = 'Cond'
def funcCond(T,x):
T = (T-self.Tbase)
if T <= 20: return 0.001978*T+0.5172
else: return 0.001005*T+0.5368
self.conductivity.xData,self.conductivity.yData,self.conductivity.data = self.getArray(dataID=key,func=funcCond,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.conductivity.DEBUG)
self.conductivity.source = self.conductivity.SOURCE_EQUATION
funcCond = None
key = 'Mu'
def funcMu(T,x):
T = (T-self.Tbase)
if T <= 20: return 0.07190*np.exp(524.75/(T+142.05))
else: return T*(0.0005524*T - 0.06281)+2.8536
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID=key,func=funcMu,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
funcMu = None
class HyCool30(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "HY30"
self.description = "HYCOOL 30, Potassium formate"
self.reference = "Hydro Chemicals"
self.Tmax = 50 + 273.15
self.Tmin = -30 + 273.15
self.TminPsat = self.Tmax
self.Tbase = 0.00 + 273.15
self.temperature.data = self.getTrange()
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = np.array([[1257.5],[-0.475350]])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = np.array([[2.783],[0.0023]])*1e3
key = 'Cond'
def funcCond(T,x):
T = (T-self.Tbase)
if T <= 20: return 0.001840*T+0.4980
else: return 0.001000*T+0.5140
self.conductivity.xData,self.conductivity.yData,self.conductivity.data = self.getArray(dataID=key,func=funcCond,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.conductivity.DEBUG)
self.conductivity.source = self.conductivity.SOURCE_EQUATION
funcCond = None
key = 'Mu'
def funcMu(T,x):
T = (T-self.Tbase)
if T <= 20: return 0.11100*np.exp(408.17/(T+123.15))
else: return T*(0.000295*T - 0.0441)+2.6836
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID=key,func=funcMu,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
funcMu = None
class HyCool40(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "HY40"
self.description = "HYCOOL 40, Potassium formate"
self.reference = "Hydro Chemicals"
self.Tmax = 20 + 273.15
self.Tmin = -40 + 273.15
self.TminPsat = self.Tmax
self.Tbase = 0.00 + 273.15
self.temperature.data = self.getTrange()
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = np.array([[1304.5],[-0.512290]])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = np.array([[2.646],[0.0023]])*1e3
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
self.conductivity.coeffs = np.array([[0.4826],[0.001730]])
key = 'Mu'
def funcMu(T,x):
T = (T-self.Tbase)
return 0.07830*np.exp(498.13/(T+130.25))
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID=key,func=funcMu,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
funcMu = None
class HyCool45(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "HY45"
self.description = "HYCOOL 45, Potassium formate"
self.reference = "Hydro Chemicals"
self.Tmax = 20 + 273.15
self.Tmin = -45 + 273.15
self.TminPsat = self.Tmax
self.Tbase = 0.00 + 273.15
self.temperature.data = self.getTrange()
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = np.array([[1328.7],[-0.530754]])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = np.array([[2.578],[0.0023]])*1e3
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
self.conductivity.coeffs = np.array([[0.4750],[0.001674]])
key = 'Mu'
def funcMu(T,x):
T = (T-self.Tbase)
return 0.08990*np.exp(479.09/(T+126.55))
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID=key,func=funcMu,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
funcMu = None
class HyCool50(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "HY50"
self.description = "HYCOOL 50, Potassium formate"
self.reference = "Hydro Chemicals"
self.Tmax = 20 + 273.15
self.Tmin = -50 + 273.15
self.TminPsat = self.Tmax
self.Tbase = 0.00 + 273.15
self.temperature.data = self.getTrange()
self.density.source = self.density.SOURCE_COEFFS
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
self.density.coeffs = np.array([[1359.0],[-0.552300]])
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
self.specific_heat.coeffs = np.array([[2.498],[0.0023]])*1e3
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
self.conductivity.coeffs = np.array([[0.4660],[0.001610]])
key = 'Mu'
def funcMu(T,x):
T = (T-self.Tbase)
res = 0.0491*np.exp(581.12/(T+129.05))
if T > -10: return res + 0.2
else: return res
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID=key,func=funcMu,x_in=self.temperature.data,y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
funcMu = None

View File

@@ -13,6 +13,12 @@ class PureExample(PureData):
self.Tmin = 50 + 273.15
self.TminPsat = self.Tmax
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([ 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150])+273.15 # Kelvin
self.density.data = np.array([ 740, 733, 726, 717, 710, 702, 695, 687, 679, 670, 662]) # kg/m3
self.specific_heat.data = np.array([ 2235, 2280, 2326, 2361, 2406, 2445, 2485, 2528, 2571, 2607, 2645]) # J/kg-K
@@ -44,6 +50,9 @@ class SolutionExample(SolutionData):
self.specific_heat.data = np.copy(self.density.data)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.Tmax = np.max(self.temperature.data)
self.Tmin = np.min(self.temperature.data)
self.xmax = np.max(self.concentration.data)
@@ -72,11 +81,62 @@ class DigitalExample(DigitalData):
def funcRho(T,x):
return T + x*100.0 + T*(x+0.5)
self.density.data = self.getArray(funcRho,"rho")
self.density.xData,self.density.yData,self.density.data = self.getArray(dataID="D", func=funcRho, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.density.DEBUG)
self.density.source = self.density.SOURCE_EQUATION
def funcCp(T,x):
return T + x*50.0 + T*(x+0.6)
self.specific_heat.data = self.getArray(funcCp,"cp")
self.specific_heat.xData,self.specific_heat.yData,self.specific_heat.data = self.getArray(dataID="C", func=funcCp, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.specific_heat.DEBUG)
self.specific_heat.source = self.specific_heat.SOURCE_EQUATION
class DigitalExamplePure(PureData,DigitalData):
def __init__(self):
DigitalData.__init__(self)
PureData.__init__(self)
self.name = "ExampleDigitalPure"
self.description = "water at 100 bar"
self.reference = "none"
self.Tmin = 280.00;
self.Tmax = 500.00;
self.TminPsat = self.Tmin;
self.temperature.data = self.getTrange()
self.concentration.data = self.getxrange()
import CoolProp.CoolProp as CP
def funcD(T,x):
return CP.PropsSI('D','T',T,'P',1e7,'water')
def funcC(T,x):
return CP.PropsSI('C','T',T,'P',1e7,'water')
def funcL(T,x):
return CP.PropsSI('L','T',T,'P',1e7,'water')
def funcV(T,x):
return CP.PropsSI('V','T',T,'P',1e7,'water')
def funcP(T,x):
return CP.PropsSI('P','T',T,'Q',0.0,'water')
self.density.xData,self.density.yData,self.density.data = self.getArray(dataID="D", func=funcD, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.density.DEBUG)
self.density.source = self.density.SOURCE_EQUATION
self.specific_heat.xData,self.specific_heat.yData,self.specific_heat.data = self.getArray(dataID="C", func=funcC, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.specific_heat.DEBUG)
self.specific_heat.source = self.specific_heat.SOURCE_EQUATION
self.conductivity.xData,self.conductivity.yData,self.conductivity.data = self.getArray(dataID="L", func=funcL, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.conductivity.DEBUG)
self.conductivity.source = self.conductivity.SOURCE_EQUATION
self.viscosity.xData,self.viscosity.yData,self.viscosity.data = self.getArray(dataID="V", func=funcV, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.viscosity.DEBUG)
self.viscosity.source = self.viscosity.SOURCE_EQUATION
self.saturation_pressure.xData,self.saturation_pressure.yData,self.saturation_pressure.data = self.getArray(dataID="P", func=funcP, x_in=self.temperature.data, y_in=self.concentration.data,DEBUG=self.saturation_pressure.DEBUG)
self.saturation_pressure.source = self.saturation_pressure.SOURCE_EQUATION
class SecCoolExample(CoefficientData):
@@ -186,12 +246,18 @@ class SecCoolExample(CoefficientData):
4.482000E-09]))
self.T_freeze.type = self.T_freeze.INCOMPRESSIBLE_POLYOFFSET
self.T_freeze.coeffs = self.convertSecCoolTfreeze(np.array([
27.755555600,
-22.973221700,
-1.1040507200,
-0.0120762281,
-9.343458E-05]))
self.T_freeze.coeffs = np.array([
27.755555600/100.0,
-22.973221700+273.15,
-1.1040507200*100.0,
-0.0120762281*100.0*100.0,
-9.343458E-05*100.0*100.0*100.0])
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
self.T_freeze.source = self.T_freeze.SOURCE_COEFFS
class MelinderExample(CoefficientData):

View File

@@ -1,6 +1,7 @@
from __future__ import division, print_function
import numpy as np
from CPIncomp.DataObjects import PureData,CoefficientData
from CPIncomp.BaseObjects import IncompressibleFitter
class DEBLiquidClass(CoefficientData,PureData):
@@ -19,16 +20,21 @@ class DEBLiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1076.5,-0.731182]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1076.5,-0.731182]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([999.729,2.87576]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([999.729,2.87576]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([3.5503,-0.0566396,7.03331e-05]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([3.5503,-0.0566396,7.03331e-05]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000189132,-2.06364e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000189132,-2.06364e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class HCMLiquidClass(CoefficientData,PureData):
@@ -47,16 +53,21 @@ class HCMLiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([971.725,-0.718788]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([971.725,-0.718788]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([844.023,4.31212]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([844.023,4.31212]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([18.3237,-0.14706,0.000209096]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([18.3237,-0.14706,0.000209096]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000153716,-1.51212e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000153716,-1.51212e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class HFELiquidClass(CoefficientData,PureData):
@@ -75,16 +86,21 @@ class HFELiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1822.37,-0.918485]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1822.37,-0.918485]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([871.834,858788]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([871.834,858788]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([-4.22878,-0.0114765,7.39823e-06]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([-4.22878,-0.0114765,7.39823e-06]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([9.92958e-05,-8.33333e-08]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([9.92958e-05,-8.33333e-08]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class PMS1LiquidClass(CoefficientData,PureData):
@@ -103,16 +119,21 @@ class PMS1LiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1172.35,-0.9025]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1172.35,-0.9025]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([1223.69,1.48417]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([1223.69,1.48417]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([6.36183,-0.0636352,7.51428e-05]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([6.36183,-0.0636352,7.51428e-05]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000207526,-2.84167e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000207526,-2.84167e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class PMS2LiquidClass(CoefficientData,PureData):
@@ -131,16 +152,21 @@ class PMS2LiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1155.94,-1.02576]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1155.94,-1.02576]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([1153.55,2.10788]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([1153.55,2.10788]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([5.66926,-0.065582,8.09988e-05]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([5.66926,-0.065582,8.09988e-05]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000172305,-2.11212e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000172305,-2.11212e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class SABLiquidClass(CoefficientData,PureData):
@@ -159,16 +185,21 @@ class SABLiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1102.34,-0.801667]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1102.34,-0.801667]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([1360.94,1.51667]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([1360.94,1.51667]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([5.21288,-0.0665792,8.5066e-05]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([5.21288,-0.0665792,8.5066e-05]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000208374,-2.61667e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000208374,-2.61667e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class HCBLiquidClass(CoefficientData,PureData):
@@ -187,16 +218,21 @@ class HCBLiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1071.78,-0.772024]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1071.78,-0.772024]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([761.393,3.52976]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([761.393,3.52976]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([7.16819,-0.0863212,0.000130604]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([7.16819,-0.0863212,0.000130604]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000203186,-2.3869e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000203186,-2.3869e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS
class TCOLiquidClass(CoefficientData,PureData):
@@ -215,16 +251,21 @@ class TCOLiquidClass(CoefficientData,PureData):
self.TminPsat = self.Tmax
self.density.type = self.density.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.density.coeffs = self.density.shapeArray(np.array([1071.02,-0.778166]))
_,_,self.density.coeffs = IncompressibleFitter.shapeArray(np.array([1071.02,-0.778166]))
self.specific_heat.type = self.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.specific_heat.coeffs = self.specific_heat.shapeArray(np.array([223.775,5.2159]))
_,_,self.specific_heat.coeffs = IncompressibleFitter.shapeArray(np.array([223.775,5.2159]))
self.viscosity.type = self.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
_,_,self.viscosity.coeffs = self.viscosity.shapeArray(np.array([-3.47971,-0.0107031,1.14086e-06]))
_,_,self.viscosity.coeffs = IncompressibleFitter.shapeArray(np.array([-3.47971,-0.0107031,1.14086e-06]))
self.conductivity.type = self.conductivity.INCOMPRESSIBLE_POLYNOMIAL
_,_,self.conductivity.coeffs = self.conductivity.shapeArray(np.array([0.000174156,-1.85052e-07]))
_,_,self.conductivity.coeffs = IncompressibleFitter.shapeArray(np.array([0.000174156,-1.85052e-07]))
self.density.source = self.density.SOURCE_COEFFS
self.specific_heat.source = self.specific_heat.SOURCE_COEFFS
self.conductivity.source = self.conductivity.SOURCE_COEFFS
self.viscosity.source = self.viscosity.SOURCE_COEFFS

View File

@@ -1,6 +1,6 @@
from __future__ import division, print_function
import numpy as np
from CPIncomp.DataObjects import PureData
from CPIncomp.DataObjects import PureData , DigitalData
class TherminolD12(PureData):
"""
@@ -8,6 +8,11 @@ class TherminolD12(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([-8.50000E+1, -8.00000E+1, -7.50000E+1, -7.00000E+1, -6.50000E+1, -6.00000E+1, -5.50000E+1, -5.00000E+1, -4.50000E+1, -4.00000E+1, -3.50000E+1, -3.00000E+1, -2.50000E+1, -2.00000E+1, -1.50000E+1, -1.00000E+1, -5.00000E+0, +0.00000E+0, +5.00000E+0, +1.00000E+1, +1.50000E+1, +2.00000E+1, +2.50000E+1, +3.00000E+1, +3.50000E+1, +4.00000E+1, +4.50000E+1, +5.00000E+1, +5.50000E+1, +6.00000E+1, +6.50000E+1, +7.00000E+1, +7.50000E+1, +8.00000E+1, +8.50000E+1, +9.00000E+1, +9.50000E+1, +1.00000E+2, +1.05000E+2, +1.10000E+2, +1.15000E+2, +1.20000E+2, +1.25000E+2, +1.30000E+2, +1.35000E+2, +1.40000E+2, +1.45000E+2, +1.50000E+2, +1.55000E+2, +1.60000E+2, +1.65000E+2, +1.70000E+2, +1.75000E+2, +1.80000E+2, +1.85000E+2, +1.90000E+2, +1.95000E+2, +2.00000E+2, +2.05000E+2, +2.10000E+2, +2.15000E+2, +2.20000E+2, +2.25000E+2, +2.30000E+2])+273.15 # Kelvin
self.density.data = np.array([+8.35000E+2, +8.32000E+2, +8.28000E+2, +8.25000E+2, +8.22000E+2, +8.18000E+2, +8.15000E+2, +8.11000E+2, +8.08000E+2, +8.05000E+2, +8.01000E+2, +7.98000E+2, +7.94000E+2, +7.91000E+2, +7.87000E+2, +7.84000E+2, +7.80000E+2, +7.77000E+2, +7.73000E+2, +7.70000E+2, +7.66000E+2, +7.62000E+2, +7.59000E+2, +7.55000E+2, +7.52000E+2, +7.48000E+2, +7.44000E+2, +7.41000E+2, +7.37000E+2, +7.33000E+2, +7.29000E+2, +7.26000E+2, +7.22000E+2, +7.18000E+2, +7.14000E+2, +7.10000E+2, +7.06000E+2, +7.03000E+2, +6.99000E+2, +6.95000E+2, +6.91000E+2, +6.87000E+2, +6.82000E+2, +6.78000E+2, +6.74000E+2, +6.70000E+2, +6.66000E+2, +6.61000E+2, +6.57000E+2, +6.53000E+2, +6.48000E+2, +6.44000E+2, +6.39000E+2, +6.35000E+2, +6.30000E+2, +6.25000E+2, +6.20000E+2, +6.16000E+2, +6.11000E+2, +6.06000E+2, +6.00000E+2, +5.95000E+2, +5.90000E+2, +5.84000E+2]) # kg/m3
self.specific_heat.data = np.array([+1.69400E+0, +1.71200E+0, +1.73100E+0, +1.75000E+0, +1.76800E+0, +1.78700E+0, +1.80600E+0, +1.82400E+0, +1.84300E+0, +1.86200E+0, +1.88100E+0, +1.90000E+0, +1.91900E+0, +1.93800E+0, +1.95700E+0, +1.97700E+0, +1.99600E+0, +2.01500E+0, +2.03500E+0, +2.05400E+0, +2.07300E+0, +2.09300E+0, +2.11300E+0, +2.13200E+0, +2.15200E+0, +2.17200E+0, +2.19100E+0, +2.21100E+0, +2.23100E+0, +2.25100E+0, +2.27100E+0, +2.29100E+0, +2.31200E+0, +2.33200E+0, +2.35200E+0, +2.37300E+0, +2.39300E+0, +2.41400E+0, +2.43400E+0, +2.45500E+0, +2.47600E+0, +2.49600E+0, +2.51700E+0, +2.53800E+0, +2.55900E+0, +2.58000E+0, +2.60200E+0, +2.62300E+0, +2.64400E+0, +2.66600E+0, +2.68700E+0, +2.70900E+0, +2.73100E+0, +2.75300E+0, +2.77500E+0, +2.79700E+0, +2.82000E+0, +2.84200E+0, +2.86500E+0, +2.88800E+0, +2.91100E+0, +2.93500E+0, +2.95900E+0, +2.98300E+0])*1000. # J/kg-K
@@ -28,6 +33,11 @@ class TherminolVP1(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+1.20000E+1, +1.70000E+1, +2.20000E+1, +2.70000E+1, +3.20000E+1, +3.70000E+1, +4.20000E+1, +4.70000E+1, +5.20000E+1, +5.70000E+1, +6.20000E+1, +6.70000E+1, +7.20000E+1, +7.70000E+1, +8.20000E+1, +8.70000E+1, +9.20000E+1, +9.70000E+1, +1.02000E+2, +1.07000E+2, +1.12000E+2, +1.17000E+2, +1.22000E+2, +1.27000E+2, +1.32000E+2, +1.37000E+2, +1.42000E+2, +1.47000E+2, +1.52000E+2, +1.57000E+2, +1.62000E+2, +1.67000E+2, +1.72000E+2, +1.77000E+2, +1.82000E+2, +1.87000E+2, +1.92000E+2, +1.97000E+2, +2.02000E+2, +2.07000E+2, +2.12000E+2, +2.17000E+2, +2.22000E+2, +2.27000E+2, +2.32000E+2, +2.37000E+2, +2.42000E+2, +2.47000E+2, +2.52000E+2, +2.57000E+2, +2.62000E+2, +2.67000E+2, +2.72000E+2, +2.77000E+2, +2.82000E+2, +2.87000E+2, +2.92000E+2, +2.97000E+2, +3.02000E+2, +3.07000E+2, +3.12000E+2, +3.17000E+2, +3.22000E+2, +3.27000E+2, +3.32000E+2, +3.37000E+2, +3.42000E+2, +3.47000E+2, +3.52000E+2, +3.57000E+2, +3.62000E+2, +3.67000E+2, +3.72000E+2, +3.77000E+2, +3.82000E+2, +3.87000E+2, +3.92000E+2, +3.97000E+2])+273.15 # Kelvin
self.density.data = np.array([+1.07000E+3, +1.07000E+3, +1.06000E+3, +1.06000E+3, +1.05000E+3, +1.05000E+3, +1.05000E+3, +1.04000E+3, +1.04000E+3, +1.03000E+3, +1.03000E+3, +1.03000E+3, +1.02000E+3, +1.02000E+3, +1.01000E+3, +1.01000E+3, +1.01000E+3, +1.00000E+3, +9.97000E+2, +9.93000E+2, +9.88000E+2, +9.84000E+2, +9.80000E+2, +9.76000E+2, +9.72000E+2, +9.67000E+2, +9.63000E+2, +9.59000E+2, +9.55000E+2, +9.50000E+2, +9.46000E+2, +9.42000E+2, +9.37000E+2, +9.33000E+2, +9.29000E+2, +9.24000E+2, +9.20000E+2, +9.15000E+2, +9.11000E+2, +9.06000E+2, +9.02000E+2, +8.98000E+2, +8.93000E+2, +8.89000E+2, +8.84000E+2, +8.79000E+2, +8.75000E+2, +8.70000E+2, +8.65000E+2, +8.60000E+2, +8.56000E+2, +8.51000E+2, +8.46000E+2, +8.41000E+2, +8.36000E+2, +8.31000E+2, +8.25000E+2, +8.20000E+2, +8.15000E+2, +8.10000E+2, +8.04000E+2, +7.99000E+2, +7.93000E+2, +7.88000E+2, +7.82000E+2, +7.76000E+2, +7.70000E+2, +7.65000E+2, +7.59000E+2, +7.52000E+2, +7.46000E+2, +7.40000E+2, +7.33000E+2, +7.27000E+2, +7.20000E+2, +7.13000E+2, +7.06000E+2, +6.99000E+2]) # kg/m3
self.specific_heat.data = np.array([+1.52300E+0, +1.53700E+0, +1.55200E+0, +1.56600E+0, +1.58100E+0, +1.59600E+0, +1.61000E+0, +1.62400E+0, +1.63900E+0, +1.65300E+0, +1.66800E+0, +1.68200E+0, +1.69600E+0, +1.71000E+0, +1.72400E+0, +1.73900E+0, +1.75300E+0, +1.76700E+0, +1.78100E+0, +1.79500E+0, +1.80900E+0, +1.82200E+0, +1.83600E+0, +1.85000E+0, +1.86400E+0, +1.87800E+0, +1.89100E+0, +1.90500E+0, +1.91900E+0, +1.93200E+0, +1.94600E+0, +1.95900E+0, +1.97300E+0, +1.98600E+0, +2.00000E+0, +2.01300E+0, +2.02700E+0, +2.04000E+0, +2.05400E+0, +2.06700E+0, +2.08000E+0, +2.09300E+0, +2.10700E+0, +2.12000E+0, +2.13300E+0, +2.14700E+0, +2.16000E+0, +2.17300E+0, +2.18600E+0, +2.19900E+0, +2.21300E+0, +2.22600E+0, +2.23900E+0, +2.25200E+0, +2.26600E+0, +2.27900E+0, +2.29300E+0, +2.30600E+0, +2.31900E+0, +2.33300E+0, +2.34700E+0, +2.36000E+0, +2.37400E+0, +2.38800E+0, +2.40200E+0, +2.41600E+0, +2.43100E+0, +2.44600E+0, +2.46000E+0, +2.47600E+0, +2.49100E+0, +2.50700E+0, +2.52300E+0, +2.54000E+0, +2.55800E+0, +2.57600E+0, +2.59500E+0, +2.61500E+0])*1000. # J/kg-K
@@ -49,6 +59,11 @@ class Therminol66(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([2.7315E+02, 2.8315E+02, 2.9315E+02, 3.0315E+02, 3.1315E+02, 3.2315E+02, 3.3315E+02, 3.4315E+02, 3.5315E+02, 3.6315E+02, 3.7315E+02, 3.8315E+02, 3.9315E+02, 4.0315E+02, 4.1315E+02, 4.2315E+02, 4.3315E+02, 4.4315E+02, 4.5315E+02, 4.6315E+02, 4.7315E+02, 4.8315E+02, 4.9315E+02, 5.0315E+02, 5.1315E+02, 5.2315E+02, 5.3315E+02, 5.4315E+02, 5.5315E+02, 5.6315E+02, 5.7315E+02, 5.8315E+02, 5.9315E+02, 6.0315E+02, 6.1315E+02, 6.2315E+02, 6.3315E+02, 6.4315E+02, 6.5315E+02])
self.density.data = np.array([1.0215E+03, 1.0149E+03, 1.0084E+03, 1.0018E+03, 9.9520E+02, 9.8860E+02, 9.8190E+02, 9.7520E+02, 9.6850E+02, 9.6180E+02, 9.5500E+02, 9.4820E+02, 9.4140E+02, 9.3450E+02, 9.2760E+02, 9.2060E+02, 9.1360E+02, 9.0660E+02, 8.9950E+02, 8.9230E+02, 8.8510E+02, 8.7780E+02, 8.7040E+02, 8.6300E+02, 8.5550E+02, 8.4790E+02, 8.4030E+02, 8.3250E+02, 8.2460E+02, 8.1660E+02, 8.0850E+02, 8.0030E+02, 7.9200E+02, 7.8350E+02, 7.7480E+02, 7.6590E+02, 7.5690E+02, 7.4770E+02, 7.3820E+02])
self.specific_heat.data = np.array([1.4950E+03, 1.5290E+03, 1.5620E+03, 1.5960E+03, 1.6300E+03, 1.6650E+03, 1.6990E+03, 1.7330E+03, 1.7680E+03, 1.8030E+03, 1.8370E+03, 1.8730E+03, 1.9080E+03, 1.9430E+03, 1.9780E+03, 2.0140E+03, 2.0500E+03, 2.0860E+03, 2.1220E+03, 2.1580E+03, 2.1950E+03, 2.2310E+03, 2.2680E+03, 2.3050E+03, 2.3420E+03, 2.3790E+03, 2.4170E+03, 2.4550E+03, 2.4920E+03, 2.5310E+03, 2.5690E+03, 2.6080E+03, 2.6470E+03, 2.6860E+03, 2.7260E+03, 2.7660E+03, 2.8060E+03, 2.8470E+03, 2.8890E+03])
@@ -70,6 +85,11 @@ class Therminol72(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([-1.00000E+1, -5.00000E+0, +0.00000E+0, +5.00000E+0, +1.00000E+1, +1.50000E+1, +2.00000E+1, +2.50000E+1, +3.00000E+1, +3.50000E+1, +4.00000E+1, +4.50000E+1, +5.00000E+1, +5.50000E+1, +6.00000E+1, +6.50000E+1, +7.00000E+1, +7.50000E+1, +8.00000E+1, +8.50000E+1, +9.00000E+1, +9.50000E+1, +1.00000E+2, +1.05000E+2, +1.10000E+2, +1.15000E+2, +1.20000E+2, +1.25000E+2, +1.30000E+2, +1.35000E+2, +1.40000E+2, +1.45000E+2, +1.50000E+2, +1.55000E+2, +1.60000E+2, +1.65000E+2, +1.70000E+2, +1.75000E+2, +1.80000E+2, +1.85000E+2, +1.90000E+2, +1.95000E+2, +2.00000E+2, +2.05000E+2, +2.10000E+2, +2.15000E+2, +2.20000E+2, +2.25000E+2, +2.30000E+2, +2.35000E+2, +2.40000E+2, +2.45000E+2, +2.50000E+2, +2.55000E+2, +2.60000E+2, +2.65000E+2, +2.70000E+2, +2.75000E+2, +2.80000E+2, +2.85000E+2, +2.90000E+2, +2.95000E+2, +3.00000E+2, +3.05000E+2, +3.10000E+2, +3.15000E+2, +3.20000E+2, +3.25000E+2, +3.30000E+2, +3.35000E+2, +3.40000E+2, +3.45000E+2, +3.50000E+2, +3.55000E+2, +3.60000E+2, +3.65000E+2, +3.70000E+2, +3.75000E+2, +3.80000E+2])+273.15 # Kelvin
self.density.data = np.array([+1.11000E+3, +1.10000E+3, +1.10000E+3, +1.09000E+3, +1.09000E+3, +1.08000E+3, +1.08000E+3, +1.07000E+3, +1.07000E+3, +1.07000E+3, +1.06000E+3, +1.06000E+3, +1.05000E+3, +1.05000E+3, +1.04000E+3, +1.04000E+3, +1.03000E+3, +1.03000E+3, +1.02000E+3, +1.02000E+3, +1.02000E+3, +1.01000E+3, +1.01000E+3, +1.00000E+3, +9.97000E+2, +9.93000E+2, +9.88000E+2, +9.84000E+2, +9.79000E+2, +9.74000E+2, +9.70000E+2, +9.65000E+2, +9.61000E+2, +9.56000E+2, +9.52000E+2, +9.47000E+2, +9.43000E+2, +9.38000E+2, +9.34000E+2, +9.29000E+2, +9.25000E+2, +9.20000E+2, +9.16000E+2, +9.11000E+2, +9.06000E+2, +9.02000E+2, +8.98000E+2, +8.93000E+2, +8.89000E+2, +8.84000E+2, +8.80000E+2, +8.75000E+2, +8.71000E+2, +8.66000E+2, +8.62000E+2, +8.57000E+2, +8.53000E+2, +8.48000E+2, +8.44000E+2, +8.39000E+2, +8.34000E+2, +8.30000E+2, +8.25000E+2, +8.21000E+2, +8.16000E+2, +8.12000E+2, +8.07000E+2, +8.03000E+2, +7.98000E+2, +7.94000E+2, +7.89000E+2, +7.85000E+2, +7.80000E+2, +7.76000E+2, +7.71000E+2, +7.66000E+2, +7.62000E+2, +7.57000E+2, +7.53000E+2]) # kg/m3
self.specific_heat.data = np.array([+1.47100E+0, +1.48400E+0, +1.49800E+0, +1.51200E+0, +1.52500E+0, +1.53900E+0, +1.55200E+0, +1.56600E+0, +1.57900E+0, +1.59300E+0, +1.60600E+0, +1.62000E+0, +1.63400E+0, +1.64700E+0, +1.66100E+0, +1.67400E+0, +1.68800E+0, +1.70100E+0, +1.71500E+0, +1.72800E+0, +1.74200E+0, +1.75500E+0, +1.76900E+0, +1.78300E+0, +1.79600E+0, +1.81000E+0, +1.82300E+0, +1.83700E+0, +1.85000E+0, +1.86400E+0, +1.87700E+0, +1.89100E+0, +1.90500E+0, +1.91800E+0, +1.93200E+0, +1.94500E+0, +1.95900E+0, +1.97200E+0, +1.98600E+0, +1.99900E+0, +2.01300E+0, +2.02600E+0, +2.04000E+0, +2.05400E+0, +2.06700E+0, +2.08100E+0, +2.09400E+0, +2.10800E+0, +2.12100E+0, +2.13500E+0, +2.14800E+0, +2.16200E+0, +2.17600E+0, +2.18900E+0, +2.20300E+0, +2.21600E+0, +2.23000E+0, +2.24300E+0, +2.25700E+0, +2.27000E+0, +2.28400E+0, +2.29700E+0, +2.31100E+0, +2.32500E+0, +2.33800E+0, +2.35200E+0, +2.36500E+0, +2.37900E+0, +2.39200E+0, +2.40600E+0, +2.41900E+0, +2.43300E+0, +2.44600E+0, +2.46000E+0, +2.47400E+0, +2.48700E+0, +2.50100E+0, +2.51400E+0, +2.52800E+0])*1000. # J/kg-K
@@ -92,6 +112,11 @@ class DowthermJ(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([-8.00000E+1, -7.00000E+1, -6.00000E+1, -5.00000E+1, -4.00000E+1, -3.00000E+1, -2.00000E+1, -1.00000E+1, +0.00000E+0, +1.00000E+1, +2.00000E+1, +3.00000E+1, +4.00000E+1, +5.00000E+1, +6.00000E+1, +7.00000E+1, +8.00000E+1, +9.00000E+1, +1.00000E+2, +1.10000E+2, +1.20000E+2, +1.30000E+2, +1.40000E+2, +1.50000E+2, +1.60000E+2, +1.70000E+2, +1.80000E+2, +1.81300E+2, +1.90000E+2, +2.00000E+2, +2.10000E+2, +2.20000E+2, +2.30000E+2, +2.40000E+2, +2.50000E+2, +2.60000E+2, +2.70000E+2, +2.80000E+2, +2.90000E+2, +3.00000E+2, +3.10000E+2, +3.20000E+2, +3.30000E+2, +3.40000E+2, +3.45000E+2])+273.15 # Kelvin
self.density.data = np.array([+9.31300E+2, +9.27900E+2, +9.21000E+2, +9.14100E+2, +9.07100E+2, +9.00000E+2, +8.92900E+2, +8.85700E+2, +8.78500E+2, +8.71100E+2, +8.63700E+2, +8.56200E+2, +8.48700E+2, +8.41000E+2, +8.33200E+2, +8.25400E+2, +8.17400E+2, +8.09400E+2, +8.01200E+2, +7.92900E+2, +7.84400E+2, +7.75900E+2, +7.67100E+2, +7.58300E+2, +7.49200E+2, +7.40000E+2, +7.30600E+2, +7.29300E+2, +7.20900E+2, +7.11000E+2, +7.00900E+2, +6.90500E+2, +6.79800E+2, +6.68800E+2, +6.57300E+2, +6.45500E+2, +6.33100E+2, +6.20200E+2, +6.06600E+2, +5.92200E+2, +5.76900E+2, +5.60400E+2, +5.42400E+2, +5.22400E+2, +5.11400E+2]) # kg/m3
self.specific_heat.data = np.array([+1.58400E+0, +1.59400E+0, +1.61600E+0, +1.63900E+0, +1.66300E+0, +1.68800E+0, +1.71400E+0, +1.74100E+0, +1.76900E+0, +1.79800E+0, +1.82800E+0, +1.85900E+0, +1.89000E+0, +1.92300E+0, +1.95500E+0, +1.98900E+0, +2.02300E+0, +2.05800E+0, +2.09300E+0, +2.12900E+0, +2.16500E+0, +2.20200E+0, +2.23900E+0, +2.27700E+0, +2.31500E+0, +2.35300E+0, +2.39200E+0, +2.39700E+0, +2.43200E+0, +2.47200E+0, +2.51200E+0, +2.55300E+0, +2.59400E+0, +2.63600E+0, +2.68000E+0, +2.72400E+0, +2.76900E+0, +2.81600E+0, +2.86600E+0, +2.91900E+0, +2.97600E+0, +3.04000E+0, +3.11500E+0, +3.20800E+0, +3.26500E+0])*1000. # J/kg-K
@@ -111,7 +136,12 @@ class DowthermQ(PureData):
Heat transfer fluid Dowtherm Q by Dow Chemicals
"""
def __init__(self):
PureData.__init__(self)
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([-3.50000E+1, -3.00000E+1, -2.00000E+1, -1.00000E+1, +0.00000E+0, +1.00000E+1, +2.00000E+1, +3.00000E+1, +4.00000E+1, +5.00000E+1, +6.00000E+1, +7.00000E+1, +8.00000E+1, +9.00000E+1, +1.00000E+2, +1.10000E+2, +1.20000E+2, +1.30000E+2, +1.40000E+2, +1.50000E+2, +1.60000E+2, +1.70000E+2, +1.80000E+2, +1.90000E+2, +2.00000E+2, +2.10000E+2, +2.20000E+2, +2.30000E+2, +2.40000E+2, +2.50000E+2, +2.60000E+2, +2.70000E+2, +2.80000E+2, +2.90000E+2, +3.00000E+2, +3.10000E+2, +3.20000E+2, +3.30000E+2, +3.40000E+2, +3.50000E+2, +3.60000E+2])+273.15 # Kelvin
self.density.data = np.array([+1.01140E+3, +1.00320E+3, +9.95600E+2, +9.88000E+2, +9.80500E+2, +9.72900E+2, +9.65400E+2, +9.57800E+2, +9.50200E+2, +9.42700E+2, +9.35100E+2, +9.27600E+2, +9.20000E+2, +9.12400E+2, +9.04900E+2, +8.97300E+2, +8.89800E+2, +8.82200E+2, +8.74600E+2, +8.67100E+2, +8.59500E+2, +8.52000E+2, +8.44400E+2, +8.36800E+2, +8.29300E+2, +8.21700E+2, +8.14200E+2, +8.06600E+2, +7.99000E+2, +7.91500E+2, +7.83900E+2, +7.76400E+2, +7.68800E+2, +7.61200E+2, +7.53700E+2, +7.46100E+2, +7.38600E+2, +7.31000E+2, +7.23400E+2, +7.15900E+2, +7.08300E+2]) # kg/m3
self.specific_heat.data = np.array([+1.47800E+0, +1.49200E+0, +1.52500E+0, +1.55700E+0, +1.58900E+0, +1.62100E+0, +1.65300E+0, +1.68500E+0, +1.71600E+0, +1.74800E+0, +1.77900E+0, +1.81100E+0, +1.84200E+0, +1.87300E+0, +1.90400E+0, +1.93500E+0, +1.96600E+0, +1.99700E+0, +2.02700E+0, +2.05800E+0, +2.08800E+0, +2.11800E+0, +2.14800E+0, +2.17800E+0, +2.20800E+0, +2.23800E+0, +2.26800E+0, +2.29700E+0, +2.32700E+0, +2.35600E+0, +2.38600E+0, +2.41500E+0, +2.44400E+0, +2.47300E+0, +2.50200E+0, +2.53000E+0, +2.55900E+0, +2.58700E+0, +2.61600E+0, +2.64400E+0, +2.67200E+0])*1000. # J/kg-K
@@ -133,6 +163,11 @@ class Texatherm22(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+0.00000E+0, +4.00000E+1, +5.00000E+1, +1.00000E+2, +1.50000E+2, +2.00000E+2, +2.50000E+2, +3.00000E+2, +3.50000E+2])+273.15 # Kelvin
self.density.data = np.array([+8.74500E+2, +8.47300E+2, +8.42500E+2, +8.10500E+2, +7.76300E+2, +7.41600E+2, +7.03200E+2, +6.68000E+2, +6.21500E+2]) # kg/m3
self.specific_heat.data = np.array([+1.81000E+0, +1.95000E+0, +1.99000E+0, +2.18000E+0, +2.36000E+0, +2.54000E+0, +2.72000E+0, +2.90000E+0, +3.08000E+0])*1e3 # J/kg-K
@@ -153,7 +188,11 @@ class SylthermXLT(PureData):
Heat transfer fluid Syltherm XLT by Dow Chemicals
"""
def __init__(self):
PureData.__init__(self)
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.temperature.data = np.array([-1.00000E+2, -9.50000E+1, -9.00000E+1, -8.50000E+1, -8.00000E+1, -7.50000E+1, -7.00000E+1, -6.50000E+1, -6.00000E+1, -5.50000E+1, -5.00000E+1, -4.50000E+1, -4.00000E+1, -3.50000E+1, -3.00000E+1, -2.50000E+1, -2.00000E+1, -1.50000E+1, -1.00000E+1, -5.00000E+0, +0.00000E+0, +5.00000E+0, +1.00000E+1, +1.50000E+1, +2.00000E+1, +2.50000E+1, +3.00000E+1, +3.50000E+1, +4.00000E+1, +4.50000E+1, +5.00000E+1, +5.50000E+1, +6.00000E+1, +6.50000E+1, +7.00000E+1, +7.50000E+1, +8.00000E+1, +8.50000E+1, +9.00000E+1, +9.50000E+1, +1.00000E+2, +1.05000E+2, +1.10000E+2, +1.15000E+2, +1.20000E+2, +1.25000E+2, +1.30000E+2, +1.35000E+2, +1.40000E+2, +1.45000E+2, +1.50000E+2, +1.55000E+2, +1.60000E+2, +1.65000E+2, +1.70000E+2, +1.75000E+2, +1.80000E+2, +1.85000E+2, +1.90000E+2, +1.95000E+2, +2.00000E+2, +2.05000E+2, +2.10000E+2, +2.15000E+2, +2.20000E+2, +2.25000E+2, +2.30000E+2, +2.35000E+2, +2.40000E+2, +2.45000E+2, +2.50000E+2, +2.55000E+2, +2.60000E+2])+273.15 # Kelvin
self.density.data = np.array([+9.78500E+2, +9.73400E+2, +9.68300E+2, +9.63100E+2, +9.58000E+2, +9.52900E+2, +9.47700E+2, +9.42600E+2, +9.37500E+2, +9.32300E+2, +9.27200E+2, +9.22000E+2, +9.16900E+2, +9.11800E+2, +9.06600E+2, +9.01500E+2, +8.96400E+2, +8.91200E+2, +8.86100E+2, +8.81000E+2, +8.75800E+2, +8.70700E+2, +8.65500E+2, +8.60400E+2, +8.55300E+2, +8.50100E+2, +8.45000E+2, +8.39900E+2, +8.34700E+2, +8.29600E+2, +8.24500E+2, +8.19300E+2, +8.14200E+2, +8.09100E+2, +8.03900E+2, +7.98800E+2, +7.93600E+2, +7.88500E+2, +7.83400E+2, +7.78200E+2, +7.73100E+2, +7.68000E+2, +7.62800E+2, +7.57700E+2, +7.52600E+2, +7.47400E+2, +7.42300E+2, +7.37200E+2, +7.32000E+2, +7.26900E+2, +7.21700E+2, +7.16600E+2, +7.11500E+2, +7.06300E+2, +7.01200E+2, +6.96100E+2, +6.90900E+2, +6.85800E+2, +6.80700E+2, +6.75500E+2, +6.70400E+2, +6.65300E+2, +6.60100E+2, +6.55000E+2, +6.49800E+2, +6.44700E+2, +6.39600E+2, +6.34400E+2, +6.29300E+2, +6.24200E+2, +6.19000E+2, +6.13900E+2, +6.08800E+2]) # kg/m3
self.specific_heat.data = np.array([+1.52000E+0, +1.53000E+0, +1.54100E+0, +1.55100E+0, +1.56200E+0, +1.57200E+0, +1.58300E+0, +1.59300E+0, +1.60400E+0, +1.61400E+0, +1.62500E+0, +1.63500E+0, +1.64600E+0, +1.65600E+0, +1.66700E+0, +1.67700E+0, +1.68800E+0, +1.69800E+0, +1.70900E+0, +1.71900E+0, +1.73000E+0, +1.74000E+0, +1.75100E+0, +1.76100E+0, +1.77200E+0, +1.78200E+0, +1.79300E+0, +1.80300E+0, +1.81400E+0, +1.82400E+0, +1.83500E+0, +1.84500E+0, +1.85600E+0, +1.86600E+0, +1.87700E+0, +1.88700E+0, +1.89800E+0, +1.90800E+0, +1.91900E+0, +1.92900E+0, +1.94000E+0, +1.95000E+0, +1.96100E+0, +1.97100E+0, +1.98200E+0, +1.99200E+0, +2.00300E+0, +2.01300E+0, +2.02400E+0, +2.03400E+0, +2.04500E+0, +2.05500E+0, +2.06600E+0, +2.07600E+0, +2.08700E+0, +2.09700E+0, +2.10800E+0, +2.11800E+0, +2.12900E+0, +2.13900E+0, +2.15000E+0, +2.16000E+0, +2.17100E+0, +2.18100E+0, +2.19200E+0, +2.20200E+0, +2.21300E+0, +2.22300E+0, +2.23400E+0, +2.24400E+0, +2.25500E+0, +2.26500E+0, +2.27600E+0])*1e3 # J/kg-K
@@ -174,6 +213,11 @@ class HC50(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+2.23150E+2,+2.33150E+2,+2.43150E+2,+2.53150E+2,+2.63150E+2,+2.73150E+2,+2.83150E+2,+2.93150E+2,+3.03150E+2,+3.13150E+2,+3.23150E+2,+3.33150E+2,+3.43150E+2,+3.53150E+2,+3.63150E+2,+3.73150E+2,+3.83150E+2,+3.93150E+2,+4.03150E+2,+4.13150E+2,+4.23150E+2,+4.33150E+2,+4.43150E+2,+4.53150E+2,+4.63150E+2,+4.73150E+2,+4.83150E+2]) # Kelvin
self.density.data = np.array([+1.37800E+3,+1.37300E+3,+1.36700E+3,+1.36200E+3,+1.35600E+3,+1.35100E+3,+1.34500E+3,+1.34000E+3,+1.33400E+3,+1.32800E+3,+1.32300E+3,+1.31700E+3,+1.31200E+3,+1.30600E+3,+1.30100E+3,+1.29500E+3,+1.29000E+3,+1.28400E+3,+1.27900E+3,+1.27300E+3,+1.26700E+3,+1.26200E+3,+1.25600E+3,+1.25100E+3,+1.24500E+3,+1.24000E+3,+1.23400E+3]) # kg/m3
self.specific_heat.data = np.array([+2.56300E+3,+2.58300E+3,+2.60200E+3,+2.62200E+3,+2.64200E+3,+2.66100E+3,+2.68100E+3,+2.70100E+3,+2.72000E+3,+2.74000E+3,+2.76000E+3,+2.78000E+3,+2.79900E+3,+2.81900E+3,+2.83900E+3,+2.85800E+3,+2.87800E+3,+2.89800E+3,+2.91700E+3,+2.93700E+3,+2.95700E+3,+2.97700E+3,+2.99600E+3,+3.01600E+3,+3.03600E+3,+3.05500E+3,+3.07500E+3]) # J/kg-K
@@ -195,6 +239,11 @@ class HC40(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+2.33150E+2,+2.43150E+2,+2.53150E+2,+2.63150E+2,+2.73150E+2,+2.83150E+2,+2.93150E+2,+3.03150E+2,+3.13150E+2,+3.23150E+2,+3.33150E+2,+3.43150E+2,+3.53150E+2,+3.63150E+2,+3.73150E+2,+3.83150E+2,+3.93150E+2,+4.03150E+2,+4.13150E+2,+4.23150E+2,+4.33150E+2,+4.38150E+2,+4.43150E+2,+4.53150E+2,+4.63150E+2,+4.73150E+2]) # Kelvin
self.density.data = np.array([+1.34800E+3,+1.34300E+3,+1.33700E+3,+1.33200E+3,+1.32600E+3,+1.32100E+3,+1.31500E+3,+1.30900E+3,+1.30400E+3,+1.29800E+3,+1.29300E+3,+1.28700E+3,+1.28100E+3,+1.27600E+3,+1.27000E+3,+1.26500E+3,+1.25900E+3,+1.25300E+3,+1.24800E+3,+1.24200E+3,+1.23700E+3,+1.23400E+3,+1.23100E+3,+1.22500E+3,+1.22000E+3,+1.21400E+3]) # kg/m3
self.specific_heat.data = np.array([+2.80000E+3,+2.82000E+3,+2.84000E+3,+2.87000E+3,+2.89000E+3,+2.91000E+3,+2.93000E+3,+2.96000E+3,+2.98000E+3,+3.00000E+3,+3.03000E+3,+3.05000E+3,+3.07000E+3,+3.09000E+3,+3.12000E+3,+3.14000E+3,+3.16000E+3,+3.19000E+3,+3.21000E+3,+3.23000E+3,+3.25000E+3,+3.27000E+3,+3.28000E+3,+3.30000E+3,+3.32000E+3,+3.35000E+3]) # J/kg-K
@@ -216,6 +265,11 @@ class HC30(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+2.43150E+2,+2.53150E+2,+2.63150E+2,+2.73150E+2,+2.83150E+2,+2.93150E+2,+3.03150E+2,+3.13150E+2,+3.23150E+2,+3.33150E+2,+3.43150E+2,+3.53150E+2,+3.63150E+2,+3.73150E+2,+3.83150E+2,+3.93150E+2,+4.03150E+2,+4.13150E+2,+4.23150E+2,+4.33150E+2,+4.43150E+2,+4.53150E+2,+4.63150E+2,+4.73150E+2,+4.83150E+2]) # Kelvin
self.density.data = np.array([+1.30000E+3,+1.29500E+3,+1.29000E+3,+1.28500E+3,+1.28000E+3,+1.27500E+3,+1.27000E+3,+1.26500E+3,+1.26000E+3,+1.25500E+3,+1.25000E+3,+1.24400E+3,+1.23900E+3,+1.23400E+3,+1.22900E+3,+1.22400E+3,+1.21900E+3,+1.21400E+3,+1.20900E+3,+1.20400E+3,+1.19900E+3,+1.19300E+3,+1.18800E+3,+1.18300E+3,+1.17800E+3]) # kg/m3
self.specific_heat.data = np.array([+2.96100E+3,+2.98400E+3,+3.00700E+3,+3.03100E+3,+3.05400E+3,+3.07700E+3,+3.10000E+3,+3.12300E+3,+3.14600E+3,+3.16900E+3,+3.19200E+3,+3.21500E+3,+3.23800E+3,+3.26200E+3,+3.28500E+3,+3.30800E+3,+3.33100E+3,+3.35400E+3,+3.37700E+3,+3.40000E+3,+3.42300E+3,+3.44600E+3,+3.46900E+3,+3.49300E+3,+3.51600E+3]) # J/kg-K
@@ -237,6 +291,11 @@ class HC20(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+2.53150E+2,+2.63150E+2,+2.73150E+2,+2.83150E+2,+2.93150E+2,+3.03150E+2,+3.13150E+2,+3.23150E+2,+3.33150E+2,+3.43150E+2,+3.53150E+2,+3.63150E+2,+3.73150E+2,+3.83150E+2,+3.93150E+2,+4.03150E+2,+4.13150E+2,+4.23150E+2,+4.33150E+2,+4.43150E+2,+4.53150E+2,+4.63150E+2,+4.73150E+2,+4.83150E+2]) # Kelvin
self.density.data = np.array([+1.25800E+3,+1.25300E+3,+1.24800E+3,+1.24200E+3,+1.23700E+3,+1.23200E+3,+1.22700E+3,+1.22200E+3,+1.21600E+3,+1.21100E+3,+1.20600E+3,+1.20100E+3,+1.19600E+3,+1.19100E+3,+1.18500E+3,+1.18000E+3,+1.17500E+3,+1.17000E+3,+1.16500E+3,+1.15900E+3,+1.15400E+3,+1.14900E+3,+1.14400E+3,+1.13900E+3]) # kg/m3
self.specific_heat.data = np.array([+3.11700E+3,+3.14100E+3,+3.16400E+3,+3.18800E+3,+3.21200E+3,+3.23500E+3,+3.25900E+3,+3.28200E+3,+3.30600E+3,+3.33000E+3,+3.35300E+3,+3.37700E+3,+3.40000E+3,+3.42400E+3,+3.44800E+3,+3.47100E+3,+3.49500E+3,+3.51800E+3,+3.54200E+3,+3.56600E+3,+3.58900E+3,+3.61300E+3,+3.63600E+3,+3.66000E+3]) # J/kg-K
@@ -258,6 +317,11 @@ class HC10(PureData):
"""
def __init__(self):
PureData.__init__(self)
self.density.source = self.density.SOURCE_DATA
self.specific_heat.source = self.specific_heat.SOURCE_DATA
self.conductivity.source = self.conductivity.SOURCE_DATA
self.viscosity.source = self.viscosity.SOURCE_DATA
self.saturation_pressure.source = self.saturation_pressure.SOURCE_DATA
self.temperature.data = np.array([+2.63150E+2,+2.73150E+2,+2.83150E+2,+2.93150E+2,+3.03150E+2,+3.13150E+2,+3.23150E+2,+3.33150E+2,+3.43150E+2,+3.53150E+2,+3.63150E+2,+3.73150E+2,+3.83150E+2,+3.93150E+2,+4.03150E+2,+4.13150E+2,+4.23150E+2,+4.33150E+2,+4.43150E+2,+4.53150E+2,+4.63150E+2,+4.73150E+2,+4.83150E+2,+4.91150E+2]) # Kelvin
self.density.data = np.array([+1.20400E+3,+1.19900E+3,+1.19500E+3,+1.19000E+3,+1.18600E+3,+1.18100E+3,+1.17700E+3,+1.17200E+3,+1.16700E+3,+1.16300E+3,+1.15800E+3,+1.15400E+3,+1.14900E+3,+1.14500E+3,+1.14000E+3,+1.13600E+3,+1.13100E+3,+1.12700E+3,+1.12200E+3,+1.11800E+3,+1.11300E+3,+1.10900E+3,+1.10400E+3,+1.10100E+3]) # kg/m3
self.specific_heat.data = np.array([+3.24600E+3,+3.27100E+3,+3.29600E+3,+3.32000E+3,+3.34500E+3,+3.37000E+3,+3.39500E+3,+3.42000E+3,+3.44400E+3,+3.46900E+3,+3.49400E+3,+3.51900E+3,+3.54400E+3,+3.56800E+3,+3.59300E+3,+3.61800E+3,+3.64300E+3,+3.66800E+3,+3.69200E+3,+3.71700E+3,+3.74200E+3,+3.76700E+3,+3.79200E+3,+3.81100E+3]) # J/kg-K
@@ -272,3 +336,4 @@ class HC10(PureData):
self.reference = "Dynalene data sheet"
self.reshapeAll()

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,14 @@
from __future__ import division, print_function
import numpy as np
import hashlib, os, json
import hashlib, os, json, sys
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
from CPIncomp.DataObjects import SolutionData
from CPIncomp.BaseObjects import IncompressibleData, IncompressibleFitter
from matplotlib.patches import Rectangle
from matplotlib.ticker import MaxNLocator
from matplotlib.backends.backend_pdf import PdfPages
class SolutionDataWriter(object):
"""
@@ -13,15 +20,18 @@ class SolutionDataWriter(object):
def __init__(self):
pass
def fitAll(self, fluidObject):
def fitAll(self, fluidObject=SolutionData()):
tempData = fluidObject.temperature.data
concData = fluidObject.concentration.data
if fluidObject.Tbase==0.0 or fluidObject.Tbase==None:
fluidObject.Tbase = (np.min(tempData) + np.max(tempData)) / 2.0
if fluidObject.xbase==0.0 or fluidObject.xbase==None:
fluidObject.xbase = (np.min(concData) + np.max(concData)) / 2.0
if fluidObject.Tbase==None:
fluidObject.Tbase = (fluidObject.Tmin + fluidObject.Tmax) / 2.0
if fluidObject.xbase==None:
fluidObject.xbase = (fluidObject.xmin + fluidObject.xmax) / 2.0
tData = fluidObject.temperature.data
xData = fluidObject.concentration.data
tBase = fluidObject.Tbase
xBase = fluidObject.xbase
# Set the standard order for polynomials
std_xorder = 3+1
@@ -31,43 +41,79 @@ class SolutionDataWriter(object):
errList = (ValueError, AttributeError, TypeError, RuntimeError)
try:
fluidObject.density.setxyData(tData,xData)
fluidObject.density.coeffs = np.copy(std_coeffs)
fluidObject.density.type = fluidObject.density.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.density.fitCoeffs(tempData,concData,fluidObject.Tbase,fluidObject.xbase)
fluidObject.density.type = IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.density.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.density.DEBUG: print("{0}: Could not fit polynomial {1} coefficients: {2}".format(fluidObject.name,'density',ve))
pass
try:
fluidObject.specific_heat.setxyData(tData,xData)
fluidObject.specific_heat.coeffs = np.copy(std_coeffs)
fluidObject.specific_heat.type = fluidObject.specific_heat.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.specific_heat.fitCoeffs(tempData,concData,fluidObject.Tbase,fluidObject.xbase)
fluidObject.specific_heat.type = IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.specific_heat.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.specific_heat.DEBUG: print("{0}: Could not fit polynomial {1} coefficients: {2}".format(fluidObject.name,'specific heat',ve))
pass
try:
fluidObject.conductivity.setxyData(tData,xData)
fluidObject.conductivity.coeffs = np.copy(std_coeffs)
fluidObject.conductivity.type = fluidObject.conductivity.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.conductivity.fitCoeffs(tempData,concData,fluidObject.Tbase,fluidObject.xbase)
fluidObject.conductivity.type = IncompressibleData.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.conductivity.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.conductivity.DEBUG: print("{0}: Could not fit polynomial {1} coefficients: {2}".format(fluidObject.name,'conductivity',ve))
pass
try:
fluidObject.viscosity.coeffs = np.copy(std_coeffs)
fluidObject.viscosity.type = fluidObject.viscosity.INCOMPRESSIBLE_EXPPOLYNOMIAL
fluidObject.viscosity.fitCoeffs(tempData,concData,fluidObject.Tbase,fluidObject.xbase)
fluidObject.viscosity.setxyData(tData,xData)
tried = False
if len(fluidObject.viscosity.yData)==1:# and np.isfinite(fluidObject.viscosity.data).sum()<10:
fluidObject.viscosity.coeffs = np.array([+5e+2, -6e+1, +1e+1])
fluidObject.viscosity.type = IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL
fluidObject.viscosity.fitCoeffs(tBase,xBase)
if fluidObject.viscosity.coeffs==None or IncompressibleFitter.allClose(fluidObject.viscosity.coeffs, np.array([+5e+2, -6e+1, +1e+1])): # Fit failed
tried = True
if len(fluidObject.viscosity.yData)>1 or tried:
#fluidObject.viscosity.coeffs = np.zeros(np.round(np.array(std_coeffs.shape) * 1.5))
fluidObject.viscosity.coeffs = np.copy(std_coeffs)
fluidObject.viscosity.type = IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL
fluidObject.viscosity.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.viscosity.DEBUG: print("{0}: Could not fit polynomial {1} coefficients: {2}".format(fluidObject.name,'viscosity',ve))
pass
try:
fluidObject.saturation_pressure.setxyData(tData,xData)
tried = False
if len(fluidObject.saturation_pressure.yData)==1:# and np.isfinite(fluidObject.saturation_pressure.data).sum()<10:
fluidObject.saturation_pressure.coeffs = np.array([-5e+3, +6e+1, -1e+1])
fluidObject.saturation_pressure.type = IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL
fluidObject.saturation_pressure.fitCoeffs(tBase,xBase)
if fluidObject.saturation_pressure.coeffs==None or IncompressibleFitter.allClose(fluidObject.saturation_pressure.coeffs, np.array([-5e+3, +6e+1, -1e+1])): # Fit failed
tried = True
if len(fluidObject.saturation_pressure.yData)>1 or tried:
#fluidObject.saturation_pressure.coeffs = np.zeros(np.round(np.array(std_coeffs.shape) * 1.5))
fluidObject.saturation_pressure.coeffs = np.copy(std_coeffs)
fluidObject.saturation_pressure.type = IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL
fluidObject.saturation_pressure.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.saturation_pressure.DEBUG: print("{0}: Could not fit polynomial {1} coefficients: {2}".format(fluidObject.name,'saturation pressure',ve))
pass
# reset data for getArray and read special files
if fluidObject.xid!=fluidObject.ifrac_pure and fluidObject.xid!=fluidObject.ifrac_undefined:
try:
fluidObject.T_freeze.coeffs = np.copy(std_coeffs)
fluidObject.T_freeze.type = fluidObject.T_freeze.INCOMPRESSIBLE_POLYNOMIAL
fluidObject.T_freeze.fitCoeffs(concData,0.0,fluidObject.xbase,0.0)
fluidObject.T_freeze.setxyData([0.0],xData)
try:
if len(fluidObject.T_freeze.xData)==1:# and np.isfinite(fluidObject.T_freeze.data).sum()<10:
fluidObject.T_freeze.coeffs = np.array([+7e+2, -6e+1, +1e+1])
fluidObject.T_freeze.type = IncompressibleData.INCOMPRESSIBLE_EXPONENTIAL
else:
fluidObject.specific_heat.coeffs = np.copy(std_coeffs)
fluidObject.T_freeze.type = IncompressibleData.INCOMPRESSIBLE_EXPPOLYNOMIAL
fluidObject.T_freeze.fitCoeffs(tBase,xBase)
except errList as ve:
if fluidObject.T_freeze.DEBUG: print("{0}: Could not fit {1} coefficients: {2}".format(fluidObject.name,"T_freeze",ve))
pass
@@ -147,7 +193,7 @@ class SolutionDataWriter(object):
original_float_repr = json.encoder.FLOAT_REPR
#print json.dumps(1.0001)
stdFmt = " .{0}e".format(int(data.significantDigits-1))
stdFmt = "1.{0}e".format(int(data.significantDigits-1))
#pr = np.finfo(float).eps * 10.0
#pr = np.finfo(float).precision - 2 # stay away from numerical precision
#json.encoder.FLOAT_REPR = lambda o: format(np.around(o,decimals=pr), stdFmt)
@@ -165,12 +211,11 @@ class SolutionDataWriter(object):
hashes[name] != hash: # update hashes and write file
hashes[name] = hash
self.write_hashes(hashes)
fp = open(name+'.json', 'w')
self.write_hashes(hashes)
path = os.path.join("json",name+'.json')
fp = open(path, 'w')
fp.write(dump)
fp.close()
fp.close()
if not quiet: print(" ({0})".format("w"), end="")
else:
if not quiet: print(" ({0})".format("i"), end="")
@@ -184,7 +229,8 @@ class SolutionDataWriter(object):
print(", {0}".format(obj.name), end="")
else:
print(", {0}".format(obj.name), end="")
sys.stdout.flush()
return
@@ -213,7 +259,7 @@ class SolutionDataWriter(object):
print("An error occurred for fluid: {0}".format(obj.name))
print(obj)
print(e)
pass
pass
print(" ... done")
return
@@ -232,6 +278,623 @@ class SolutionDataWriter(object):
pass
print(" ... done")
return
def writeReportList(self, fluidObjs, pdfFile=None):
print("Writing fitting reports:", end="")
pdfObj = None
if pdfFile!=None: pdfObj = PdfPages(pdfFile)
for obj in fluidObjs:
self.printStatusID(fluidObjs, obj)
self.makeFitReportPage(obj,pdfObj=pdfObj)
try:
self.makeFitReportPage(obj)
except (TypeError, ValueError) as e:
print("An error occurred for fluid: {0}".format(obj.name))
print(obj)
print(e)
pass
if pdfFile!=None: pdfObj.close()
print(" ... done")
return
#####################################
# Plotting routines
#####################################
def relError(self, A=[], B=[], PCT=False):
"""
Returns the absolute relative Error from either
(B-A)/B or (A-B)/A for abs(B)>abs(A) and abs(A)>abs(B),
respectively. If PCT is True, it returns it in percent.
"""
A_a = np.array(A)
B_a = np.array(B)
abl = np.absolute(B_a)
eps = np.ones_like(abl) * np.finfo(float).eps
#div = np.amax(np.hstack((abl,eps)), axis=1)*np.sign(B_a)
pos = np.isfinite(B_a)
pos2 = (B_a>eps)
result = np.ones_like(A_a)*np.NAN
result[pos & pos2] = (A_a[pos & pos2]-B_a[pos & pos2])/B_a[pos & pos2]
if PCT:
return result * 100.
else:
return result
############################################################
# Define the general purpose routines for plotting
############################################################
def wireFrame2D(self,xz,yz,linesX=5,linesY=None,color='black',ax=None,plot=False):
"""
xz is a 2D array that holds x-values for constant z1 and z2.
yz is a 2D array that holds y-values for the same z1 and z2.
xz and yz have to have the same size.
The first dimension of xz should be greater than
or equal to the lines input.
"""
if xz.ndim!=2:
raise ValueError("xz has to be a 2D array.")
if yz.ndim!=2:
raise ValueError("yz has to be a 2D array.")
if xz.shape!=yz.shape:
raise ValueError("xz and yz have to have the same shape: {0} != {1}".format(xz.shape,yz.shape))
if linesY==None and linesX!=None:
linesY = linesX
if linesX==None and linesY!=None:
linesX = linesY
if linesY==None and linesX==None:
raise ValueError("You have to provide linesX or linesY")
xl,yl = xz.shape
x_index = np.round(np.linspace(0, xl-1, linesX))
y_index = np.round(np.linspace(0, yl-1, linesY))
x_toPlot = []
y_toPlot = []
for i in x_index:
x_toPlot += [xz.T[i]]
y_toPlot += [yz.T[i]]
for i in y_index:
x_toPlot += [xz[i]]
y_toPlot += [yz[i]]
if plot==False:
return x_toPlot,y_toPlot
if ax==None:
raise ValueError("You have to give an axis to plot.")
for i in range(len(x_toPlot)):
ax.plot(x_toPlot[i],y_toPlot[i],color=color)
return x_toPlot,y_toPlot
def plotValues(self,axVal,axErr,solObj=SolutionData(),dataObj=IncompressibleData(),func=None,old=None):
"""
Plots two data series using the same axis. You can
choose if you prefer points or a line for the reference
data. This can be used to show that we have experimental
data or a reference equation.
You can use the old input to call CoolProp with this ID.
You can use this feature to visualise changes for new
data fits. Primarily intended to highlight changes from
v4 to v5 of CoolProp.
"""
if dataObj.type==dataObj.INCOMPRESSIBLE_NOT_SET \
or dataObj.source==dataObj.SOURCE_NOT_SET:
return
# TODO: Improve this work-around
xFunction = False
try:
if solObj.T_freeze.coeffs.shape==dataObj.coeffs.shape:
if np.all(solObj.T_freeze.coeffs==dataObj.coeffs):
xFunction = True
except AttributeError as ae:
if False: print(ae)
pass
points = 30
dataFormatter = {}
tData = None
xData = None
pData = None
zData = None
zError= None
if dataObj.source==dataObj.SOURCE_DATA or dataObj.source==dataObj.SOURCE_EQUATION:
dataFormatter['color'] = 'blue'
dataFormatter['marker'] = 'o'
dataFormatter['ls'] = 'none'
dataObj.setxyData(solObj.temperature.data,solObj.concentration.data)
tData = dataObj.xData
xData = dataObj.yData
pData = 1e7 # 100 bar
zData = dataObj.data
if func!=None and zData!=None:
r,c = zData.shape
zError= np.zeros((r,c))
for i in range(r):
for j in range(c):
zError[i,j]= func(tData[i],pData,xData[j])
zError = self.relError(zData, zError) * 1e2
## Find the column with the largest single error
#maxVal = np.amax(zError, axis=0) # largest error per column
#col2plot = np.argmax(maxVal) # largest error in row
## Find the column with the largest total error
#totVal = np.sum(zError, axis=0) # summed error per column
#col2plot = np.argmax(totVal) # largest error in row
# Find the column with the largest average error
if xFunction:
#avgVal = np.average(zError, axis=1) # summed error per column
#set2plot = np.argmax(avgVal) # largest error in row
set2plot = int(np.round(r/2.0))
tData = np.array([tData[set2plot]])
zData = zData[set2plot]
zError= zError[set2plot]
else:
#avgVal = np.average(zError, axis=0) # summed error per column
#set2plot = np.argmax(avgVal) # largest error in row
set2plot = int(np.round(c/2.0))
xData = np.array([xData[set2plot]])
zData = zData.T[set2plot]
zError= zError.T[set2plot]
else:
raise ValueError("You have to provide data and a fitted function.")
elif dataObj.source==dataObj.SOURCE_COEFFS:
dataFormatter['color'] = 'blue'
#dataFormatter['marker'] = 'o'
dataFormatter['ls'] = 'solid'
if xFunction:
xData = np.linspace(solObj.xmin, solObj.xmax, num=points)
if solObj.xid==solObj.ifrac_pure: tData = np.array([0.0])
else: tData = np.array([solObj.Tmin+solObj.Tmax])/2.0
else:
tData = np.linspace(solObj.Tmin, solObj.Tmax, num=points)
if solObj.xid==solObj.ifrac_pure: xData = np.array([0.0])
else: xData = np.array([solObj.xmin+solObj.xmax])/2.0
pData = 1e7 # 100 bar
#zData= np.zeros((len(tData),len(xData)))
#for i in range(len(tData)):
# for j in range(len(xData)):
# zData[i,j] = func(tData[i],pData,xData[j])
#r,c = zData.shape
#if r==1 or c==1:
# zData = np.array(zData.flat)
#else:
# raise ValueError("Cannot plot non-flat arrays!")
# Copy the arrays
tFunc = tData
xFunc = xData
pFunc = pData
zFunc = None
zMiMa = None
xFree = xData
tFree = tData
zFree = None
if func!=None:
if len(tFunc)<points and len(tFunc)>1:
tFunc = np.linspace(solObj.Tmin, solObj.Tmax, num=points)
if len(xFunc)<points and len(xFunc)>1:
xFunc = np.linspace(solObj.xmin, solObj.xmax, num=points)
zFunc = np.zeros((len(tFunc),len(xFunc)))
for i in range(len(tFunc)):
for j in range(len(xFunc)):
zFunc[i,j] = func(tFunc[i],pFunc,xFunc[j])
r,c = zFunc.shape
if r==1 or c==1:
zFunc = np.array(zFunc.flat)
else:
raise ValueError("Cannot plot non-flat arrays!")
if xFunction:
tMiMa = np.array([solObj.Tmin, solObj.Tmax])
xMiMa = xFunc
else:
tMiMa = tFunc
xMiMa = np.array([solObj.xmin, solObj.xmax])
zMiMa = np.zeros((len(tMiMa),len(xMiMa)))
for i in range(len(tMiMa)):
for j in range(len(xMiMa)):
zMiMa[i,j] = func(tMiMa[i],pFunc,xMiMa[j])
if not xFunction: # add the freezing front
if solObj.T_freeze.type!=IncompressibleData.INCOMPRESSIBLE_NOT_SET:
cols = len(tMiMa)
conc = np.linspace(solObj.xmin, solObj.xmax, num=cols)
tFree = np.zeros_like(conc)
zFree = np.zeros_like(conc)
for i in range(cols):
tFree[i] = solObj.Tfreeze(10.0, p=pFunc, x=conc[i])
zFree[i] = func(tFree[i],pFunc,conc[i])
#zMiMa = np.hstack((zMiMa,temp.reshape((len(conc),1))))
fitFormatter = {}
fitFormatter['color'] = 'red'
fitFormatter['ls'] = 'solid'
errorFormatter = {}
errorFormatter['color'] = dataFormatter['color']
errorFormatter['marker'] = 'o'
errorFormatter['ls'] = 'none'
errorFormatter['alpha'] = 0.25
pData = None
pFree = None
if xFunction:
pData = xData
pFunc = xFunc
pMiMa = xMiMa
zMiMa = zMiMa.T
#pFree = xFree
#zFree = zFree.T
else:
pData = tData - 273.15
pFunc = tFunc - 273.15
pMiMa = tMiMa - 273.15
#zMiMa = zMiMa
pFree = tFree - 273.15
if zData!=None and axVal!=None:
axVal.plot(pData, zData, label='data', **dataFormatter)
if zFunc!=None and axVal!=None:
axVal.plot(pFunc, zFunc, label='function' , **fitFormatter)
if solObj.xid!=solObj.ifrac_pure and not xFunction:
axVal.set_title("showing x={0:3.2f}".format(xFunc[0]))
else:
axVal.set_title(" ")
if zMiMa!=None and axVal!=None:
axVal.plot(pMiMa, zMiMa, alpha=0.25, ls=':', color=fitFormatter["color"])
if zFree!=None and axVal!=None:
axVal.plot(pFree, zFree, alpha=0.25, ls=':', color=fitFormatter["color"])
if zError!=None and axErr!=None:
axErr.plot(pData, zError, label='error' , **errorFormatter)
elif axErr!=None:
errorFormatter['alpha'] = 0.00
axErr.plot([pData[0],pData[-1]], [0,0], **errorFormatter)
#axErr.xaxis.set_visible(False)
#axErr.yaxis.set_visible(False)
#axErr.plot(pData, zFunc, label='function' , **fitFormatter)
#else:
# plt.setp(axErr.get_yticklabels(), visible=False)
# plt.setp(axErr.yaxis.get_label(), visible=False)
def printFluidInfo(self,ax,solObj=SolutionData()):
"""
Prints some fluid information on top of the fitting report.
"""
#ax = subplot(111, frame_on=False)
ax.xaxis.set_visible(False)
ax.yaxis.set_visible(False)
#cellText = [["1","2"],["3","4"]]
#rowLabels = ["Name","Source"]
## Add a table at the bottom of the axes
#the_table = ax.table(cellText=cellText)
annotateSettingsTitle = {}
#annotateSettingsLabel['xycoords']=('figure fraction', 'figure fraction')
annotateSettingsTitle['ha'] = 'center'
annotateSettingsTitle['va'] = 'baseline'
annotateSettingsTitle['fontsize'] = 'xx-large'
annotateSettingsTitle['fontweight'] = 'bold'
annotateSettingsLabel = {}
#annotateSettingsLabel['xycoords']=('figure fraction', 'figure fraction')
annotateSettingsLabel['ha'] = 'right'
annotateSettingsLabel['va'] = 'baseline'
#annotateSettingsLabel['fontsize'] = 'large'
annotateSettingsLabel['fontweight'] = 'semibold'
annotateSettingsText = {}
#annotateSettingsText['xycoords']=('figure fraction', 'figure fraction')
annotateSettingsText['ha'] = 'left'
annotateSettingsText['va'] = 'baseline'
#annotateSettingsText['fontsize'] = 'large'
annotateSettingsText['fontweight'] = 'medium'
#ax.set_title('Fitting Report for {0}'.format(solObj.name))
ax.text(0.5, 0.8, 'Fitting Report for {0}'.format(solObj.name), **annotateSettingsTitle)
def myAnnotate(label,text,x=0.0,y=0.0):
dx = 0.005
ax.text(x-dx,y, label, **annotateSettingsLabel)
ax.text(x+dx,y, text, **annotateSettingsText)
#ax.annotate(r'Enthalpy [$\mathdefault{10^5\!J/kg}$]', xy=(0.25, 0.03), **annotateSettings)
#ax.annotate(r'Enthalpy [$\mathdefault{10^5\!J/kg}$]', xy=(0.25, 0.03), **annotateSettings)
dx = 0.50
dy = 0.10
xStart = 0.175 ; x = xStart
yStart = 0.575; y = yStart
#myAnnotate('Name: ',solObj.name,x=x,y=y); x += .0; y -= dy
myAnnotate('Description: ',solObj.description,x=x,y=y); x += .0; y -= dy
myAnnotate('Source: ',solObj.reference,x=x,y=y); x += .0; y -= dy
myAnnotate('Temperature: ',u'{0} \u00B0C to {1} \u00B0C'.format(solObj.Tmin-273.15, solObj.Tmax-273.15),x=x,y=y); x += .0; y -= dy
conc = False
if solObj.xid==solObj.ifrac_mass: conc=True
if solObj.xid==solObj.ifrac_volume: conc=True
if solObj.xid==solObj.ifrac_mole: conc=True
if conc==True:
myAnnotate('Composition: ',u'{0} % to {1} %, {2}'.format(solObj.xmin*100., solObj.xmax*100., solObj.xid),x=x,y=y)
else:
myAnnotate('Composition: ','pure fluid',x=x,y=y)
x += .0; y -= dy
if solObj.density.source!=solObj.density.SOURCE_NOT_SET:
myAnnotate('Density: ',u'{0} to {1} {2}'.format(solObj.density.source, solObj.density.type, solObj.density.coeffs.shape),x=x,y=y)
else:
myAnnotate('Density: ','no information',x=x,y=y)
x += .0; y -= dy
if solObj.specific_heat.source!=solObj.specific_heat.SOURCE_NOT_SET:
myAnnotate('Spec. Heat: ',u'{0} to {1} {2}'.format(solObj.specific_heat.source, solObj.specific_heat.type, solObj.specific_heat.coeffs.shape),x=x,y=y)
else:
myAnnotate('Spec. Heat: ','no information',x=x,y=y)
x += .0; y -= dy
x = xStart + dx; y = yStart-dy-dy
if solObj.conductivity.source!=solObj.conductivity.SOURCE_NOT_SET:
myAnnotate('Th. Cond.: ',u'{0} to {1} {2}'.format(solObj.conductivity.source, solObj.conductivity.type, solObj.conductivity.coeffs.shape),x=x,y=y)
else:
myAnnotate('Th. Cond.: ','no information',x=x,y=y)
x += .0; y -= dy
if solObj.viscosity.source!=solObj.viscosity.SOURCE_NOT_SET:
myAnnotate('Viscosity: ',u'{0} to {1} {2}'.format(solObj.viscosity.source, solObj.viscosity.type, solObj.viscosity.coeffs.shape),x=x,y=y)
else:
myAnnotate('Viscosity: ','no information',x=x,y=y)
x += .0; y -= dy
if solObj.saturation_pressure.source!=solObj.saturation_pressure.SOURCE_NOT_SET:
myAnnotate('Psat: ',u'{0} to {1} {2}'.format(solObj.saturation_pressure.source, solObj.saturation_pressure.type, solObj.saturation_pressure.coeffs.shape),x=x,y=y)
else:
myAnnotate('Psat: ','no information',x=x,y=y)
x += .0; y -= dy
if solObj.T_freeze.source!=solObj.T_freeze.SOURCE_NOT_SET:
myAnnotate('Tfreeze: ',u'{0} to {1} {2}'.format(solObj.T_freeze.source, solObj.T_freeze.type, solObj.T_freeze.coeffs.shape),x=x,y=y)
else:
myAnnotate('Tfreeze: ','no information',x=x,y=y)
x += .0; y -= dy
#ax5.set_xlabel(ur'$\mathregular{Temperature\/(\u00B0C)}$')
#x += dx; y = yStart
#myAnnotate('Name: ',solObj.name,x=x,y=y); x += .0; y -= dy
ax.set_xlim((0,1))
ax.set_ylim((0,1))
def printFitDetails(self):
pass
def makeFitReportPage(self, solObj=SolutionData(), pdfObj=None):
"""
Creates a whole page with some plots and basic information
for both fit quality, reference data, data sources and
more.
"""
# First we determine some basic settings
gs = gridspec.GridSpec(4, 2, wspace=None, hspace=None, height_ratios=[2.5,3,3,3])
#gs.update(top=0.75, hspace=0.05)
div = 22
fig = plt.figure(figsize=(210/div,297/div))
table_axis = plt.subplot(gs[0,:], frame_on=False)
# Info text settings
infoText = {}
infoText['ha'] = 'center'
infoText['va'] = 'baseline'
infoText['fontsize'] = 'smaller'
infoText['xycoords'] =('axes fraction', 'axes fraction')
# Setting the labels
#errLabel = ur'$\mathdefault{rel.\/Error\/[\u2030]}$'
errLabel = r'$\mathdefault{rel.\/Error\/[\%]}$'
tempLabel = ur'$\mathdefault{Temperature\/(\u00B0C)}$'
density_axis = plt.subplot(gs[1,0])
density_error = density_axis.twinx()
density_axis.set_ylabel(r'Density [$\mathdefault{kg/m^3\!}$]')
density_axis.set_xlabel(tempLabel)
density_error.set_ylabel(errLabel)
if solObj.density.source!=solObj.density.SOURCE_NOT_SET:
self.plotValues(density_axis,density_error,solObj=solObj,dataObj=solObj.density,func=solObj.rho)
else:
raise ValueError("Density data has to be provided!")
capacity_axis = plt.subplot(gs[1,1])
capacity_error = capacity_axis.twinx()
capacity_axis.set_ylabel(r'Heat Capacity [$\mathdefault{J/kg/K}$]')
capacity_axis.set_xlabel(tempLabel)
capacity_error.set_ylabel(errLabel)
if solObj.specific_heat.source!=solObj.specific_heat.SOURCE_NOT_SET:
self.plotValues(capacity_axis,capacity_error,solObj=solObj,dataObj=solObj.specific_heat,func=solObj.c)
else:
raise ValueError("Specific heat data has to be provided!")
# Optional plots, might not all be shown
conductivity_axis = plt.subplot(gs[2,0])#, sharex=density_axis)
conductivity_error = conductivity_axis.twinx()
conductivity_axis.set_ylabel(r'Thermal Conductivity [$\mathdefault{W/m/K}$]')
conductivity_axis.set_xlabel(tempLabel)
conductivity_error.set_ylabel(errLabel)
if solObj.conductivity.source!=solObj.conductivity.SOURCE_NOT_SET:
self.plotValues(conductivity_axis,conductivity_error,solObj=solObj,dataObj=solObj.conductivity,func=solObj.cond)
else:
#conductivity_axis.xaxis.set_visible(False)
#conductivity_axis.yaxis.set_visible(False)
#conductivity_error.xaxis.set_visible(False)
#conductivity_error.yaxis.set_visible(False)
conductivity_axis.annotate("No conductivity information",xy=(0.5,0.5),**infoText)
viscosity_axis = plt.subplot(gs[2,1])#, sharex=capacity_axis)
viscosity_error = viscosity_axis.twinx()
viscosity_axis.set_yscale('log')
viscosity_axis.set_ylabel(r'Dynamic Viscosity [$\mathdefault{Pa\/s}$]')
viscosity_axis.set_xlabel(tempLabel)
viscosity_error.set_ylabel(errLabel)
if solObj.viscosity.source!=solObj.viscosity.SOURCE_NOT_SET:
self.plotValues(viscosity_axis,viscosity_error,solObj=solObj,dataObj=solObj.viscosity,func=solObj.visc)
else:
#viscosity_axis.xaxis.set_visible(False)
#viscosity_axis.yaxis.set_visible(False)
#viscosity_error.xaxis.set_visible(False)
#viscosity_error.yaxis.set_visible(False)
viscosity_axis.annotate("No viscosity information",xy=(0.5,0.5),**infoText)
saturation_axis = plt.subplot(gs[3,0])#, sharex=density_axis)
saturation_error = saturation_axis.twinx()
saturation_axis.set_yscale('log')
saturation_axis.set_ylabel(r'Saturation Pressure [$\mathdefault{Pa}$]')
saturation_axis.set_xlabel(tempLabel)
saturation_error.set_ylabel(errLabel)
if solObj.saturation_pressure.source != solObj.saturation_pressure.SOURCE_NOT_SET: # exists
self.plotValues(saturation_axis,saturation_error,solObj=solObj,dataObj=solObj.saturation_pressure,func=solObj.psat)
else:
#saturation_axis.xaxis.set_visible(False)
#saturation_axis.yaxis.set_visible(False)
#saturation_error.xaxis.set_visible(False)
#saturation_error.yaxis.set_visible(False)
saturation_axis.annotate("No saturation state information",xy=(0.5,0.5),**infoText)
Tfreeze_axis = plt.subplot(gs[3,1])#, sharex=capacity_axis)
Tfreeze_error = Tfreeze_axis.twinx()
Tfreeze_axis.set_ylabel(r'Freezing Temperature [$\mathdefault{K}$]')
Tfreeze_axis.set_xlabel("{0} fraction".format(solObj.xid.title()))
Tfreeze_error.set_ylabel(errLabel)
if solObj.T_freeze.source != solObj.T_freeze.SOURCE_NOT_SET: # exists
self.plotValues(Tfreeze_axis,Tfreeze_error,solObj=solObj,dataObj=solObj.T_freeze,func=solObj.Tfreeze)
else:
#Tfreeze_axis.xaxis.set_visible(False)
#Tfreeze_axis.yaxis.set_visible(False)
#Tfreeze_error.xaxis.set_visible(False)
#Tfreeze_error.yaxis.set_visible(False)
Tfreeze_axis.annotate("No freezing point information",xy=(0.5,0.5),**infoText)
Tfreeze_axis.set_xlabel("Fraction")
#saturation_axis = plt.subplot2grid((3,2), (2,0))
#Tfreeze_axis = plt.subplot2grid((3,2), (2,0))
#mass2input_axis = plt.subplot2grid((3,2), (2,0))
#volume2input_axis = plt.subplot2grid((3,2), (2,0))
# Set a minimum error level and do some more formatting
minAbsErrorScale = 0.05 # in per cent
for a in fig.axes:
if a.get_ylabel()==errLabel:
mi,ma = a.get_ylim()
if mi>-minAbsErrorScale: a.set_ylim(bottom=-minAbsErrorScale)
if ma< minAbsErrorScale: a.set_ylim( top= minAbsErrorScale)
a.xaxis.set_major_locator(MaxNLocator(5))
#a.yaxis.set_major_locator(MaxNLocator(7))
# print headlines etc.
self.printFluidInfo(table_axis, solObj)
# Prepare the legend
legenddict = {}
for a in fig.axes:
handles, labels = a.get_legend_handles_labels()
for i in range(len(labels)):
legenddict[labels[i]] = handles[i]
legKey = ["Legend: "]
legVal = [Rectangle((0, 0), 1, 1, alpha=0.0)]
legKey += legenddict.keys()
legVal += legenddict.values()
legKey += [" "]
legVal += [Rectangle((0, 0), 1, 1, alpha=0.0)]
table_axis.legend(
legVal, legKey,
bbox_to_anchor=(0.0, -0.025, 1., -0.025),
ncol=len(legKey), mode="expand", borderaxespad=0.,
numpoints=1)
#table_axis.legend(handles, labels, bbox_to_anchor=(0.0, -0.1), loc=2, ncol=3)
#
#
#
#
#
#
#
# t = arange(0.01, 5.0, 0.01)
#s1 = sin(2*pi*t)
#s2 = exp(-t)
#s3 = sin(4*pi*t)
#ax1 = subplot(311)
#plot(t,s1)
#setp( ax1.get_xticklabels(), fontsize=6)
#
### share x only
#ax2 = subplot(312, sharex=ax1)
#plot(t, s2)
## make these tick labels invisible
#setp( ax2.get_xticklabels(), visible=False)
#
## share x and y
#ax3 = subplot(313, sharex=ax1, sharey=ax1)
#plot(t, s3)
#xlim(0.01,5.0)
#show()
gs.tight_layout(fig)#, rect=[0, 0, 1, 0.75])
# Fine-tune figure; make subplots close to each other
# and hide x ticks for all but bottom plot.
#fig.subplots_adjust(wspace=0)
#plt.setp([a.get_xticklabels() for a in fig.axes[:-1]], visible=False)
plt.savefig(os.path.join("report","{0}_fitreport.pdf".format(solObj.name)))
if pdfObj!=None: pdfObj.savefig(fig)
plt.close()
pass
#class FitGraphWriter(object):
@@ -266,15 +929,7 @@ class SolutionDataWriter(object):
## containerList += [ZS10(), ZS25(), ZS40(), ZS45(), ZS55()]
# return containerList
#
# def relError(A=[],B=[],PCT=False):
# """
# Returns the relative Error from (A-B)/B, if PCT is True, it returns percent.
# """
# result = (np.array(A)-np.array(B))/np.array(B);
# if PCT:
# return result * 100.
# else:
# return result
#
#
# def makePlots(self, fluid):

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
1.89132e-04
],
[
-2.06364e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.07650e+03
],
[
-7.31182e-01
]
],
"type": "polynomial"
},
"description": "Diethylbenzene mixture - Dowtherm J Dow Chemical Co.",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "DEB",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
9.99729e+02
],
[
2.87576e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
3.55030e+00
],
[
-5.66396e-02
],
[
7.03331e-05
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.05650e+02,
"Tmax": 6.18150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.23150e+02,
"conductivity": {
"coeffs": [
[
1.04518e-01
],
[
-2.12843e-04
],
[
-3.45327e-09
],
[
3.58008e-11
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.75459e+02
],
[
-8.53428e-01
],
[
-1.06580e-03
],
[
-2.92227e-06
]
],
"type": "polynomial"
},
"description": "DowthermJ",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "DowJ",
"reference": "Dow Chemicals data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.20030e+03
],
[
3.58155e+00
],
[
4.04739e-03
],
[
6.78271e-06
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-8.08082e+00
],
[
-5.67888e-03
],
[
2.80778e-05
],
[
-8.60957e-08
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.94150e+02,
"Tmax": 5.88150e+02,
"Tmin": 2.00150e+02,
"TminPsat": 5.88150e+02,
"conductivity": {
"coeffs": [
[
1.24483e-01
],
[
-8.22866e-05
],
[
-4.62392e-10
],
[
1.31218e-11
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.84467e+02
],
[
-8.44939e-01
],
[
-8.67323e-04
],
[
-2.16321e-06
]
],
"type": "polynomial"
},
"description": "Dowtherm J, Diethylbenzene mixture",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "DowJ2",
"reference": "Dow Chemicals, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.16675e+03
],
[
3.62360e+00
],
[
3.14590e-03
],
[
2.11429e-08
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-3.39705e+00
],
[
-6.04223e-03
],
[
3.01309e-05
],
[
-1.02852e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.35650e+02,
"Tmax": 6.33150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 3.93150e+02,
"conductivity": {
"coeffs": [
[
1.02427e-01
],
[
-1.50268e-04
],
[
-6.16856e-08
],
[
2.01708e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
8.57503e+02
],
[
-7.53028e-01
],
[
1.62652e-05
],
[
-1.77561e-07
]
],
"type": "polynomial"
},
"description": "DowthermQ",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "DowQ",
"reference": "Dow Chemicals data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.09546e+03
],
[
3.02966e+00
],
[
-5.39847e-04
],
[
-8.59705e-08
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.87220e+00
],
[
-7.90718e-03
],
[
4.33865e-05
],
[
-1.50606e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.20650e+02,
"Tmax": 6.03150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 6.03150e+02,
"conductivity": {
"coeffs": [
[
1.12964e-01
],
[
-1.66747e-04
],
[
-2.56024e-07
],
[
1.77943e-09
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
8.73686e+02
],
[
-7.65340e-01
],
[
-1.03470e-05
],
[
1.08805e-07
]
],
"type": "polynomial"
},
"description": "Dowtherm Q, Diphenylethane/alkylated aromatics",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "DowQ2",
"reference": "Dow Chemicals, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.05210e+03
],
[
3.05246e+00
],
[
-5.70581e-04
],
[
-2.39204e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-2.92247e+00
],
[
-8.56067e-03
],
[
4.48552e-05
],
[
-1.85248e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,115 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.86500e+02,
"Tmax": 5.00000e+02,
"Tmin": 2.73000e+02,
"TminPsat": 2.73000e+02,
"conductivity": {
"coeffs": "null",
"type": "notdefined"
},
"density": {
"coeffs": [
[
8.23000e+02,
4.86501e+02,
1.25770e-03,
-1.22838e-02,
-8.31261e-03,
3.23636e-02
],
[
2.00000e+00,
1.00000e+00,
4.19928e-05,
-6.28733e-05,
-1.22770e-04,
0.00000e+00
],
[
1.02233e-08,
4.05814e-08,
-1.06230e-07,
-2.78235e-07,
0.00000e+00,
0.00000e+00
],
[
4.11437e-10,
6.05259e-11,
-3.13824e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "some fluid",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ExampleDigital",
"reference": "none",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
8.36650e+02,
4.36500e+02,
2.45855e-04,
7.75294e-03,
2.27666e-03,
-2.27117e-02
],
[
2.10000e+00,
9.99993e-01,
-3.68693e-05,
-5.69655e-06,
1.22510e-04,
0.00000e+00
],
[
1.64250e-08,
1.86468e-08,
-1.66197e-07,
-2.16904e-07,
0.00000e+00,
0.00000e+00
],
[
2.67434e-10,
7.86405e-10,
-8.08087e-11,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": "null",
"type": "notdefined"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 5.00000e-01,
"xid": 0,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-2.62900e+01,
-1.18700e+02,
-1.21800e+02,
-6.82300e+01,
1.29700e+01,
2.36300e+02
],
[
-2.57500e-06,
-1.60900e-03,
3.86500e-03,
2.13700e-02,
-5.40700e-02,
0.00000e+00
],
[
-6.73200e-06,
3.42000e-05,
8.76800e-05,
-4.27100e-04,
0.00000e+00,
0.00000e+00
],
[
1.63000e-07,
5.68700e-08,
-2.09500e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.76686e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.23150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.17500e-01,
-4.42100e-01,
2.04400e-01,
2.94300e-01,
-8.66600e-02,
-2.03300e+00
],
[
7.27100e-04,
-2.95200e-03,
3.41300e-03,
-9.64600e-04,
-4.57300e-05,
0.00000e+00
],
[
2.82300e-07,
7.33600e-06,
-3.66500e-05,
3.17400e-05,
0.00000e+00,
0.00000e+00
],
[
9.71800e-09,
4.32800e-08,
-2.79100e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.58100e+02,
-1.39100e+02,
-1.10500e+02,
-1.20800e+02,
4.92700e+02,
-7.72700e+02
],
[
-4.15100e-01,
-1.51000e+00,
1.82800e+00,
2.99200e+00,
-1.32500e+01,
0.00000e+00
],
[
-2.26100e-03,
1.11300e-02,
-1.64100e-02,
1.45500e-03,
0.00000e+00,
0.00000e+00
],
[
2.99800e-07,
-3.26400e-05,
1.51000e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Methanol solution",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ExampleMelinder",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.88700e+03,
-1.85000e+03,
-3.76900e+02,
-3.77600e+03,
-1.50400e+04,
6.43300e+04
],
[
7.20100e+00,
2.98400e+01,
-1.19600e+02,
-5.61100e+01,
7.37300e+02,
0.00000e+00
],
[
-8.97900e-02,
-1.86500e-01,
9.80100e-01,
-7.81100e-01,
0.00000e+00,
0.00000e+00
],
[
-4.39000e-04,
-1.71800e-03,
6.66000e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.15300e+00,
5.44800e-01,
-5.55200e+00,
3.03800e+00,
6.66900e+00,
-8.47200e+00
],
[
-3.86600e-02,
1.00800e-02,
8.38400e-02,
-7.43500e-02,
-9.10500e-02,
0.00000e+00
],
[
2.77900e-04,
-2.80900e-04,
-3.99700e-04,
7.44200e-04,
0.00000e+00,
0.00000e+00
],
[
-1.54300e-06,
9.81100e-07,
-3.46600e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.05128e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.73150e+02,
"Tmax": 4.23150e+02,
"Tmin": 3.23150e+02,
"TminPsat": 4.23150e+02,
"conductivity": {
"coeffs": [
[
9.64802e-02
],
[
-1.80089e-04
],
[
-1.16550e-07
],
[
-9.71251e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.02445e+02
],
[
-7.70319e-01
],
[
-5.36131e-04
],
[
-5.43901e-06
]
],
"type": "polynomial"
},
"description": "Heat transfer fluid TherminolD12 by Solutia",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ExamplePure",
"reference": "Solutia data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.44653e+03
],
[
4.09602e+00
],
[
-2.07459e-03
],
[
1.94250e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.95256e-01
],
[
-9.66391e-03
],
[
2.71311e-05
],
[
-2.19029e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,187 +0,0 @@
{
"T_freeze": {
"coeffs": [
2.77556e-01,
2.50177e+02,
-1.10405e+02,
-1.20762e+02,
-9.34346e+01
],
"type": "polyoffset"
},
"Tbase": 2.68670e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.23150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
4.08207e-01,
-3.98169e-01,
1.58337e-01,
-3.55205e-01,
-9.88418e-02,
4.46000e+00
],
[
6.62932e-04,
-2.68648e-03,
9.03915e-03,
-2.12826e-02,
-5.56200e-02,
0.00000e+00
],
[
3.68597e-07,
7.18842e-06,
-1.04177e-04,
2.27800e-04,
0.00000e+00,
0.00000e+00
],
[
4.70340e-08,
7.61236e-09,
-2.73400e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.60247e+02,
-1.29038e+02,
-1.61043e+02,
-1.96989e+02,
1.13156e+03,
9.18200e+02
],
[
-4.02035e-01,
-1.62464e+00,
1.62330e+00,
4.36734e+00,
1.19900e+00,
0.00000e+00
],
[
-2.52048e-03,
1.10151e-02,
-2.32022e-03,
7.79500e-02,
0.00000e+00,
0.00000e+00
],
[
9.93748e-06,
-1.34689e-04,
4.14200e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Methanol solution",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ExampleSecCool",
"reference": "SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.82297e+03,
-2.31224e+03,
6.78776e+02,
2.24139e+03,
-3.04533e+04,
-4.75800e+04
],
[
2.35014e+00,
1.78884e+01,
6.82800e+00,
2.10117e+02,
-9.81200e+02,
0.00000e+00
],
[
-4.72418e-04,
-3.31795e-02,
1.00203e+00,
-5.30600e+00,
0.00000e+00,
0.00000e+00
],
[
4.24219e-05,
2.34719e-03,
-1.89400e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.47255e+00,
2.22190e-01,
-4.40614e+00,
6.04798e+00,
-1.95473e+01,
-2.37200e+01
],
[
-4.11842e-02,
1.78448e-02,
-3.56441e-02,
4.06467e-02,
1.91500e+00,
0.00000e+00
],
[
2.57286e-04,
-9.22634e-05,
-2.17858e-04,
-9.53000e-04,
0.00000e+00,
0.00000e+00
],
[
-1.69984e-06,
-1.02355e-05,
4.48200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.15700e-01,
"xid": 0,
"xmax": 5.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,115 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.45650e+02,
"Tmax": 2.63150e+02,
"Tmin": 2.28150e+02,
"TminPsat": 2.63150e+02,
"conductivity": {
"coeffs": "null",
"type": "notdefined"
},
"density": {
"coeffs": [
[
1.02608e+03,
-1.59017e+02,
2.36323e+01,
-5.55556e+01,
3.78788e+01,
1.50000e+03
],
[
-8.56582e-01,
1.58439e+00,
-4.88516e-01,
5.82011e-01,
-1.29870e+00,
0.00000e+00
],
[
-2.05964e-02,
2.96221e-02,
-3.28798e-03,
2.64550e-02,
0.00000e+00,
0.00000e+00
],
[
-2.97643e-04,
3.47763e-04,
1.82780e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Ethanol ice slurry",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ExampleSolution",
"reference": "SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.02608e+03,
-1.59017e+02,
2.36323e+01,
-5.55556e+01,
3.78788e+01,
1.50000e+03
],
[
-8.56582e-01,
1.58439e+00,
-4.88516e-01,
5.82011e-01,
-1.29870e+00,
0.00000e+00
],
[
-2.05964e-02,
2.96221e-02,
-3.28798e-03,
2.64550e-02,
0.00000e+00,
0.00000e+00
],
[
-2.97643e-04,
3.47763e-04,
1.82780e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": "null",
"type": "notdefined"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.00000e-01,
"xid": 0,
"xmax": 3.50000e-01,
"xmin": 5.00000e-02
}

View File

@@ -1,148 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.98106e+02
],
[
-3.00133e+02
],
[
8.29125e+02
],
[
-1.12384e+03
]
],
"type": "polynomial"
},
"Tbase": 2.73150e+02,
"Tmax": 3.13000e+02,
"Tmin": 2.33000e+02,
"TminPsat": 3.13000e+02,
"conductivity": {
"coeffs": [
[
5.50000e-01,
-1.50000e-01
],
[
1.80000e-03,
-1.60000e-03
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.01500e+03,
4.62000e+02,
4.06000e+02
],
[
-4.00000e-01,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Freezium, Potassium Formate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "FRE",
"reference": "Kemira Chemicals OY, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
4.15007e+03,
-3.73615e+03,
1.68816e+03,
-5.26984e+02,
1.46310e+02,
-3.66773e+01
],
[
1.32829e-04,
6.29744e+00,
1.56653e-02,
-3.77733e-02,
3.04456e-02,
0.00000e+00
],
[
1.08670e-05,
-1.09058e-04,
3.48881e-04,
-3.60016e-04,
0.00000e+00,
0.00000e+00
],
[
-6.37982e-08,
3.55343e-07,
-3.13279e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
7.51689e-01,
-1.15630e+00,
5.49895e+00,
-1.50202e-01,
1.17346e-03,
1.79702e-02
],
[
-2.94067e-02,
1.79238e-04,
7.88887e-05,
-1.18318e-04,
4.34013e-05,
0.00000e+00
],
[
2.57819e-04,
6.73569e-09,
1.82979e-07,
-1.77535e-07,
0.00000e+00,
0.00000e+00
],
[
-2.05848e-06,
-3.34246e-10,
5.46707e-10,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 0,
"xmax": 5.00000e-01,
"xmin": 1.90000e-01
}

View File

@@ -1,203 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.52425e+02
],
[
-1.00000e+02
],
[
-1.12821e+02
],
[
-4.64500e-12
]
],
"type": "polynomial"
},
"Tbase": 2.96650e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.20150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.60277e-01,
-3.81899e-01,
3.09173e-01,
-7.33864e-03,
2.48754e-02,
5.95325e-02
],
[
1.11313e-04,
-2.53096e-03,
1.24601e-05,
-4.77692e-05,
9.81440e-05,
0.00000e+00
],
[
4.05963e-07,
4.03756e-08,
-4.26908e-07,
2.08869e-06,
0.00000e+00,
0.00000e+00
],
[
3.15934e-10,
-2.03580e-09,
2.52243e-10,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.05004e+00,
1.56028e-01,
-2.66321e-02,
4.00164e-03,
1.79194e-02,
-4.30066e-02
],
[
-5.15933e-04,
-4.67777e-04,
-1.47142e-06,
-8.72892e-05,
1.46494e-04,
0.00000e+00
],
[
-1.25050e-06,
2.02559e-08,
-4.44693e-07,
9.18461e-07,
0.00000e+00,
0.00000e+00
],
[
-1.10111e-10,
-3.79497e-10,
4.11111e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Glykosol N, Ethylene Glycol",
"mass2input": {
"coeffs": [
[
3.23764e-01,
9.63226e-01,
9.54613e-02,
8.72995e-02,
2.98500e-01,
-1.58414e+00
]
],
"type": "polynomial"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "GKN",
"reference": "pro KUEHLSOLE GmbH, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.63138e+00,
-1.88371e+00,
2.89502e-02,
-5.88121e-02,
1.45875e-01,
7.88241e-01
],
[
2.19713e-03,
6.00296e-03,
4.10221e-04,
-2.54501e-05,
-4.01495e-03,
0.00000e+00
],
[
1.08538e-06,
-2.43341e-07,
-1.10224e-06,
7.27286e-06,
0.00000e+00,
0.00000e+00
],
[
-4.60535e-11,
6.20175e-10,
-2.37499e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
8.92715e-01,
2.77904e+00,
-7.37108e-01,
9.68505e-01,
-1.94212e-01,
3.78094e+00
],
[
-2.76413e-02,
-7.14820e-03,
-3.01987e-02,
1.25318e-03,
7.89611e-03,
0.00000e+00
],
[
2.58627e-04,
2.53655e-04,
8.79675e-06,
-1.17152e-05,
0.00000e+00,
0.00000e+00
],
[
-2.12787e-06,
4.91620e-08,
-2.30143e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.77150e+02,
"Tmax": 4.91150e+02,
"Tmin": 2.63150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
6.08000e-01
],
[
1.00000e-03
],
[
-1.15938e-19
],
[
8.15799e-20
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.15199e+03
],
[
-4.53612e-01
],
[
2.84297e-05
],
[
1.12843e-07
]
],
"type": "polynomial"
},
"description": "Dynalene HC10",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HC10",
"reference": "Dynalene data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.52872e+03
],
[
2.48064e+00
],
[
2.49312e-06
],
[
-1.04759e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.36367e+00
],
[
-9.45806e-03
],
[
2.79079e-05
],
[
-7.43936e-08
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.68150e+02,
"Tmax": 4.83150e+02,
"Tmin": 2.53150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.98000e-01
],
[
1.00000e-03
],
[
0.00000e+00
],
[
2.49882e-20
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.19828e+03
],
[
-5.18276e-01
],
[
1.01855e-05
],
[
-2.85276e-08
]
],
"type": "polynomial"
},
"description": "Dynalene HC20",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HC20",
"reference": "Dynalene data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.38862e+03
],
[
2.35998e+00
],
[
-7.60109e-06
],
[
1.87681e-09
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.11990e+00
],
[
-1.03133e-02
],
[
2.99793e-05
],
[
-7.45714e-08
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.63150e+02,
"Tmax": 4.83150e+02,
"Tmin": 2.43150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.89000e-01
],
[
1.00000e-03
],
[
1.11067e-19
],
[
1.15402e-19
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.23944e+03
],
[
-5.10221e-01
],
[
-2.99145e-05
],
[
1.14298e-07
]
],
"type": "polynomial"
},
"description": "Dynalene HC30",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HC30",
"reference": "Dynalene data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.23846e+03
],
[
2.30730e+00
],
[
-4.08770e-06
],
[
3.22061e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.92111e+00
],
[
-1.09172e-02
],
[
3.30391e-05
],
[
-9.22402e-08
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.53150e+02,
"Tmax": 4.73150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.69000e-01
],
[
1.00000e-03
],
[
-2.42754e-19
],
[
-1.70889e-19
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.28145e+03
],
[
-5.60456e-01
],
[
-1.53159e-05
],
[
1.22289e-07
]
],
"type": "polynomial"
},
"description": "Dynalene HC40",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HC40",
"reference": "Dynalene data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.07123e+03
],
[
2.28905e+00
],
[
9.90950e-05
],
[
-2.20995e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.74808e+00
],
[
-9.88935e-03
],
[
4.98887e-05
],
[
-2.91405e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.53150e+02,
"Tmax": 4.83150e+02,
"Tmin": 2.23150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.65023e-01
],
[
1.00076e-03
],
[
-6.84182e-09
],
[
-1.06428e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.30629e+03
],
[
-5.55318e-01
],
[
-5.76818e-06
],
[
6.22196e-08
]
],
"type": "polynomial"
},
"description": "Dynalene HC50",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HC50",
"reference": "Dynalene data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.81894e+03
],
[
1.97098e+00
],
[
4.50507e-06
],
[
-1.21164e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.58418e+00
],
[
-9.17161e-03
],
[
6.16575e-05
],
[
-3.96030e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
2.03186e-04
],
[
-2.38690e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.07178e+03
],
[
-7.72024e-01
]
],
"type": "polynomial"
},
"description": "Hydrocarbon blend - Dynalene MV",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HCB",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
7.61393e+02
],
[
3.52976e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
7.16819e+00
],
[
-8.63212e-02
],
[
1.30604e-04
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
1.53716e-04
],
[
-1.51212e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.71725e+02
],
[
-7.18788e-01
]
],
"type": "polynomial"
},
"description": "Hydrocarbon mixture (synthetic) - Therminol D12 (Gilotherm D12) Solutia",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HCM",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
8.44023e+02
],
[
4.31212e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.83237e+01
],
[
-1.47060e-01
],
[
2.09096e-04
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
9.92958e-05
],
[
-8.33333e-08
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.82237e+03
],
[
-9.18485e-01
]
],
"type": "polynomial"
},
"description": "Hydrofluoroether - HFE-7100 3M Novec",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HFE",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
8.71834e+02
],
[
8.58788e+05
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-4.22878e+00
],
[
-1.14765e-02
],
[
7.39823e-06
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.65120e+02,
"Tmax": 3.37420e+02,
"Tmin": 1.92820e+02,
"TminPsat": 3.37420e+02,
"conductivity": {
"coeffs": [
[
7.52837e-02
],
[
-1.95480e-04
],
[
-2.46523e-14
],
[
6.92101e-16
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.55652e+03
],
[
-2.26900e+00
],
[
7.67087e-16
],
[
2.36356e-17
]
],
"type": "polynomial"
},
"description": "HFE-7100, Hydrofluoroether",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "HFE2",
"reference": "3M Novec, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.11694e+03
],
[
2.00000e+00
],
[
-6.23186e-16
],
[
-4.44414e-16
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-5.75185e-01
],
[
-1.47112e-02
],
[
1.03197e-04
],
[
-7.16839e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,115 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.86500e+02,
"Tmax": 5.00000e+02,
"Tmin": 2.73000e+02,
"TminPsat": 2.73000e+02,
"conductivity": {
"coeffs": "null",
"type": "notdefined"
},
"density": {
"coeffs": [
[
1.30043e+03,
1.27751e+03,
1.18842e+03,
1.07990e+03,
1.34800e+03,
1.19202e+03
],
[
-8.17505e-01,
4.80861e-02,
1.13474e+00,
5.49205e+00,
9.08744e+00,
0.00000e+00
],
[
-2.09354e-03,
3.34592e-03,
1.63423e-02,
3.01025e-02,
0.00000e+00,
0.00000e+00
],
[
7.36860e-06,
2.86446e-05,
5.36525e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Lithium-Bromide solution from Patek2006",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "LiBr",
"reference": "Patek2006",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.64134e+03,
-3.42700e+03,
3.32419e+03,
-1.53991e+03,
-1.17986e+04,
2.48575e+03
],
[
5.85767e-01,
-1.30817e+00,
2.46563e+00,
1.23291e+00,
1.10337e+01,
0.00000e+00
],
[
-8.16942e-05,
-3.52563e-02,
1.71158e-02,
-8.64993e-03,
0.00000e+00,
0.00000e+00
],
[
1.46864e-04,
1.54841e-04,
-4.12861e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": "null",
"type": "notdefined"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.75000e-01,
"xid": 0,
"xmax": 7.50000e-01,
"xmin": 0.00000e+00
}

File diff suppressed because one or more lines are too long

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-2.57600e+01,
-2.38500e+02,
-7.63600e+02,
-2.61000e+03,
-7.30000e+03,
-1.07500e+04
],
[
-1.81700e-04,
2.31500e-03,
-2.29000e-02,
-3.76000e-01,
3.52400e+00,
0.00000e+00
],
[
1.20400e-05,
1.41500e-05,
-2.62000e-03,
1.36000e-02,
0.00000e+00,
0.00000e+00
],
[
5.56700e-07,
-4.24400e-06,
1.78600e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.68501e+02,
"Tmax": 3.03150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.55100e-01,
-5.21600e-01,
8.90900e-01,
6.80700e+00,
-1.89800e+01,
-1.36100e+02
],
[
1.67300e-03,
3.54400e-04,
3.52600e-02,
-3.39400e-01,
6.30400e-01,
0.00000e+00
],
[
-2.21400e-06,
1.05700e-04,
-1.78200e-03,
8.31500e-03,
0.00000e+00,
0.00000e+00
],
[
1.22800e-07,
-3.47400e-06,
1.85800e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.44500e+02,
-2.91400e+02,
2.26200e+02,
-6.68500e+02,
1.63500e+02,
6.29800e+03
],
[
-2.74300e-01,
-2.30700e+00,
6.64500e-01,
-1.00200e+00,
4.46500e+01,
0.00000e+00
],
[
-3.11300e-03,
1.34100e-02,
-8.70000e-02,
3.30900e-01,
0.00000e+00,
0.00000e+00
],
[
3.34900e-06,
-5.15100e-05,
8.99900e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Ammonia (NH3)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MAM",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
4.23300e+03,
1.14500e+02,
-1.96500e+01,
2.13100e+03,
2.13600e+04,
-8.55100e+04
],
[
-1.61800e+00,
2.71500e+00,
3.47200e+01,
4.11700e+01,
-1.35400e+03,
0.00000e+00
],
[
1.61000e-02,
1.07200e-01,
-9.05100e-01,
4.44600e-01,
0.00000e+00,
0.00000e+00
],
[
1.66200e-05,
-5.26600e-03,
2.10600e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
9.25500e-01,
1.32700e+00,
-5.97900e+00,
-1.09700e+02,
3.06500e+02,
3.24400e+03
],
[
-3.43900e-02,
1.85600e-02,
-2.18400e-01,
1.67000e+00,
-6.16600e+00,
0.00000e+00
],
[
3.21700e-04,
-1.64600e-03,
1.29700e-02,
-3.37700e-02,
0.00000e+00,
0.00000e+00
],
[
-4.54400e-06,
3.00400e-05,
-1.14100e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.60784e-01,
"xid": 0,
"xmax": 3.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.48274e+02
],
[
-2.32539e+02
],
[
-7.95433e+02
],
[
-2.90306e+03
]
],
"type": "polynomial"
},
"Tbase": 2.58650e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.24150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Ammonia",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MAM2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.57000e-01,
"xid": 0,
"xmax": 2.36000e-01,
"xmin": 7.80000e-02
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.62100e+01,
-1.55500e+02,
-5.49600e+02,
-2.62400e+03,
-1.72600e+04,
-4.49400e+04
],
[
-1.34400e-04,
2.14600e-03,
9.41500e-03,
-1.08200e-01,
-4.39600e-01,
0.00000e+00
],
[
5.07300e-06,
-1.50000e-04,
6.18500e-04,
3.03600e-03,
0.00000e+00,
0.00000e+00
],
[
-4.82000e-08,
2.21900e-06,
-1.72300e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.80676e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.58000e-01,
-1.15000e-01,
-1.78400e-01,
-4.41500e-01,
4.69900e+00,
2.92900e+01
],
[
1.46000e-03,
-1.00800e-03,
3.49600e-03,
-3.46200e-03,
6.17900e-02,
0.00000e+00
],
[
3.86100e-07,
-6.54000e-06,
-4.84000e-05,
3.92200e-04,
0.00000e+00,
0.00000e+00
],
[
1.30700e-08,
4.72800e-08,
-2.01100e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.17100e+03,
9.84700e+02,
3.38900e+02,
1.06200e+03,
2.78500e+03,
-1.81100e+04
],
[
-1.46300e-01,
-2.48800e+00,
-2.30200e+01,
6.29100e+01,
6.42300e+02,
0.00000e+00
],
[
-1.30200e-03,
-5.53000e-02,
3.52600e-01,
1.80600e+00,
0.00000e+00,
0.00000e+00
],
[
-1.87100e-04,
1.66500e-03,
2.78800e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Calcium Chloride (CaCl2)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MCA",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.13300e+03,
-4.48000e+03,
9.51100e+03,
1.47200e+04,
-1.34600e+05,
-6.67400e+05
],
[
2.81000e+00,
3.27100e+00,
-5.19100e+01,
1.61500e+02,
-9.75400e+02,
0.00000e+00
],
[
-1.56300e-02,
-1.20500e-01,
2.28200e+00,
5.07300e+00,
0.00000e+00,
0.00000e+00
],
[
-1.23300e-05,
9.34600e-04,
-9.29000e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
8.93900e-01,
4.38900e+00,
9.12100e+00,
1.96300e+00,
2.99700e+01,
3.43500e+02
],
[
-2.64700e-02,
2.10200e-02,
3.99300e-02,
-4.89200e-01,
-3.63100e+00,
0.00000e+00
],
[
1.71800e-04,
-8.68800e-05,
3.78500e-03,
1.52600e-05,
0.00000e+00,
0.00000e+00
],
[
-7.91800e-07,
-4.35300e-06,
-9.97900e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.87414e-01,
"xid": 0,
"xmax": 3.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.56498e+02
],
[
-1.59975e+02
],
[
-7.92932e+02
],
[
-3.43650e+03
]
],
"type": "polynomial"
},
"Tbase": 2.66150e+02,
"Tmax": 3.03150e+02,
"Tmin": 2.29150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
5.35326e-01,
-9.90189e-02,
3.06059e-01,
-4.61825e+00,
-3.79404e+01,
4.10400e+02
],
[
1.46576e-03,
-2.42522e-04,
-6.77110e-03,
-6.55480e-02,
7.26900e-01,
0.00000e+00
],
[
1.96813e-06,
-2.50292e-05,
-8.61012e-05,
1.22300e-03,
0.00000e+00,
0.00000e+00
],
[
-4.23620e-08,
2.59782e-07,
2.43300e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.17979e+03,
1.03510e+03,
4.17854e+02,
-8.15239e+03,
6.80927e+03,
6.01500e+05
],
[
-2.41158e-01,
-1.47749e+00,
-1.75855e+01,
1.31583e+02,
-2.93700e+02,
0.00000e+00
],
[
-5.45784e-03,
1.37175e-02,
6.04222e-01,
-3.86800e+00,
0.00000e+00,
0.00000e+00
],
[
4.69624e-05,
-1.34329e-04,
-1.06200e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Calcium Chloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MCA2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.07066e+03,
-4.45474e+03,
8.41657e+03,
1.79087e+04,
6.72667e+04,
-1.42300e+06
],
[
3.15933e+00,
4.62350e+00,
-9.36063e+01,
-2.70112e+02,
-3.35500e+02,
0.00000e+00
],
[
-1.52897e-02,
-3.40338e-02,
1.71841e+00,
8.49500e+00,
0.00000e+00,
0.00000e+00
],
[
1.37348e-05,
-1.85962e-04,
8.14500e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.93704e+00,
4.36619e+00,
8.33039e+00,
1.58454e+01,
1.82161e+02,
-1.24000e+02
],
[
-3.15333e-02,
1.18104e-02,
7.61652e-02,
-2.13551e+00,
-1.29700e+01,
0.00000e+00
],
[
2.02602e-04,
8.56680e-04,
-2.19618e-03,
3.17700e-02,
0.00000e+00,
0.00000e+00
],
[
-1.01408e-06,
-1.80611e-05,
9.95300e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.92000e-01,
"xid": 0,
"xmax": 2.94000e-01,
"xmin": 9.00000e-02
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.94100e+01,
-9.54000e+01,
-2.64800e+01,
3.85100e+02,
-2.85800e+01,
-1.67000e+03
],
[
-3.66800e-04,
-1.20900e-03,
-3.17300e-03,
1.34000e-02,
9.31200e-02,
0.00000e+00
],
[
-4.00500e-05,
2.87700e-04,
8.65200e-05,
-2.09100e-03,
0.00000e+00,
0.00000e+00
],
[
1.52400e-06,
-4.39400e-06,
-3.71700e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.81308e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.06700e-01,
-5.00800e-01,
2.80100e-01,
-2.00900e-02,
-1.50600e-01,
-1.65300e-01
],
[
6.77500e-04,
-2.37700e-03,
2.66900e-03,
-6.81300e-03,
1.16700e-02,
0.00000e+00
],
[
3.10500e-07,
-3.21600e-06,
-3.60600e-05,
1.42900e-04,
0.00000e+00,
0.00000e+00
],
[
-2.00000e-08,
8.36200e-09,
1.55200e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.61900e+02,
-1.43300e+02,
-2.26000e+02,
-1.69000e+02,
1.29100e+03,
-8.31800e+02
],
[
-5.22200e-01,
-1.98900e+00,
2.28100e+00,
8.59400e+00,
-1.59000e+01,
0.00000e+00
],
[
-3.28100e-03,
1.87000e-02,
-8.58100e-04,
-9.60700e-02,
0.00000e+00,
0.00000e+00
],
[
1.56900e-05,
-9.15400e-05,
4.05600e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Ethyl Alcohol (Ethanol)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MEA",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
4.20400e+03,
-2.10200e+03,
-3.71400e+03,
1.74300e+04,
-6.29200e+03,
-8.29000e+04
],
[
2.31900e+00,
4.92700e+01,
-2.33500e+01,
-2.96900e+02,
5.35300e+02,
0.00000e+00
],
[
-3.04200e-02,
-3.07200e-01,
-1.96000e-01,
1.90100e+00,
0.00000e+00,
0.00000e+00
],
[
6.86000e-04,
-5.69000e-03,
7.46100e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.47400e+00,
1.56500e+00,
-8.43500e+00,
7.55200e+00,
1.52900e+01,
-4.13000e+01
],
[
-4.74500e-02,
-4.10600e-03,
1.64000e-01,
-1.11800e-01,
-9.48100e-02,
0.00000e+00
],
[
4.31400e-04,
-5.13500e-04,
-1.09100e-03,
1.89900e-03,
0.00000e+00,
0.00000e+00
],
[
-3.02300e-06,
7.00400e-06,
-1.96700e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.92361e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.48008e+02
],
[
-9.20317e+01
],
[
7.57949e+00
],
[
1.68742e+02
]
],
"type": "polynomial"
},
"Tbase": 2.61150e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.29150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
3.65996e-01,
-4.35123e-01,
1.94518e-01,
7.66944e-01,
4.68424e-01,
-1.01200e+01
],
[
5.18284e-04,
-2.29438e-03,
4.14778e-03,
1.77705e-03,
-3.48600e-02,
0.00000e+00
],
[
-4.27916e-09,
-1.96645e-06,
1.31080e-05,
-1.43900e-05,
0.00000e+00,
0.00000e+00
],
[
-1.22538e-08,
3.47376e-08,
-7.32499e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.63916e+02,
-1.38527e+02,
-3.14723e+02,
4.27596e+02,
1.62071e+03,
-6.41200e+03
],
[
-5.18823e-01,
-2.65921e+00,
4.93240e+00,
1.47917e+01,
-4.14100e+01,
0.00000e+00
],
[
-3.98560e-03,
3.26150e-02,
1.65020e-02,
-3.46000e-01,
0.00000e+00,
0.00000e+00
],
[
1.91533e-05,
-4.45563e-05,
-2.87500e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Ethanol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MEA2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.99643e+03,
-2.84625e+03,
-1.53143e+03,
9.30737e+03,
-1.43187e+04,
2.23500e+03
],
[
3.21812e+00,
2.06561e+01,
-4.36868e+01,
9.48128e-01,
2.54500e+02,
0.00000e+00
],
[
2.61767e-04,
-1.77278e-02,
2.81940e-01,
-9.14900e-01,
0.00000e+00,
0.00000e+00
],
[
3.31245e-06,
2.77743e-04,
3.36600e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
7.24478e+00,
3.63193e-01,
-7.44596e+00,
-1.35005e+00,
-1.48844e+01,
7.65400e+01
],
[
-6.53340e-02,
4.10010e-02,
-2.98502e-02,
3.81461e-01,
8.58200e-01,
0.00000e+00
],
[
5.43659e-04,
-1.56848e-03,
6.57019e-03,
-1.23400e-02,
0.00000e+00,
0.00000e+00
],
[
-2.03612e-06,
2.38837e-05,
-1.32900e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.55000e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 1.10000e-01
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.52500e+01,
-8.08000e+01,
-1.33400e+02,
-7.29300e+01,
1.00600e+02,
1.14000e+01
],
[
-1.56600e-06,
-1.33900e-04,
6.32200e-04,
1.76400e-03,
-7.66200e-03,
0.00000e+00
],
[
-2.27800e-07,
2.04700e-06,
2.37300e-06,
-2.44200e-05,
0.00000e+00,
0.00000e+00
],
[
2.16900e-09,
-2.71700e-09,
-2.18300e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 3.04878e+02,
"Tmax": 3.73150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.72000e-01,
-4.28600e-01,
1.74700e-01,
3.01700e-02,
-1.32200e-01,
2.67800e-01
],
[
8.90300e-04,
-1.47300e-03,
6.81400e-04,
-2.41200e-03,
2.55500e-03,
0.00000e+00
],
[
-1.05800e-06,
1.05900e-05,
-3.61200e-05,
4.00400e-05,
0.00000e+00,
0.00000e+00
],
[
-2.78900e-09,
-1.14200e-08,
2.36500e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.03400e+03,
1.31100e+02,
7.49000e-01,
-1.06200e+02,
-9.62300e+01,
4.89100e+02
],
[
-4.78100e-01,
-6.87600e-01,
7.85500e-01,
1.22900e+00,
-7.21100e+00,
0.00000e+00
],
[
-2.69200e-03,
4.80500e-03,
-3.99500e-03,
-1.15300e-02,
0.00000e+00,
0.00000e+00
],
[
4.72500e-06,
1.69000e-06,
4.98200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Ethylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MEG",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.73700e+00,
-1.79900e+00,
-9.93300e-01,
2.61000e+00,
1.53700e+00,
-1.61800e+01
],
[
2.93000e-03,
1.04600e-02,
3.51600e-03,
-1.18900e-03,
-4.27200e-02,
0.00000e+00
],
[
-4.67500e-06,
-4.14700e-05,
5.10900e-05,
-1.64300e-04,
0.00000e+00,
0.00000e+00
],
[
-1.38900e-08,
1.84700e-08,
-7.13800e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
4.70500e-01,
2.47100e+00,
3.32800e-02,
1.65900e+00,
3.08900e+00,
-1.86500e+01
],
[
-2.55000e-02,
-1.17100e-02,
1.08600e-02,
3.15700e-03,
1.83100e-02,
0.00000e+00
],
[
1.78200e-04,
1.05200e-04,
1.05100e-04,
4.06300e-04,
0.00000e+00,
0.00000e+00
],
[
-7.66900e-07,
-1.63400e-06,
-6.47500e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.08462e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.60004e+02
],
[
-7.35447e+01
],
[
-1.19337e+02
],
[
-8.15890e+01
]
],
"type": "polynomial"
},
"Tbase": 2.71150e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.29150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.51971e-01,
-3.79474e-01,
5.34939e-02,
4.36510e-01,
3.78463e-01,
-1.82000e+00
],
[
1.00880e-03,
-2.35315e-03,
2.68204e-03,
1.12449e-03,
-1.11200e-02,
0.00000e+00
],
[
1.91712e-07,
-4.49816e-07,
2.73155e-05,
-1.12600e-04,
0.00000e+00,
0.00000e+00
],
[
-4.20883e-08,
3.39327e-07,
-6.77200e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.04289e+03,
1.59475e+02,
8.95042e+00,
-4.03861e+01,
-2.45825e+02,
-1.12800e+03
],
[
-2.28102e-01,
-1.25288e+00,
5.36841e-01,
5.03355e+00,
-3.84800e+00,
0.00000e+00
],
[
-4.16385e-03,
8.26531e-03,
5.48827e-04,
-5.52300e-02,
0.00000e+00,
0.00000e+00
],
[
1.24878e-05,
8.41482e-06,
-9.80899e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Ethylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MEG2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.71696e+03,
-2.33031e+03,
-1.77942e+03,
5.43190e+03,
8.76344e+03,
-3.38000e+04
],
[
2.79151e+00,
1.30976e+01,
-2.19718e+01,
4.82863e+01,
5.19000e+01,
0.00000e+00
],
[
4.41251e-03,
-8.21343e-02,
4.80328e-01,
-7.77700e-01,
0.00000e+00,
0.00000e+00
],
[
-9.20519e-05,
1.17730e-03,
-3.25000e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.08908e+00,
2.96996e+00,
-5.99932e-01,
4.72582e+00,
1.29255e+01,
-3.65500e+01
],
[
-4.06354e-02,
-2.03127e-02,
4.03475e-02,
-4.30466e-02,
-4.29400e-01,
0.00000e+00
],
[
2.74955e-04,
2.76171e-04,
1.29792e-04,
-9.11700e-05,
0.00000e+00,
0.00000e+00
],
[
-3.98730e-07,
-2.87405e-06,
-1.08200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.80000e-01,
"xid": 0,
"xmax": 5.60000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.30000e+01,
-5.74200e+01,
-9.11900e+01,
-1.64100e+02,
-2.40800e+02,
-7.73400e+01
],
[
-8.63800e-04,
-7.99100e-04,
2.97300e-02,
-5.31300e-03,
-1.68200e-01,
0.00000e+00
],
[
6.89500e-06,
-7.51500e-05,
2.37900e-05,
4.54600e-04,
0.00000e+00,
0.00000e+00
],
[
5.22900e-07,
1.71000e-06,
-1.23700e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.82061e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.53200e-01,
-3.22300e-01,
5.53900e-02,
-2.07300e-01,
3.00000e-01,
2.22100e+00
],
[
9.78200e-04,
-1.95100e-03,
-6.87800e-04,
-2.23500e-04,
1.60400e-02,
0.00000e+00
],
[
-1.19600e-07,
1.17800e-05,
-2.58700e-05,
-1.42100e-05,
0.00000e+00,
0.00000e+00
],
[
-8.77800e-09,
1.04800e-08,
2.26200e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.09300e+03,
2.74000e+02,
4.08100e+01,
-4.74400e+01,
-1.41500e+02,
-6.09700e+01
],
[
-3.62400e-01,
-8.37300e-01,
1.80800e-01,
1.83300e+00,
1.86300e+00,
0.00000e+00
],
[
-2.45100e-03,
9.59600e-03,
-8.51600e-03,
-3.07700e-02,
0.00000e+00,
0.00000e+00
],
[
1.54700e-05,
-6.99900e-05,
1.44100e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Glycerol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MGL",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.48600e+03,
-2.25000e+03,
-3.25800e+02,
2.92200e+03,
2.23800e+03,
-5.94400e+03
],
[
3.76600e+00,
1.81100e+01,
7.24900e+00,
-5.34600e+01,
-5.38300e+01,
0.00000e+00
],
[
-1.22200e-04,
3.76600e-02,
-2.13300e-01,
2.30000e-01,
0.00000e+00,
0.00000e+00
],
[
3.21900e-05,
-1.73000e-03,
4.90700e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.52000e+00,
4.45000e+00,
3.63300e+00,
1.06900e+00,
5.72900e+00,
2.11600e+01
],
[
-3.72900e-02,
-2.68800e-02,
-4.08800e-02,
-1.24800e-01,
-1.78000e-01,
0.00000e+00
],
[
3.57200e-04,
8.87600e-05,
6.21900e-04,
3.01900e-03,
0.00000e+00,
0.00000e+00
],
[
-3.64800e-06,
-2.20900e-06,
6.33100e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.61905e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.57099e+02
],
[
-6.90519e+01
],
[
-1.35664e+02
],
[
-2.59258e+02
]
],
"type": "polynomial"
},
"Tbase": 2.73150e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.29151e-01,
-3.08279e-01,
1.53124e-01,
1.99413e-03,
-1.98886e+00,
6.01900e-01
],
[
8.50149e-04,
-2.15238e-03,
1.94758e-03,
6.00225e-03,
-3.08100e-02,
0.00000e+00
],
[
4.89167e-07,
1.83680e-06,
2.12190e-05,
-4.28200e-05,
0.00000e+00,
0.00000e+00
],
[
-1.79013e-08,
1.54511e-07,
-1.72900e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.11088e+03,
2.96376e+02,
-4.47837e+01,
-8.41388e+02,
1.50162e+03,
1.22400e+04
],
[
-3.53172e-01,
-1.03584e+00,
-6.37512e-01,
7.09221e+00,
-1.11500e+00,
0.00000e+00
],
[
-2.94209e-03,
1.83369e-02,
4.84942e-05,
-2.54500e-01,
0.00000e+00,
0.00000e+00
],
[
2.16871e-05,
-6.66162e-05,
4.61300e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Glycerol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MGL2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.32254e+03,
-2.42988e+03,
1.50594e+03,
1.63862e+03,
-2.68599e+04,
2.62500e+04
],
[
4.99313e+00,
1.93666e+01,
-4.87305e+01,
-7.65822e+01,
7.83100e+02,
0.00000e+00
],
[
-3.69836e-03,
-1.97179e-02,
2.51526e-01,
-4.25200e-01,
0.00000e+00,
0.00000e+00
],
[
1.20207e-04,
5.10373e-04,
-5.80800e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.73868e+00,
5.61070e+00,
3.23687e+00,
-2.21612e+01,
5.17880e+01,
4.12300e+02
],
[
-4.59212e-02,
-5.31595e-02,
4.00800e-02,
2.58668e-02,
-2.79700e+00,
0.00000e+00
],
[
4.77831e-04,
5.31410e-04,
-1.53168e-03,
4.04800e-03,
0.00000e+00,
0.00000e+00
],
[
-4.68259e-06,
-5.75002e-06,
7.78800e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 4.12500e-01,
"xid": 0,
"xmax": 6.30000e-01,
"xmin": 1.95000e-01
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.70400e+01,
-1.22800e+02,
-3.86200e+02,
-4.57100e+02,
2.96900e+03,
8.69000e+03
],
[
-1.08200e-04,
2.30200e-05,
1.56500e-02,
-3.73400e-02,
-2.81700e-01,
0.00000e+00
],
[
6.89200e-06,
-8.71100e-05,
7.56500e-05,
1.26800e-03,
0.00000e+00,
0.00000e+00
],
[
-1.39700e-07,
2.01600e-06,
-3.06300e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.79926e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.95800e-01,
-2.93100e-01,
1.03200e-01,
-2.02400e-01,
-2.37100e-01,
5.51500e+00
],
[
1.34000e-03,
-1.47700e-03,
-2.39600e-03,
-5.54100e-03,
5.57300e-02,
0.00000e+00
],
[
6.83700e-08,
4.65900e-06,
-4.35200e-05,
8.98400e-05,
0.00000e+00,
0.00000e+00
],
[
2.63700e-09,
2.88600e-08,
-2.23000e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.13800e+03,
5.79600e+02,
1.30600e+02,
-1.42700e+03,
9.35300e+02,
2.28500e+04
],
[
-3.56500e-01,
-7.90000e-01,
6.84500e-01,
8.30400e-01,
2.32200e+00,
0.00000e+00
],
[
-2.02000e-03,
2.75300e-03,
-1.13000e-02,
1.30300e-02,
0.00000e+00,
0.00000e+00
],
[
4.20500e-06,
5.14000e-06,
2.43300e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Potassium Acetate (CH3CO2K)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MKA",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.32700e+03,
-2.89500e+03,
4.66300e+02,
-1.24900e+03,
1.65900e+04,
-4.61200e+03
],
[
1.80600e+00,
4.13100e+00,
7.77500e+00,
5.11500e+01,
-5.19300e+02,
0.00000e+00
],
[
-1.76600e-03,
4.42900e-02,
3.46300e-01,
-2.98700e+00,
0.00000e+00,
0.00000e+00
],
[
4.35700e-05,
1.12500e-03,
-7.26100e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.04200e+00,
3.40500e+00,
5.01700e+00,
5.63700e+00,
-2.92200e+01,
-7.96000e+01
],
[
-3.07100e-02,
-1.51100e-02,
-7.77900e-02,
2.53400e-02,
4.60100e-01,
0.00000e+00
],
[
2.81900e-04,
1.17200e-04,
9.12500e-04,
1.59600e-03,
0.00000e+00,
0.00000e+00
],
[
-2.19000e-06,
-2.37900e-06,
-1.88800e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.56757e-01,
"xid": 0,
"xmax": 4.50000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.55608e+02
],
[
-1.23957e+02
],
[
-3.35148e+02
],
[
-3.98881e+02
]
],
"type": "polynomial"
},
"Tbase": 2.66150e+02,
"Tmax": 3.03150e+02,
"Tmin": 2.29150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
4.76293e-01,
-2.68142e-01,
3.30969e-01,
-1.37812e+00,
-9.92017e+00,
5.13600e+01
],
[
1.33628e-03,
-1.66873e-03,
-1.67583e-03,
-9.46965e-03,
9.43300e-02,
0.00000e+00
],
[
-1.14304e-06,
8.76865e-06,
1.05109e-05,
-7.68401e-05,
0.00000e+00,
0.00000e+00
],
[
2.43480e-08,
9.71959e-10,
-1.34900e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.14447e+03,
5.77812e+02,
1.79010e+02,
2.37909e+02,
-4.23367e+03,
-7.48301e+03
],
[
-2.91559e-01,
-8.08774e-01,
-1.63873e+00,
3.30565e+00,
8.78500e+01,
0.00000e+00
],
[
-3.94240e-03,
-2.02500e-03,
1.44297e-01,
-3.00500e-01,
0.00000e+00,
0.00000e+00
],
[
3.32328e-05,
1.87445e-04,
-2.60800e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Potassium Acetate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MKA2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.28714e+03,
-2.98183e+03,
5.22892e+02,
5.19755e+03,
1.80884e+04,
-2.10900e+05
],
[
1.76051e+00,
3.70287e+00,
4.12461e+01,
7.28534e+01,
-1.97300e+03,
0.00000e+00
],
[
6.04641e-03,
-5.47162e-02,
-1.04625e-01,
1.61000e+00,
0.00000e+00,
0.00000e+00
],
[
-9.48822e-05,
6.63449e-04,
3.56000e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.14800e+00,
3.80327e+00,
4.15661e+00,
-1.57647e+01,
3.39046e+01,
5.43500e+02
],
[
-3.99914e-02,
-2.18037e-02,
-1.02487e-01,
1.01847e-02,
-2.68400e-01,
0.00000e+00
],
[
3.90531e-04,
1.42971e-04,
1.92434e-03,
2.26100e-03,
0.00000e+00,
0.00000e+00
],
[
-2.70480e-06,
-8.10038e-07,
-1.45900e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.60000e-01,
"xid": 0,
"xmax": 4.10000e-01,
"xmin": 1.10000e-01
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.03000e+01,
-7.78600e+01,
-2.76600e+02,
-8.22600e+02,
-2.37200e+02,
3.25100e+03
],
[
-1.57500e-04,
1.11200e-03,
1.61600e-02,
-4.91300e-02,
-2.88600e-01,
0.00000e+00
],
[
3.59800e-06,
-3.47900e-05,
-1.68100e-04,
1.39500e-03,
0.00000e+00,
0.00000e+00
],
[
4.32400e-09,
-1.24400e-07,
3.84700e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.84392e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.62200e-01,
-8.92000e-02,
-5.23300e-03,
-9.28300e-01,
-1.01100e+00,
1.31100e+01
],
[
1.65600e-03,
2.03100e-04,
-2.96200e-03,
-1.81400e-02,
8.47100e-02,
0.00000e+00
],
[
2.10800e-06,
-2.61600e-05,
-9.17400e-05,
8.76700e-04,
0.00000e+00,
0.00000e+00
],
[
-4.48200e-08,
7.96500e-08,
1.02700e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.21600e+03,
1.06400e+03,
4.41300e+02,
-1.33300e+02,
-1.24600e+03,
2.03500e+03
],
[
-4.11400e-01,
-7.61400e-01,
7.80600e-01,
-2.38100e+00,
2.70800e+01,
0.00000e+00
],
[
-3.38300e-03,
5.21400e-03,
-1.17300e-02,
1.69600e-01,
0.00000e+00,
0.00000e+00
],
[
2.99000e-05,
-8.08700e-05,
5.65800e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Potassium Carbonate (K2CO3)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MKC",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.21700e+03,
-3.73300e+03,
2.02300e+03,
1.97100e+04,
3.40500e+04,
-3.48800e+05
],
[
1.49200e+00,
-1.77500e+00,
4.55300e+01,
1.36700e+02,
-1.67600e+03,
0.00000e+00
],
[
-1.53900e-03,
5.41600e-02,
3.58700e-01,
-3.66700e+00,
0.00000e+00,
0.00000e+00
],
[
-3.54600e-05,
6.59000e-04,
-3.70700e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
8.06300e-01,
3.62400e+00,
6.65900e+00,
1.07700e+01,
-1.09700e+01,
-8.45300e+01
],
[
-2.36200e-02,
-1.26200e-03,
-1.61100e-01,
-9.79600e-02,
7.82500e-01,
0.00000e+00
],
[
1.85100e-04,
-3.02200e-05,
1.53000e-03,
3.07000e-03,
0.00000e+00,
0.00000e+00
],
[
-2.37200e-06,
-7.76100e-07,
1.06100e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.20833e-01,
"xid": 0,
"xmax": 4.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.64853e+02
],
[
-7.16876e+01
],
[
-2.34850e+02
],
[
-4.91415e+02
]
],
"type": "polynomial"
},
"Tbase": 2.70650e+02,
"Tmax": 3.03150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
5.42723e-01,
-9.53472e-02,
4.30758e-02,
-8.74763e-01,
-4.00619e+00,
2.24500e+01
],
[
1.59784e-03,
5.39620e-04,
-2.00628e-04,
-3.12927e-02,
9.35200e-02,
0.00000e+00
],
[
2.33988e-06,
-2.90760e-05,
-6.46641e-05,
8.92300e-04,
0.00000e+00,
0.00000e+00
],
[
6.62831e-09,
1.21694e-07,
-1.29800e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.19242e+03,
1.08574e+03,
4.11860e+02,
-1.95349e+03,
-1.12944e+03,
3.24100e+04
],
[
-3.46658e-01,
-1.58677e+00,
1.11707e+01,
-2.22538e+00,
-1.65200e+02,
0.00000e+00
],
[
-4.86671e-03,
1.74172e-02,
-8.18649e-02,
3.45600e-01,
0.00000e+00,
0.00000e+00
],
[
7.35295e-05,
-3.17838e-04,
7.37000e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Potassium Carbonate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MKC2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.29867e+03,
-3.94949e+03,
1.65997e+03,
1.60819e+04,
6.94292e+04,
-4.06300e+05
],
[
1.56500e+00,
2.10991e+00,
-4.53414e+01,
3.92351e+02,
-9.20900e+02,
0.00000e+00
],
[
4.13429e-03,
-2.30999e-01,
2.17492e+00,
-6.24100e+00,
0.00000e+00,
0.00000e+00
],
[
-2.76126e-04,
5.95518e-03,
-2.51700e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.69491e+00,
3.34648e+00,
8.30617e+00,
3.11505e+00,
-2.09080e+01,
1.14900e+02
],
[
-3.02209e-02,
6.36614e-03,
-2.12026e-01,
-2.00553e-01,
1.93300e+00,
0.00000e+00
],
[
2.04431e-04,
9.40265e-06,
2.59120e-03,
2.62400e-03,
0.00000e+00,
0.00000e+00
],
[
6.15607e-08,
-3.41568e-06,
-5.30200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.95000e-01,
"xid": 0,
"xmax": 3.90000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-2.01900e+01,
-1.10600e+02,
-2.10000e+02,
-2.63800e+02,
8.32700e+01,
6.34500e+02
],
[
-1.70300e-04,
-4.20300e-04,
-3.80200e-03,
4.02700e-02,
9.50700e-02,
0.00000e+00
],
[
-7.47800e-06,
-5.73700e-05,
6.50400e-04,
-4.78900e-04,
0.00000e+00,
0.00000e+00
],
[
3.76100e-07,
1.47400e-06,
-1.87700e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.79041e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.25300e-01,
-1.97200e-01,
-2.59600e-01,
-5.06200e-01,
1.50100e+00,
5.56200e+00
],
[
1.24100e-03,
-6.32200e-04,
-4.69300e-04,
-5.22900e-03,
5.37600e-02,
0.00000e+00
],
[
-3.79900e-08,
2.65400e-06,
-4.36200e-05,
1.03500e-04,
0.00000e+00,
0.00000e+00
],
[
-2.95100e-09,
-7.32400e-08,
2.89900e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.18900e+03,
7.04400e+02,
1.88900e+02,
-2.26200e+02,
2.36800e+03,
1.06100e+04
],
[
-3.51500e-01,
-6.56000e-01,
1.03400e+00,
3.69200e-01,
8.76600e+00,
0.00000e+00
],
[
-1.91800e-03,
7.01800e-03,
-3.88900e-02,
6.60900e-02,
0.00000e+00,
0.00000e+00
],
[
3.13200e-05,
-1.45900e-04,
9.22500e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Potassium Formate (CHKO2)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MKF",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.14400e+03,
-2.99400e+03,
2.94400e+03,
1.16100e+03,
-1.42900e+04,
-3.22100e+04
],
[
1.69800e+00,
2.29000e+00,
-2.48200e+01,
6.75800e+01,
9.94900e+01,
0.00000e+00
],
[
-1.30300e-03,
3.89800e-04,
3.30000e-01,
-1.27700e+00,
0.00000e+00,
0.00000e+00
],
[
5.17700e-05,
7.39100e-04,
-4.87100e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
8.08800e-01,
1.75800e+00,
-8.37200e-01,
-1.18400e+00,
1.08800e+02,
3.09800e+02
],
[
-2.55600e-02,
8.60300e-03,
-1.60100e-02,
-1.33100e-01,
-7.00300e-01,
0.00000e+00
],
[
2.19500e-04,
2.49800e-04,
4.81500e-05,
-5.48900e-03,
0.00000e+00,
0.00000e+00
],
[
-1.66700e-06,
-3.56900e-06,
-1.86100e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.91447e-01,
"xid": 0,
"xmax": 4.80000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-2.32900e+01,
-3.05100e+02,
-1.79000e+03,
-2.91700e+03,
5.71500e+04,
2.75700e+05
],
[
6.55500e-04,
-3.97200e-02,
1.39100e-01,
1.49000e+00,
1.18600e+01,
0.00000e+00
],
[
-1.20800e-04,
3.67400e-03,
-1.99700e-02,
-6.90400e-02,
0.00000e+00,
0.00000e+00
],
[
2.61600e-06,
-5.56900e-05,
2.93100e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.74639e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.36200e-01,
-1.85500e-01,
1.01700e-01,
7.08400e-01,
-1.27300e+01,
-9.12400e+01
],
[
1.45400e-03,
-1.40500e-03,
6.82100e-03,
-7.43400e-02,
-3.05800e-01,
0.00000e+00
],
[
-3.26000e-08,
-5.42400e-07,
-8.67400e-05,
6.98800e-04,
0.00000e+00,
0.00000e+00
],
[
-1.42000e-08,
9.82100e-08,
1.09500e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.08800e+03,
6.05600e+02,
2.55600e+02,
9.40700e+02,
-8.10500e+03,
-3.97400e+04
],
[
-1.77200e-01,
-8.58800e-01,
7.19400e-01,
-7.25300e+00,
1.07200e+02,
0.00000e+00
],
[
-2.61900e-03,
1.56700e-02,
-1.05300e-01,
3.14400e-01,
0.00000e+00,
0.00000e+00
],
[
6.20900e-06,
-1.84700e-04,
9.71600e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Lithium Chloride (LiCl)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MLI",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.38300e+03,
-5.03600e+03,
6.29800e+03,
4.54400e+04,
2.52700e+05,
4.05800e+05
],
[
3.95800e+00,
4.41500e+01,
-4.38400e+01,
-8.78700e+02,
-3.58000e+03,
0.00000e+00
],
[
-3.03500e-04,
-2.60900e-02,
1.03900e+00,
-8.45700e+00,
0.00000e+00,
0.00000e+00
],
[
-3.47700e-06,
3.65100e-04,
-1.07600e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.01300e+00,
3.92000e+00,
3.32000e+00,
2.20600e+00,
1.74500e+02,
6.69900e+02
],
[
-3.06200e-02,
6.24600e-03,
7.84000e-03,
-6.01100e-01,
-7.09400e+00,
0.00000e+00
],
[
2.94000e-04,
-1.75200e-04,
-3.10000e-03,
4.02300e-03,
0.00000e+00,
0.00000e+00
],
[
-2.71900e-06,
8.34600e-06,
1.38100e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.48000e-01,
"xid": 0,
"xmax": 2.40000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-2.62900e+01,
-1.18700e+02,
-1.21800e+02,
-6.82300e+01,
1.29700e+01,
2.36300e+02
],
[
-2.57500e-06,
-1.60900e-03,
3.86500e-03,
2.13700e-02,
-5.40700e-02,
0.00000e+00
],
[
-6.73200e-06,
3.42000e-05,
8.76800e-05,
-4.27100e-04,
0.00000e+00,
0.00000e+00
],
[
1.63000e-07,
5.68700e-08,
-2.09500e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.76686e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.17500e-01,
-4.42100e-01,
2.04400e-01,
2.94300e-01,
-8.66600e-02,
-2.03300e+00
],
[
7.27100e-04,
-2.95200e-03,
3.41300e-03,
-9.64600e-04,
-4.57300e-05,
0.00000e+00
],
[
2.82300e-07,
7.33600e-06,
-3.66500e-05,
3.17400e-05,
0.00000e+00,
0.00000e+00
],
[
9.71800e-09,
4.32800e-08,
-2.79100e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.58100e+02,
-1.39100e+02,
-1.10500e+02,
-1.20800e+02,
4.92700e+02,
-7.72700e+02
],
[
-4.15100e-01,
-1.51000e+00,
1.82800e+00,
2.99200e+00,
-1.32500e+01,
0.00000e+00
],
[
-2.26100e-03,
1.11300e-02,
-1.64100e-02,
1.45500e-03,
0.00000e+00,
0.00000e+00
],
[
2.99800e-07,
-3.26400e-05,
1.51000e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Methyl Alcohol (Methanol)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MMA",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.88700e+03,
-1.85000e+03,
-3.76900e+02,
-3.77600e+03,
-1.50400e+04,
6.43300e+04
],
[
7.20100e+00,
2.98400e+01,
-1.19600e+02,
-5.61100e+01,
7.37300e+02,
0.00000e+00
],
[
-8.97900e-02,
-1.86500e-01,
9.80100e-01,
-7.81100e-01,
0.00000e+00,
0.00000e+00
],
[
-4.39000e-04,
-1.71800e-03,
6.66000e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.15300e+00,
5.44800e-01,
-5.55200e+00,
3.03800e+00,
6.66900e+00,
-8.47200e+00
],
[
-3.86600e-02,
1.00800e-02,
8.38400e-02,
-7.43500e-02,
-9.10500e-02,
0.00000e+00
],
[
2.77900e-04,
-2.80900e-04,
-3.99700e-04,
7.44200e-04,
0.00000e+00,
0.00000e+00
],
[
-1.54300e-06,
9.81100e-07,
-3.46600e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.05128e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.50348e+02
],
[
-1.10030e+02
],
[
-1.20326e+02
],
[
-9.34346e+01
]
],
"type": "polynomial"
},
"Tbase": 2.58150e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.23150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
4.15951e-01,
-3.74047e-01,
6.93486e-02,
-1.13126e-01,
-3.98136e-01,
4.46000e+00
],
[
8.00944e-04,
-3.76307e-03,
1.29005e-02,
-1.72521e-02,
-5.56200e-02,
0.00000e+00
],
[
-1.43347e-06,
9.44302e-06,
-4.50061e-05,
2.27800e-04,
0.00000e+00,
0.00000e+00
],
[
4.24326e-08,
2.24451e-07,
-2.73400e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.68306e+02,
-9.77620e+01,
-1.40996e+02,
-3.97355e+02,
9.36886e+02,
9.18200e+02
],
[
-2.67646e-01,
-2.03202e+00,
1.49641e+00,
2.53733e+00,
1.19900e+00,
0.00000e+00
],
[
-3.46848e-03,
1.68537e-02,
-2.46640e-02,
7.79500e-02,
0.00000e+00,
0.00000e+00
],
[
1.59301e-05,
-1.67540e-04,
4.14200e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Methanol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MMA2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.89871e+03,
-2.56367e+03,
6.45684e+02,
1.88953e+03,
-1.06985e+04,
-4.75800e+04
],
[
1.55142e+00,
2.27570e+01,
-6.80728e+01,
4.77380e+02,
-9.81200e+02,
0.00000e+00
],
[
5.28845e-03,
-2.59153e-01,
2.23093e+00,
-5.30600e+00,
0.00000e+00,
0.00000e+00
],
[
-8.04433e-05,
3.84936e-03,
-1.89400e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.53302e+00,
3.97593e-01,
-5.12330e+00,
1.14378e+01,
-3.49869e+01,
-2.37200e+01
],
[
-4.78352e-02,
1.74807e-02,
-5.33637e-03,
-2.43070e-01,
1.91500e+00,
0.00000e+00
],
[
2.99268e-04,
3.55676e-04,
-1.51879e-03,
-9.53000e-04,
0.00000e+00,
0.00000e+00
],
[
-1.22346e-06,
-1.37903e-05,
4.48200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.76000e-01,
"xid": 0,
"xmax": 4.74000e-01,
"xmin": 7.80000e-02
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.51200e+01,
-1.88500e+02,
-5.45500e+02,
-7.25700e+02,
-3.20800e+04,
-1.79400e+05
],
[
-4.84300e-04,
-5.46100e-03,
1.88700e-01,
7.58800e-01,
-4.92000e+00,
0.00000e+00
],
[
1.11300e-05,
3.57900e-04,
-3.17100e-03,
-4.10200e-02,
0.00000e+00,
0.00000e+00
],
[
1.85800e-07,
-3.99900e-06,
-6.24600e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.82466e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.46100e-01,
-2.73000e-01,
8.67500e-02,
8.65100e-01,
-4.77900e+01,
-2.50300e+02
],
[
1.78400e-03,
-1.48300e-03,
-1.48900e-02,
1.99200e-01,
1.79700e+00,
0.00000e+00
],
[
-8.17100e-07,
3.85000e-05,
-3.88200e-04,
-1.19600e-03,
0.00000e+00,
0.00000e+00
],
[
-6.59400e-08,
-5.55600e-07,
9.28200e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.12400e+03,
9.07100e+02,
2.44900e+02,
3.40200e+03,
3.34400e+04,
7.23900e+04
],
[
-3.07200e-01,
-6.51300e-01,
3.57400e-01,
-1.40900e+02,
-6.83000e+02,
0.00000e+00
],
[
-3.29500e-03,
4.66400e-03,
4.33700e-02,
1.85700e+00,
0.00000e+00,
0.00000e+00
],
[
1.01500e-05,
2.28700e-04,
6.04400e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "(MgCl2)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MMG",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.36500e+03,
-5.22200e+03,
6.20200e+03,
1.05200e+04,
-1.06700e+05,
-6.96000e+05
],
[
2.22900e+00,
1.16200e+01,
2.33700e+01,
-4.59000e+02,
-1.04800e+04,
0.00000e+00
],
[
-4.62700e-03,
1.24900e-01,
7.24000e-01,
-2.47700e+01,
0.00000e+00,
0.00000e+00
],
[
9.18600e-05,
2.42100e-04,
-3.61300e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
9.57300e-01,
4.96800e+00,
-2.72200e+01,
9.35100e+01,
7.36400e+03,
3.71700e+04
],
[
-3.06500e-02,
1.55900e-02,
-1.75300e-01,
-8.35300e+00,
-4.01400e+01,
0.00000e+00
],
[
1.11500e-04,
-1.79600e-03,
2.02100e-02,
1.90100e-01,
0.00000e+00,
0.00000e+00
],
[
-2.92300e-06,
3.05100e-05,
2.61400e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.41327e-01,
"xid": 0,
"xmax": 3.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.64420e+02
],
[
-1.41202e+02
],
[
-6.00030e+02
],
[
-5.09115e+02
]
],
"type": "polynomial"
},
"Tbase": 2.73150e+02,
"Tmax": 3.03150e+02,
"Tmin": 2.43150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
5.39306e-01,
-2.39962e-01,
1.59128e-01,
-5.66420e+00,
-3.54344e+01,
5.16800e+02
],
[
1.74229e-03,
-2.43214e-04,
4.98124e-03,
-5.98071e-02,
4.49429e-03,
0.00000e+00
],
[
3.06342e-07,
2.94195e-05,
-2.58618e-04,
-5.89199e-04,
0.00000e+00,
0.00000e+00
],
[
-2.55098e-14,
1.71522e-13,
1.25528e-12,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.08926e+03,
9.04714e+02,
7.57958e+02,
-4.92183e+03,
-4.37056e+04,
4.37400e+05
],
[
-1.38972e-01,
-6.55649e-01,
-9.18862e+00,
-6.71572e+01,
1.11900e+03,
0.00000e+00
],
[
-3.80578e-03,
1.41528e-02,
3.35216e-02,
6.48099e-01,
0.00000e+00,
0.00000e+00
],
[
-5.55556e-12,
-1.94655e-10,
7.53285e-10,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Magnesium Chloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MMG2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.55477e+03,
-5.79774e+03,
1.33335e+04,
-6.24990e+04,
-6.51818e+05,
6.00000e+06
],
[
1.81549e+00,
2.33757e+01,
-2.68977e+02,
3.21140e+02,
8.80300e+03,
0.00000e+00
],
[
-4.26126e-04,
-1.39841e-01,
2.49015e+00,
-9.52800e+00,
0.00000e+00,
0.00000e+00
],
[
5.14655e-12,
-3.24640e-10,
1.94452e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.65743e+00,
5.41495e+00,
1.69748e+01,
-1.46595e+02,
-7.67416e+02,
1.48400e+04
],
[
-3.77300e-02,
-4.68872e-03,
3.61107e-01,
-1.30366e+00,
-1.42100e+01,
0.00000e+00
],
[
2.34189e-04,
-3.27350e-04,
-2.25078e-03,
1.66500e-02,
0.00000e+00,
0.00000e+00
],
[
2.78289e-14,
-2.58351e-13,
3.89584e-14,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.02500e-01,
"xid": 0,
"xmax": 2.05000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-9.38300e+00,
-9.03900e+01,
-2.20400e+02,
-4.82700e+02,
2.24700e+02,
0.00000e+00
],
[
-2.58100e-05,
2.57800e-04,
1.19200e-03,
-1.46700e-02,
0.00000e+00,
0.00000e+00
],
[
1.42300e-06,
-3.31800e-06,
-8.99300e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 2.85768e+02,
"Tmax": 3.13150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.73600e-01,
-9.38300e-02,
-1.05700e-01,
-4.85300e-01,
-4.65400e-01,
0.00000e+00
],
[
1.59500e-03,
-1.24800e-03,
4.15800e-03,
-1.58700e-02,
0.00000e+00,
0.00000e+00
],
[
-4.00300e-07,
3.35300e-05,
-2.03200e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.09900e+03,
7.72300e+02,
2.56700e+02,
1.10800e+02,
-1.68600e+03,
0.00000e+00
],
[
-3.75800e-01,
-1.42600e+00,
3.99400e+00,
3.52200e-01,
0.00000e+00,
0.00000e+00
],
[
-2.02300e-03,
1.53500e-02,
-7.28100e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Sodium Chloride (NaCl)",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MNA",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.59300e+03,
-3.24800e+03,
6.45300e+03,
-1.62900e+04,
2.33100e+04,
0.00000e+00
],
[
1.66900e+00,
-3.33100e+00,
-9.31400e+01,
7.92700e+02,
0.00000e+00,
0.00000e+00
],
[
-2.01900e-02,
-1.16400e-01,
2.23600e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
4.36900e-01,
2.34600e+00,
4.27600e+00,
7.38600e+00,
4.68800e+01,
0.00000e+00
],
[
-2.66600e-02,
-5.36800e-03,
-4.52600e-02,
5.43700e-01,
0.00000e+00,
0.00000e+00
],
[
2.03500e-04,
2.87100e-04,
1.83800e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.33897e-01,
"xid": 0,
"xmax": 2.30000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.65416e+02
],
[
-8.21145e+01
],
[
-1.96011e+02
],
[
-5.85100e+02
]
],
"type": "polynomial"
},
"Tbase": 2.78150e+02,
"Tmax": 3.03150e+02,
"Tmin": 2.53150e+02,
"TminPsat": 3.03150e+02,
"conductivity": {
"coeffs": [
[
5.62673e-01,
-7.67724e-02,
-8.09524e-02,
-3.14700e-01,
-1.55803e-06,
2.87644e-06
],
[
1.71496e-03,
-1.78802e-03,
-4.24099e-04,
-2.35457e-08,
-3.50997e-08,
0.00000e+00
],
[
-2.93800e-06,
3.24400e-05,
-1.19112e-10,
1.04374e-09,
0.00000e+00,
0.00000e+00
],
[
-2.81927e-14,
-3.55745e-13,
3.54493e-12,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.08953e+03,
6.99347e+02,
1.18514e+02,
6.13300e+03,
-9.31249e-04,
2.24447e-02
],
[
-3.35693e-01,
-1.70111e+00,
3.11800e+00,
-7.83310e-06,
1.96283e-04,
0.00000e+00
],
[
-1.50599e-03,
5.73700e-03,
1.84083e-08,
1.51125e-07,
0.00000e+00,
0.00000e+00
],
[
1.39433e-12,
4.00279e-11,
2.07893e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Sodium Chloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MNA2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.64073e+03,
-3.56560e+03,
9.11467e+03,
-1.95900e+04,
2.16470e-03,
2.84182e-02
],
[
1.81882e+00,
1.02123e+01,
-1.45800e+02,
3.28624e-05,
-1.82868e-04,
0.00000e+00
],
[
9.72271e-04,
-1.46700e-01,
1.42678e-07,
-1.28493e-06,
0.00000e+00,
0.00000e+00
],
[
2.58740e-11,
3.02493e-10,
-5.25396e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.20226e+00,
2.19764e+00,
5.39636e+00,
-2.52400e+00,
-1.27832e-06,
1.50408e-05
],
[
-2.94380e-02,
-3.05515e-03,
-9.97400e-02,
-1.29488e-08,
1.94596e-07,
0.00000e+00
],
[
2.35927e-04,
4.41900e-04,
-4.04495e-11,
7.12017e-10,
0.00000e+00,
0.00000e+00
],
[
-1.96395e-14,
-3.32034e-14,
2.03196e-12,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.15000e-01,
"xid": 0,
"xmax": 2.30000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,214 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
-1.32500e+01,
-6.63100e+01,
-1.09400e+02,
-2.28300e+02,
-3.40900e+02,
1.46500e+02
],
[
-3.82000e-05,
6.77400e-04,
5.33200e-04,
-1.13100e-02,
8.03500e-03,
0.00000e+00
],
[
7.86500e-07,
-6.24200e-06,
-4.16900e-05,
1.91800e-04,
0.00000e+00,
0.00000e+00
],
[
-1.73300e-09,
-7.81900e-08,
3.28800e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"Tbase": 3.05858e+02,
"Tmax": 3.73150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.51300e-01,
-4.79500e-01,
2.07600e-01,
-9.08300e-02,
-5.95200e-02,
2.10400e-01
],
[
7.95500e-04,
-1.67800e-03,
1.56300e-03,
-2.51800e-03,
-3.60500e-03,
0.00000e+00
],
[
3.48200e-08,
8.94100e-06,
-4.61500e-05,
6.54300e-05,
0.00000e+00,
0.00000e+00
],
[
-5.96600e-09,
1.49300e-08,
9.89700e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.01800e+03,
7.60400e+01,
-2.49800e+01,
-1.55000e+02,
-1.13100e+02,
2.34200e+02
],
[
-5.40600e-01,
-9.45000e-01,
2.70000e-01,
2.82900e+00,
-2.22100e+00,
0.00000e+00
],
[
-2.66600e-03,
5.54100e-03,
-4.01800e-03,
-7.17500e-03,
0.00000e+00,
0.00000e+00
],
[
1.34700e-05,
-1.34300e-05,
3.37600e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Propylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MPG",
"reference": "Melinder Book",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.88200e+03,
-1.30400e+03,
-1.59800e+03,
3.53900e+02,
5.00000e+03,
-4.95900e+03
],
[
2.69900e+00,
5.07000e+00,
9.53400e-01,
3.10200e+01,
-7.13500e+01,
0.00000e+00
],
[
-1.65900e-03,
-4.75200e-03,
1.16700e-01,
-2.95000e-01,
0.00000e+00,
0.00000e+00
],
[
-1.03200e-05,
1.52200e-04,
-4.87000e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.83700e-01,
3.32800e+00,
5.45300e-01,
-3.90000e+00,
-1.58700e+00,
3.56400e+01
],
[
-3.04500e-02,
-3.98400e-02,
-8.60000e-04,
1.05400e-01,
4.47500e-02,
0.00000e+00
],
[
2.52500e-04,
4.33200e-04,
-1.59300e-04,
-1.58900e-03,
0.00000e+00,
0.00000e+00
],
[
-1.39900e-06,
-1.86000e-06,
-4.46500e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.07031e-01,
"xid": 0,
"xmax": 6.00000e-01,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.55913e+02
],
[
-8.12816e+01
],
[
-1.81780e+02
],
[
-3.58493e+02
]
],
"type": "polynomial"
},
"Tbase": 2.70650e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.28150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.01795e-01,
-3.94710e-01,
2.67376e-01,
-6.06205e-01,
-3.92835e+00,
1.29000e+01
],
[
6.83503e-04,
-1.65635e-03,
2.68975e-03,
-1.02247e-02,
1.43700e-02,
0.00000e+00
],
[
-3.57966e-07,
5.71068e-06,
-7.13880e-05,
3.00500e-04,
0.00000e+00,
0.00000e+00
],
[
3.74430e-09,
-2.30598e-07,
1.27100e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.03923e+03,
1.02839e+02,
-1.23598e+02,
1.44415e+02,
1.10078e+03,
-6.03300e+03
],
[
-3.64327e-01,
-1.36325e+00,
2.19090e+00,
2.14170e+00,
-2.91500e+01,
0.00000e+00
],
[
-3.51952e-03,
1.43697e-02,
-5.43132e-02,
-3.02600e-02,
0.00000e+00,
0.00000e+00
],
[
3.06567e-06,
-1.32044e-04,
1.15300e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Melinder, Propylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "MPG2",
"reference": "Melinder-BOOK-2010, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.80066e+03,
-1.87336e+03,
-1.92932e+03,
7.89520e+03,
7.50543e+03,
-1.06800e+05
],
[
4.62130e-01,
1.33666e+01,
1.92973e+00,
-4.39682e+01,
-9.05000e+00,
0.00000e+00
],
[
2.27930e-02,
-1.52044e-01,
8.83699e-02,
1.28600e+00,
0.00000e+00,
0.00000e+00
],
[
-4.75533e-05,
9.18551e-04,
-3.14800e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.99366e+00,
5.13749e+00,
-1.33075e+00,
-5.81956e+00,
3.86891e+01,
1.09200e+02
],
[
-5.85869e-02,
-6.91817e-02,
1.13335e-01,
3.00953e-03,
-1.43000e+00,
0.00000e+00
],
[
6.38754e-04,
5.41284e-04,
-4.58807e-03,
-1.21200e-03,
0.00000e+00,
0.00000e+00
],
[
-5.36956e-06,
3.29449e-07,
8.56200e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.60000e-01,
"xid": 0,
"xmax": 5.70000e-01,
"xmin": 1.50000e-01
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.23650e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.74150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
6.41133e-01
],
[
1.09215e-03
],
[
-8.22065e-06
],
[
2.09789e-08
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.87906e+02
],
[
-4.61990e-01
],
[
-3.55471e-03
],
[
1.59238e-05
]
],
"type": "polynomial"
},
"description": "NBS, Water",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "NBS",
"reference": "Properties of Water and Steam in SI-Units, 2nd Revised and Updated Printing, Springer 1979, pp. 175 ff., SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
4.17953e+03
],
[
3.63860e-01
],
[
1.25218e-02
],
[
-1.27857e-04
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.14188e-01
],
[
-1.65846e-02
],
[
1.01580e-04
],
[
-6.98528e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,83 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 8.73150e+02,
"Tmin": 5.73150e+02,
"TminPsat": 8.73150e+02,
"conductivity": {
"coeffs": [
[
4.43000e-01
],
[
1.90000e-04
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
2.09000e+03
],
[
-6.36000e-01
]
],
"type": "polynomial"
},
"description": "NitrateSalt",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "NaK",
"reference": "Solar Power Tower Design Basis Document, Alexis B. Zavoico, Sandia Labs, USA",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.44300e+03
],
[
1.72000e-01
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
2.27140e-02
],
[
-1.20000e-04
],
[
2.28100e-07
],
[
-1.47400e-10
]
],
"type": "polynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.43150e+02,
"Tmax": 4.53150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 4.53150e+02,
"conductivity": {
"coeffs": [
[
1.43802e-01
],
[
-7.51021e-05
],
[
-4.30265e-10
],
[
8.72844e-11
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.42300e+02
],
[
-7.10000e-01
],
[
0.00000e+00
],
[
1.25037e-16
]
],
"type": "polynomial"
},
"description": "Paracryol, Aliphatic Hydrocarbon",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PCL",
"reference": "Sulzer Chemtech AG, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.19068e+03
],
[
4.01216e+00
],
[
2.85148e-05
],
[
-1.95575e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-2.53530e+00
],
[
-1.19611e-02
],
[
5.81475e-05
],
[
-3.34519e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,203 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.44601e+02
],
[
-7.31295e+01
],
[
-6.10860e+01
],
[
-8.71460e+00
]
],
"type": "polynomial"
},
"Tbase": 2.92150e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.11150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.96893e-01,
-1.46952e-01,
4.16248e-02,
-1.56870e-04,
-3.09924e-03,
8.61238e-04
],
[
9.18541e-04,
-4.11932e-04,
1.08986e-04,
-8.42236e-05,
1.72936e-04,
0.00000e+00
],
[
-1.68737e-08,
1.57893e-07,
-7.35181e-07,
1.22091e-06,
0.00000e+00,
0.00000e+00
],
[
4.65113e-10,
-4.23164e-09,
7.54048e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.19742e+00,
2.81732e-01,
-4.58891e-02,
-2.20987e-02,
4.30391e-03,
2.26570e-02
],
[
-4.51432e-04,
-2.85887e-04,
9.73605e-05,
4.37222e-05,
-1.45188e-04,
0.00000e+00
],
[
-1.63988e-06,
2.60959e-06,
-8.00740e-07,
-4.94898e-07,
0.00000e+00,
0.00000e+00
],
[
4.24384e-11,
-5.21252e-10,
8.92799e-10,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Pekasol 2000, Potassium acetate/formate",
"mass2input": {
"coeffs": [
[
5.84467e-01,
1.05545e+00,
2.93268e-01,
1.84189e-01,
1.85756e-01,
-6.45526e-02
]
],
"type": "polynomial"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PK2",
"reference": "pro KUEHLSOLE GmbH, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.01282e+00,
-1.15710e+00,
5.68765e-01,
-4.62148e-01,
5.65020e-01,
2.33933e-01
],
[
2.26568e-03,
-4.30379e-04,
-2.13179e-03,
1.36210e-04,
-2.59822e-03,
0.00000e+00
],
[
-1.45919e-05,
5.95269e-07,
5.58840e-05,
-1.09925e-04,
0.00000e+00,
0.00000e+00
],
[
5.67758e-08,
3.56536e-07,
-5.84114e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
8.37410e-01,
1.51065e+00,
9.69688e-02,
-7.07562e-01,
1.09469e+00,
7.49477e-02
],
[
-2.41232e-02,
-3.12930e-03,
-1.14805e-02,
-9.05143e-03,
9.73570e-03,
0.00000e+00
],
[
1.80659e-04,
9.26083e-05,
1.73529e-04,
-3.41308e-04,
0.00000e+00,
0.00000e+00
],
[
-1.53759e-06,
-1.60743e-06,
-1.64853e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 6.50000e-01,
"xid": 2,
"xmax": 1.00000e+00,
"xmin": 3.00000e-01
}

View File

@@ -1,203 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.56591e+02
],
[
-9.51243e+01
],
[
-1.41259e+02
],
[
1.70940e+01
]
],
"type": "polynomial"
},
"Tbase": 2.98650e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.24150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
4.44809e-01,
-4.83097e-01,
2.94891e-01,
1.60311e-02,
1.32678e-02,
-1.58025e-01
],
[
3.81744e-04,
-2.57857e-03,
-4.70796e-05,
3.82599e-05,
-2.32986e-04,
0.00000e+00
],
[
-1.33437e-07,
1.11111e-07,
7.85357e-08,
-2.39585e-06,
0.00000e+00,
0.00000e+00
],
[
-5.03131e-10,
-2.03410e-09,
2.08002e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.02994e+00,
9.12489e-02,
-7.38993e-02,
1.24713e-03,
-1.49566e-03,
-5.16450e-02
],
[
-5.39777e-04,
-9.21193e-04,
-8.07529e-06,
-1.05105e-04,
5.16302e-04,
0.00000e+00
],
[
-6.93627e-07,
-1.07117e-07,
-3.63797e-07,
2.73055e-06,
0.00000e+00,
0.00000e+00
],
[
-1.96639e-11,
-4.50111e-10,
-1.84811e-09,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Pekasol L, Propylene Glycol",
"mass2input": {
"coeffs": [
[
3.29637e-01,
9.68247e-01,
1.48967e-01,
-4.80386e-02,
-2.55239e-01,
2.77419e-01
]
],
"type": "polynomial"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PKL",
"reference": "pro KUEHLSOLE GmbH, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.88116e+00,
-1.68997e+00,
-9.30836e-01,
-1.50831e-02,
-1.02475e-02,
2.94924e-02
],
[
3.29474e-03,
3.75820e-03,
-5.51693e-04,
-2.73398e-04,
9.36416e-03,
0.00000e+00
],
[
1.27093e-06,
3.49614e-08,
-1.35438e-06,
5.04881e-06,
0.00000e+00,
0.00000e+00
],
[
1.02315e-09,
-6.97342e-09,
2.41415e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.15995e+00,
3.03292e+00,
-2.15145e+00,
9.33409e+00,
1.26389e-01,
-3.15502e+00
],
[
-3.30192e-02,
-3.13647e-02,
-3.44370e-02,
-6.41897e-04,
-1.65492e-03,
0.00000e+00
],
[
3.14846e-04,
3.38151e-04,
-1.24317e-05,
6.67009e-05,
0.00000e+00,
0.00000e+00
],
[
-2.37926e-06,
-1.91332e-08,
1.89693e-08,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 3.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
2.07526e-04
],
[
-2.84167e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.17235e+03
],
[
-9.02500e-01
]
],
"type": "polynomial"
},
"description": "Polydimethylsiloxan 1. - Baysilone KT3",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PMS1",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.22369e+03
],
[
1.48417e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.36183e+00
],
[
-6.36352e-02
],
[
7.51428e-05
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
1.72305e-04
],
[
-2.11212e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.15594e+03
],
[
-1.02576e+00
]
],
"type": "polynomial"
},
"description": "Polydimethylsiloxan 2. - Syltherm XLT Dow Corning Co.",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PMS2",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.15355e+03
],
[
2.10788e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.66926e+00
],
[
-6.55820e-02
],
[
8.09988e-05
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.28150e+02,
"Tmax": 5.93150e+02,
"Tmin": 2.63150e+02,
"TminPsat": 5.93150e+02,
"conductivity": {
"coeffs": [
[
9.74343e-02
],
[
-5.07671e-05
],
[
3.12739e-08
],
[
-3.78807e-12
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.97296e+02
],
[
-6.64728e-01
],
[
-1.01063e-04
],
[
5.77600e-08
]
],
"type": "polynomial"
},
"description": "Paratherm NF, Hydrotreated mineral oil",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "PNF",
"reference": "Paratherm Ltd, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.53143e+03
],
[
5.13638e+00
],
[
3.97886e-06
],
[
5.06695e-07
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.85265e+00
],
[
-1.20170e-02
],
[
6.15699e-05
],
[
-4.56293e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
2.08374e-04
],
[
-2.61667e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.10234e+03
],
[
-8.01667e-01
]
],
"type": "polynomial"
},
"description": "Synthetic alkyl benzene - Marlotherm X",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "SAB",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.36094e+03
],
[
1.51667e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.21288e+00
],
[
-6.65792e-02
],
[
8.50660e-05
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.63150e+02,
"Tmax": 6.53150e+02,
"Tmin": 2.73150e+02,
"TminPsat": 3.43150e+02,
"conductivity": {
"coeffs": [
[
1.06583e-01
],
[
-9.17879e-05
],
[
-1.57373e-07
],
[
1.36159e-11
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
8.92465e+02
],
[
-7.18248e-01
],
[
-3.39150e-04
],
[
-7.43451e-07
]
],
"type": "polynomial"
},
"description": "Therminol66",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "T66",
"reference": "Therminol Heat Transfer Reference Disk",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.15782e+03
],
[
3.63011e+00
],
[
9.17109e-04
],
[
1.00446e-06
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.14791e+00
],
[
-7.74160e-03
],
[
7.25121e-05
],
[
-3.62299e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.58150e+02,
"Tmax": 6.53150e+02,
"Tmin": 2.63150e+02,
"TminPsat": 2.63150e+02,
"conductivity": {
"coeffs": [
[
1.19554e-01
],
[
-1.21312e-04
],
[
-4.09811e-11
],
[
-1.66940e-12
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.29305e+02
],
[
-9.03191e-01
],
[
1.25870e-05
],
[
-1.18930e-07
]
],
"type": "polynomial"
},
"description": "Therminol72",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "T72",
"reference": "Therminol Heat Transfer Reference Disk",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.99938e+03
],
[
2.70981e+00
],
[
-6.76773e-07
],
[
4.27171e-09
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.61176e+00
],
[
-7.33949e-03
],
[
4.78566e-05
],
[
-2.59010e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,80 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 0.00000e+00,
"Tmax": 3.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
1.74156e-04
],
[
-1.85052e-07
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.07102e+03
],
[
-7.78166e-01
]
],
"type": "polynomial"
},
"description": "Terpene from citrus oils - d-Limonene",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TCO",
"reference": "Melinder-BOOK-2010",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.23775e+02
],
[
5.21590e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-3.47971e+00
],
[
-1.07031e-02
],
[
1.14086e-06
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.45650e+02,
"Tmax": 5.03150e+02,
"Tmin": 1.88150e+02,
"TminPsat": 1.88150e+02,
"conductivity": {
"coeffs": [
[
1.01425e-01
],
[
-1.71241e-04
],
[
-1.60843e-07
],
[
4.55571e-12
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.24017e+02
],
[
-7.56836e-01
],
[
-5.53324e-04
],
[
-1.54981e-06
]
],
"type": "polynomial"
},
"description": "TherminolD12",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TD12",
"reference": "Therminol Heat Transfer Reference Disk",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.30099e+03
],
[
4.02982e+00
],
[
1.44249e-03
],
[
2.34356e-06
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.56694e+00
],
[
-8.91008e-03
],
[
8.65429e-05
],
[
-5.74824e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.77650e+02,
"Tmax": 6.70150e+02,
"Tmin": 2.85150e+02,
"TminPsat": 2.85150e+02,
"conductivity": {
"coeffs": [
[
1.13068e-01
],
[
-1.57909e-04
],
[
-1.72984e-07
],
[
3.52351e-12
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.09449e+02
],
[
-8.92696e-01
],
[
-6.29287e-04
],
[
-1.93107e-06
]
],
"type": "polynomial"
},
"description": "TherminolVP1",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TVP1",
"reference": "Therminol Heat Transfer Reference Disk",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.05785e+03
],
[
2.64044e+00
],
[
8.48835e-05
],
[
4.84418e-06
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.89808e+00
],
[
-6.55270e-03
],
[
2.13825e-05
],
[
-7.12200e-08
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,83 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 2.93150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
1.50000e-01
],
[
-1.54545e-04
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.45545e+02
],
[
-1.05455e+00
]
],
"type": "polynomial"
},
"description": "Thermogen VP 1869",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TVP1869",
"reference": "Hoechst, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.32222e+03
],
[
3.84364e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
1.25642e+00
],
[
-3.57244e-02
],
[
1.07130e-04
],
[
-5.10205e-06
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 3,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 4.48150e+02,
"Tmax": 6.23150e+02,
"Tmin": 2.73150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
1.22779e-01
],
[
-7.57405e-05
],
[
-1.45409e-08
],
[
1.39476e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.59323e+02
],
[
-6.90833e-01
],
[
-3.57996e-04
],
[
-9.53654e-07
]
],
"type": "polynomial"
},
"description": "Texatherm22",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TX22",
"reference": "Texaco data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.44969e+03
],
[
3.63408e+00
],
[
-2.15068e-04
],
[
4.31912e-08
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-6.42744e+00
],
[
-9.74936e-03
],
[
8.86622e-06
],
[
-6.68305e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.88150e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.63150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
5.27406e-01
],
[
6.90906e-04
],
[
8.92857e-07
],
[
4.62963e-08
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.10200e+03
],
[
-4.00000e-01
],
[
-3.77465e-16
],
[
1.09433e-16
]
],
"type": "polynomial"
},
"description": "Tyfoxit 1.10, Potassium Acetate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TY10",
"reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.53500e+03
],
[
2.53770e+00
],
[
1.49468e-15
],
[
-5.55556e-04
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-1.58506e+00
],
[
-2.52464e-02
],
[
2.37797e-04
],
[
9.03306e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.83150e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.53150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.92000e-01
],
[
7.00000e-04
],
[
1.08420e-19
],
[
2.10218e-20
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.15400e+03
],
[
-4.00000e-01
],
[
9.99201e-16
],
[
-1.40061e-17
]
],
"type": "polynomial"
},
"description": "Tyfoxit 1.15, Potassium Acetate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TY15",
"reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.27333e+03
],
[
2.40873e+00
],
[
2.38095e-03
],
[
-2.77778e-04
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-1.16427e+00
],
[
-2.97894e-02
],
[
2.60284e-04
],
[
-6.52977e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.73150e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.54628e-01
],
[
6.59007e-04
],
[
-1.08225e-07
],
[
8.41751e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.20800e+03
],
[
-4.00000e-01
],
[
4.43981e-17
],
[
-1.11239e-17
]
],
"type": "polynomial"
},
"description": "Tyfoxit 1.20, Potassium Acetate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TY20",
"reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.03169e+03
],
[
2.25673e+00
],
[
-8.65801e-04
],
[
8.41751e-06
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-4.87692e-01
],
[
-3.68831e-02
],
[
3.94308e-04
],
[
-4.30389e-06
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 2.65650e+02,
"Tmax": 3.13150e+02,
"Tmin": 2.18150e+02,
"TminPsat": 3.13150e+02,
"conductivity": {
"coeffs": [
[
4.24482e-01
],
[
6.12252e-04
],
[
1.78240e-07
],
[
9.18762e-09
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.25100e+03
],
[
-4.00000e-01
],
[
-1.80811e-16
],
[
2.31477e-17
]
],
"type": "polynomial"
},
"description": "Tyfoxit 1.24, Potassium Acetate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "TY24",
"reference": "Tyforop Chemie Gmbh - Technical information 09/99, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.87008e+03
],
[
3.14283e+00
],
[
-2.44908e-03
],
[
-1.25780e-04
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
2.01528e-01
],
[
-4.51575e-02
],
[
3.92889e-04
],
[
-2.87396e-06
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.51553e+02
],
[
-1.85842e+02
],
[
-1.88064e+03
],
[
-1.85704e+04
]
],
"type": "polynomial"
},
"Tbase": 2.55650e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.18150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "VDI, Calcium Cloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "VCA",
"reference": "VDI Waermeatlas 9th Edition 2002, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.23000e-01,
"xid": 0,
"xmax": 2.99000e-01,
"xmin": 1.47000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.59276e+02
],
[
-9.97577e+01
],
[
-3.62413e+02
],
[
-9.06051e+02
]
],
"type": "polynomial"
},
"Tbase": 2.65650e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.38150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.17063e+02,
-1.19579e+02,
-4.36982e+02,
-3.24971e+03,
5.81008e+03,
1.47947e+05
],
[
1.71528e+00,
-4.07887e+00,
2.18953e+01,
1.14906e+02,
-7.20713e+02,
0.00000e+00
],
[
-5.71392e-03,
8.96222e-02,
5.77426e-02,
-3.07215e+00,
0.00000e+00,
0.00000e+00
],
[
1.72706e-04,
-1.23193e-03,
-3.94153e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.29289e+03,
9.16833e+02,
1.88572e+03,
-6.15684e+03,
-1.26580e+05,
7.03824e+05
],
[
-4.87418e-01,
-8.94253e-02,
-6.41866e+00,
6.97727e+01,
-1.46723e+02,
0.00000e+00
],
[
-1.39866e-03,
4.16013e-03,
3.80378e-01,
-2.95722e+00,
0.00000e+00,
0.00000e+00
],
[
2.92814e-05,
3.85164e-04,
-5.81051e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "VDI, Potassium Carbonate",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "VKC",
"reference": "VDI Waermeatlas 9th Edition 2002, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
2.93331e+03,
-2.55634e+03,
-2.56526e+03,
-4.95864e+03,
6.05861e+05,
-2.08219e+06
],
[
1.96111e+00,
-2.55885e-01,
-2.89544e+01,
2.36938e+02,
6.62966e+02,
0.00000e+00
],
[
-6.12804e-04,
-6.06474e-02,
1.58898e+00,
-9.27256e+00,
0.00000e+00,
0.00000e+00
],
[
2.49081e-04,
3.30957e-03,
-4.70119e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
6.41395e+00,
5.27562e+00,
9.24941e+00,
1.84313e+01,
-3.34658e+02,
-1.02693e+03
],
[
-4.38135e-02,
-6.52274e-02,
9.56212e-02,
2.38091e-01,
3.77050e+00,
0.00000e+00
],
[
5.44638e-05,
1.49093e-03,
-3.42275e-03,
-4.26004e-03,
0.00000e+00,
0.00000e+00
],
[
2.74813e-06,
-2.83323e-05,
-7.70172e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.58500e-01,
"xid": 0,
"xmax": 3.89000e-01,
"xmin": 1.28000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.17752e+02
],
[
-1.46751e+02
],
[
3.84740e+01
],
[
2.69781e+02
]
],
"type": "polynomial"
},
"Tbase": 2.33150e+02,
"Tmax": 2.73150e+02,
"Tmin": 1.93150e+02,
"TminPsat": 2.73150e+02,
"conductivity": {
"coeffs": [
[
3.66795e+02,
-2.23236e+02,
-7.05847e+01,
4.27703e+01,
9.39972e+02,
-1.66606e+03
],
[
-2.32456e-02,
-1.99709e+00,
-2.98154e-01,
8.15619e+00,
-1.17939e+01,
0.00000e+00
],
[
3.39242e-03,
-2.30289e-02,
6.08168e-02,
-5.84046e-02,
0.00000e+00,
0.00000e+00
],
[
-5.70715e-05,
1.47140e-04,
5.39129e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
9.52754e+02,
-1.60709e+02,
-7.50707e+01,
4.04322e+02,
-6.80173e+02,
-3.88944e+03
],
[
-6.48326e-01,
-6.58412e-01,
-1.73437e+00,
8.15567e+00,
-6.92437e+00,
0.00000e+00
],
[
2.15682e-03,
-3.07959e-02,
1.29771e-01,
-1.57903e-01,
0.00000e+00,
0.00000e+00
],
[
-4.05027e-05,
6.60746e-04,
-1.53627e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "VDI, Methanol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "VMA",
"reference": "VDI Waermeatlas 9th Edition 2002, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.34071e+03,
-2.17071e+03,
5.37063e+02,
-2.30353e+02,
1.85284e+03,
-7.86409e+03
],
[
2.44973e+00,
1.36834e+00,
-1.38372e+01,
3.61600e+01,
-2.26274e+01,
0.00000e+00
],
[
5.11093e-03,
-4.91227e-02,
1.53917e-01,
-1.64876e-01,
0.00000e+00,
0.00000e+00
],
[
-1.92552e-04,
1.96860e-03,
-4.33099e-03,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
7.59305e+00,
-4.75097e+00,
-1.24609e+00,
3.46990e+01,
-7.37816e+01,
3.20959e+00
],
[
-7.32430e-02,
1.97714e-01,
6.75779e-03,
-1.36883e+00,
1.98028e+00,
0.00000e+00
],
[
1.52710e-03,
-5.49008e-03,
6.48066e-04,
1.29535e-02,
0.00000e+00,
0.00000e+00
],
[
-1.94932e-05,
7.12028e-05,
-7.15218e-05,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 5.00000e-01,
"xid": 0,
"xmax": 9.00000e-01,
"xmin": 1.00000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.58296e+02
],
[
-2.26088e+02
],
[
-9.93167e+02
],
[
2.81407e+03
]
],
"type": "polynomial"
},
"Tbase": 2.66650e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.40150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "VDI, Magnesium Chloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "VMG",
"reference": "VDI Waermeatlas 9th Edition 2002, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.39000e-01,
"xid": 0,
"xmax": 2.06000e-01,
"xmin": 7.20000e-02
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.62056e+02
],
[
-9.62356e+01
],
[
-2.59960e+02
],
[
-1.22815e+03
]
],
"type": "polynomial"
},
"Tbase": 2.72650e+02,
"Tmax": 2.93150e+02,
"Tmin": 2.52150e+02,
"TminPsat": 2.93150e+02,
"conductivity": {
"coeffs": [
[
5.51750e+02,
-1.18175e+02,
-4.33983e+01,
3.41983e+04,
-1.80156e+04,
-5.18921e+06
],
[
1.45026e+00,
2.23903e+00,
1.48351e+02,
-1.58205e+02,
-2.57735e+04,
0.00000e+00
],
[
5.32309e-03,
-2.54046e-01,
-8.43666e-01,
3.15674e+01,
0.00000e+00,
0.00000e+00
],
[
-9.85834e-05,
-7.31296e-03,
4.52443e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.11735e+03,
7.69071e+02,
-4.37940e+02,
2.46236e+04,
9.58339e+04,
-2.97147e+06
],
[
-3.02326e-01,
-2.88373e+00,
1.36250e+01,
3.24123e+02,
-2.87035e+03,
0.00000e+00
],
[
6.40821e-04,
-7.77584e-02,
1.36249e+00,
-9.25222e+00,
0.00000e+00,
0.00000e+00
],
[
-2.57210e-04,
5.31669e-03,
-3.55179e-02,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "VDI, Sodium Chloride",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "VNA",
"reference": "VDI Waermeatlas 9th Edition 2002, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
3.54490e+03,
-2.88594e+03,
6.09082e+03,
-9.59798e+04,
-2.35230e+05,
9.40112e+06
],
[
1.07235e+00,
7.99143e+00,
-1.80744e+01,
-1.50689e+03,
8.48882e+03,
0.00000e+00
],
[
1.14299e-02,
-1.30079e-02,
-7.26329e+00,
7.25194e+01,
0.00000e+00,
0.00000e+00
],
[
-5.24701e-04,
-1.54372e-02,
2.25533e-01,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
5.44252e+00,
2.94480e+00,
-4.03612e+00,
2.51806e+02,
1.82000e+03,
-3.47949e+04
],
[
-3.60319e-02,
-3.75692e-03,
4.24139e-01,
-5.47277e+00,
-8.47767e+01,
0.00000e+00
],
[
6.83371e-04,
-6.97937e-03,
-4.30608e-04,
3.94870e-01,
0.00000e+00,
0.00000e+00
],
[
-1.67736e-05,
2.64377e-04,
3.17032e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 1.50500e-01,
"xid": 0,
"xmax": 2.31000e-01,
"xmin": 7.00000e-02
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.53150e+02,
"Tmax": 5.33150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 5.33150e+02,
"conductivity": {
"coeffs": [
[
9.72731e-02
],
[
-2.34149e-04
],
[
-1.43952e-07
],
[
1.12031e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.93646e+02
],
[
-1.02718e+00
],
[
1.63389e-07
],
[
1.03681e-09
]
],
"type": "polynomial"
},
"description": "SylthermXLT",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "XLT",
"reference": "Dow Chemicals data sheet",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.89774e+03
],
[
2.10000e+00
],
[
7.71754e-07
],
[
-2.55438e-16
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.42522e+00
],
[
-1.02902e-02
],
[
4.86718e-05
],
[
-1.75240e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 1.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,101 +0,0 @@
{
"T_freeze": {
"coeffs": "null",
"type": "notdefined"
},
"Tbase": 3.53150e+02,
"Tmax": 5.33150e+02,
"Tmin": 1.73150e+02,
"TminPsat": 5.33150e+02,
"conductivity": {
"coeffs": [
[
9.72756e-02
],
[
-2.34228e-04
],
[
-1.44018e-07
],
[
1.15366e-10
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
7.93649e+02
],
[
-1.02715e+00
],
[
9.21421e-09
],
[
-1.27044e-10
]
],
"type": "polynomial"
},
"description": "Syltherm XLT, Polydimethylsiloxan",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "XLT2",
"reference": "Dow Chemicals, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
1.89800e+03
],
[
2.10000e+00
],
[
0.00000e+00
],
[
1.12598e-16
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-5.36830e-01
],
[
-1.00016e-02
],
[
5.15899e-05
],
[
-1.95815e-07
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 0.00000e+00,
"xid": 4,
"xmax": 0.00000e+00,
"xmin": 0.00000e+00
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.70415e+02
],
[
-9.14459e+00
],
[
2.77844e+00
],
[
9.00803e-01
]
],
"type": "polynomial"
},
"Tbase": 3.23150e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.73150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
5.92222e-01,
-1.43257e-01,
-3.65136e-02,
-6.74159e-01,
7.65764e-01,
6.86196e+00
],
[
1.09612e-03,
-2.14974e-04,
-7.20597e-04,
-3.46075e-03,
1.28605e-03,
0.00000e+00
],
[
-5.33208e-06,
3.72373e-06,
-1.32283e-05,
2.64137e-05,
0.00000e+00,
0.00000e+00
],
[
-1.30580e-08,
-8.68958e-09,
2.34356e-07,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
1.00648e+03,
5.50988e+01,
-4.41852e+01,
2.80170e+02,
4.68309e+02,
-3.61174e+03
],
[
-4.93771e-01,
-1.85478e-01,
-3.15117e-01,
3.68206e-01,
3.95892e+00,
0.00000e+00
],
[
-5.28209e-03,
1.50099e-03,
1.31322e-02,
-5.92117e-02,
0.00000e+00,
0.00000e+00
],
[
-2.71803e-05,
-8.70885e-05,
1.39110e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Zitrec AC, Corrosion Inhibitor",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ZAC",
"reference": "Arteco, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
4.11666e+03,
-2.61962e+02,
-3.42019e+02,
-2.41742e+03,
2.48195e+03,
3.81225e+04
],
[
2.72527e-01,
-1.19036e+00,
-4.08183e+00,
2.12088e+01,
1.28013e+01,
0.00000e+00
],
[
1.09033e-02,
1.61494e-02,
-2.36017e-02,
-5.93769e-03,
0.00000e+00,
0.00000e+00
],
[
-1.70764e-04,
-8.07732e-05,
8.57711e-04,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
-7.13579e+00,
1.01426e+00,
7.04569e-02,
1.68367e+01,
5.49882e+00,
-2.19019e+02
],
[
-1.90535e-02,
-9.79333e-03,
-8.07330e-03,
6.24989e-02,
-2.38745e-01,
0.00000e+00
],
[
1.31693e-04,
1.12366e-04,
-1.58488e-04,
-1.72300e-03,
0.00000e+00,
0.00000e+00
],
[
6.99728e-07,
-3.78445e-08,
4.53519e-06,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 2.80000e-01,
"xid": 2,
"xmax": 5.00000e-01,
"xmin": 6.00000e-02
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.44400e+02
],
[
-1.28333e+02
],
[
-3.00000e+02
],
[
-6.66667e+02
]
],
"type": "polynomial"
},
"Tbase": 3.03150e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.33150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Zitrec FC, Propylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ZFC",
"reference": "Arteco, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 4.50000e-01,
"xid": 2,
"xmax": 6.00000e-01,
"xmin": 3.00000e-01
}

View File

@@ -1,194 +0,0 @@
{
"T_freeze": {
"coeffs": [
[
2.39733e+02
],
[
-1.49500e+02
],
[
-2.62143e+02
],
[
-2.00000e+02
]
],
"type": "polynomial"
},
"Tbase": 2.98150e+02,
"Tmax": 3.73150e+02,
"Tmin": 2.23150e+02,
"TminPsat": 3.73150e+02,
"conductivity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"density": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"description": "Zitrec LC, Propylene Glycol",
"mass2input": {
"coeffs": "null",
"type": "notdefined"
},
"mole2input": {
"coeffs": "null",
"type": "notdefined"
},
"name": "ZLC",
"reference": "Arteco, SecCool software",
"saturation_pressure": {
"coeffs": "null",
"type": "notdefined"
},
"specific_heat": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "polynomial"
},
"viscosity": {
"coeffs": [
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
],
[
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00,
0.00000e+00
]
],
"type": "exppolynomial"
},
"volume2input": {
"coeffs": "null",
"type": "notdefined"
},
"xbase": 5.00000e-01,
"xid": 2,
"xmax": 7.00000e-01,
"xmin": 3.00000e-01
}

Some files were not shown because too many files have changed in this diff Show More