-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsolution_definitions.py
More file actions
122 lines (104 loc) · 8.23 KB
/
Copy pathsolution_definitions.py
File metadata and controls
122 lines (104 loc) · 8.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import numpy as np
from fit import ActivityVsMfsParametrisation, DensityVsMassFractionFit
import chemicals
from solution import Solution
from water import water
NaCl_molar_mass = chemicals.periodic_table.Na.MW + chemicals.periodic_table.Cl.MW
aqueous_NaCl = Solution(water, 58.44, 2, 0.3, 2170,
DensityVsMassFractionFit([998.2, -55.33776, 1326.69542, -2131.05669, 2895.88613, -940.62808]),
ActivityVsMfsParametrisation(np.flipud(
[48.5226539, -158.04388699, 186.59427048, -93.88696437, 19.28939256, -2.99894206,
-0.47652352, 1.])), 1.5442)
aqueous_NaCl_a_ideal = Solution(water, 58.44, 2, 0.3, 2170,
DensityVsMassFractionFit(
[998.2, -55.33776, 1326.69542, -2131.05669, 2895.88613, -940.62808]),
ActivityVsMfsParametrisation(np.flipud(
[48.5226539, -158.04388699, 186.59427048, -93.88696437, 19.28939256, -2.99894206,
-0.47652352, 1.])), 1.5442)
aqueous_NaCl_d_linear = Solution(water, 58.44, 2, 0.3, 2170,
DensityVsMassFractionFit([998.2, 1162]),
ActivityVsMfsParametrisation(np.flipud(
[48.5226539, -158.04388699, 186.59427048, -93.88696437, 19.28939256, -2.99894206,
-0.47652352, 1.])), 1.5442)
aqueous_NaCl_d_half = Solution(water, 58.44, 2, 0.3, 2170,
DensityVsMassFractionFit(
[998.2, 0.5 * -55.33776, 0.5 * 1326.69542, 0.5 * -2131.05669, 0.5 * 2895.88613,
0.5 * -940.62808]),
ActivityVsMfsParametrisation(np.flipud(
[48.5226539, -158.04388699, 186.59427048, -93.88696437, 19.28939256, -2.99894206,
-0.47652352, 1.])), 1.5442)
# Other inorganic salts
aqueous_KCl = Solution(water, 74.5513, 2, 0.25, 1980,
DensityVsMassFractionFit([996.75598478, 28.58359584, 471.74984825, 324.24333223]),
ActivityVsMfsParametrisation(np.flipud(
[9.38399042e+03, -5.29769730e+04, 1.17504454e+05, -1.21998524e+05, 4.09435471e+04,
3.25878163e+04, -3.45994305e+04, 5.81753302e+03, 6.89074445e+03, -4.69316888e+03,
1.31490992e+03, -1.87352995e+02, 1.21808905e+01, -7.26450632e-01, 1.00000000e+00])), 1.4904)
aqueous_NaI = Solution(water, 149.89, 2, 0.65, 3670,
DensityVsMassFractionFit([992.70440241, 119.97468447, 308.3296718, 977.06460272]),
ActivityVsMfsParametrisation(np.flipud(
[-4.58977533e+03, 2.36936878e+04, -5.04825135e+04, 5.64293503e+04, -3.40855148e+04,
9.50188876e+03, -2.49232286e+02, 1.20624905e+02, -5.53378784e+02, 2.59324280e+02,
-4.65900167e+01, 1.36924533e+00, 6.38800214e-04, -2.41266758e-01, 1.00000000e+00])), 1.7748)
aqueous_KI = Solution(water, 166.0028, 2, 0.6, 3120,
DensityVsMassFractionFit([988.83030777, 158.42666625, -32.49513622, 1256.6891563]),
ActivityVsMfsParametrisation(np.flipud(
[-4.95757159e+03, 1.99508232e+04, -2.87027928e+04, 1.23204357e+04, 1.07871868e+04,
-1.39672501e+04, 4.01678577e+03, 1.60042543e+03, -1.31354702e+03, 2.61615629e+02,
1.39094494e+01, -1.19736506e+01, 1.19828942e+00, -2.44979095e-01, 1.00000000e+00])), 1.6663)
aqueous_LiNO3 = Solution(water, 68.946, 2, 0.34, 2380,
DensityVsMassFractionFit(
[998.56832988, -60.79985016, 1005.61549769, -1085.10992993, 1177.67900264]),
ActivityVsMfsParametrisation(np.flipud(
[-4.23252154e+03, 2.17183817e+04, -4.34823030e+04, 3.84652543e+04, -4.46004526e+03,
-1.98879519e+04, 1.58595251e+04, -2.97181926e+03, -2.16742018e+03, 1.52132958e+03,
-4.12257237e+02, 5.37352358e+01, -4.51076657e+00, -3.96785308e-01, 1.00000000e+00])),
1.735)
aqueous_NaNO3 = Solution(water, 84.9947, 2, 0.48, 2260,
DensityVsMassFractionFit(
[990.53882439, 181.01413995, -494.89819949, 2895.56981334, -2999.14475279, 1526.74834627]),
ActivityVsMfsParametrisation(np.flipud(
[-3.59764720e+03, 1.72951494e+04, -3.34613879e+04, 3.18176263e+04, -1.33409555e+04,
4.79558719e+02, -6.59464410e+02, 3.23488952e+03, -2.47664569e+03, 8.20527382e+02,
-1.11013532e+02, -3.11492521e+00, 1.99338440e+00, -5.15557822e-01, 1.00000000e+00])),
1.587)
aqueous_KNO3 = Solution(water, 101.1032, 2, 0.28, 2110,
DensityVsMassFractionFit([997.1673202, 23.13666049, 473.87886124, 339.61281717]),
ActivityVsMfsParametrisation(np.flipud(
[-8.01841811e+02, 3.13053769e+03, -4.26110013e+03, 1.64775304e+03, 1.22569565e+03,
-9.07034756e+02, -4.36504870e+02, 4.65383398e+02, 4.83605721e+01, -1.76260611e+02,
7.87046110e+01, -1.60383987e+01, 1.70555883e+00, -3.59952132e-01, 1.00000000e+00])),
1.5056)
aqueous_RbNO3 = Solution(water, 147.473, 2, 0.39, 3110,
DensityVsMassFractionFit([995.49397656, 85.49864715, 81.33053489, 991.79067905]),
ActivityVsMfsParametrisation(
np.flipud([-4.39043562, 5.41778218, -2.08008163, 0.23378074, -0.18104567, 1.])), 1.524)
aqueous_Na2SO4 = Solution(water, 142.04, 3, 0.3, 2660,
DensityVsMassFractionFit(
[9.98003117e+02, -8.65783619e+01, 4.30749205e+03, -6.52155268e+04, 4.97341694e+05,
-2.05621390e+06, 5.05960147e+06, -7.64562419e+06, 6.97822368e+06, -3.53493475e+06,
7.64101736e+05]),
ActivityVsMfsParametrisation(np.flipud(
[3.10491640e+03, -1.44633278e+04, 2.68928321e+04, -2.45145530e+04, 9.77420691e+03,
6.35871766e+02, -2.05298685e+03, 7.51626505e+02, -1.46748722e+02, -2.89668158e+00,
3.55591961e+01, -1.87591912e+01, 3.63716532e+00, -3.77883865e-01, 1.00000000e+00, ])),
1.468)
aqueous_K2SO4 = Solution(water, 174.259, 3, 0.11, 2660,
DensityVsMassFractionFit([997.84866879, 8.23246363, 734.54615575, 210.64816357]),
ActivityVsMfsParametrisation(np.flipud(
[-1.88138199e+04, 1.03068495e+05, -2.30116240e+05, 2.59420208e+05, -1.35783431e+05,
-1.76822793e+03, 3.89160605e+04, -1.51183352e+04, -2.22686968e+03, 3.33557836e+03,
-1.05936351e+03, 1.55377081e+02, -1.04407278e+01, 9.55263257e-03, 1.00000000e+00])),
1.495)
aqueous_MgSO4 = Solution(water, 120.366, 2, 0.17, 2660,
DensityVsMassFractionFit([995.05558478, 63.40780942, 634.1079356, 780.69806718]),
ActivityVsMfsParametrisation(np.flipud(
[-4.59916396e+02, 2.85037407e+03, -6.28221570e+03, 5.52474650e+03, -1.06307021e+02,
-2.80056023e+03, 8.45576689e+02, 1.19994793e+03, -1.10241166e+03, 3.97510492e+02,
-6.70379431e+01, -1.16460310e+00, 6.20603120e-01, -1.62727222e-01, 1.00000000e+00])),
1.523)
aqueous_ammonium_sulfate = Solution(water, 132.1395, 3, 0.706, 1769, DensityVsMassFractionFit(np.flipud([226.25500764, -608.16739502, 491.53895936, 421.04298406, 16.65801575,
997.3889799])
), ActivityVsMfsParametrisation(np.flipud([-28.15630782, 88.73404482, -107.41329752, 65.17689412, -22.50820346,
3.77943941, -0.56985704, 1.00629711])
), 1.523)