50 double Property(
double T,
dVector A) {
51 return A[0] + A[1] * T + A[2] *
pow2(T) + A[3] *
pow3(T) + A[4] * log(T) + A[5] / T + A[6] /
pow2(T);
55 double fun_mu(
double T);
57 double fun_k(
double T);
59 double fun_g(
double T);
61 double fun_mu(
double T,
dVector _X);
63 double fun_k(
double T,
dVector _X);
65 double fun_g(
double T,
dVector _X);
67 double fun_rho(
double T);
69 double fun_rho(
double p,
double T);
71 double fun_Pr(
double T);
73 double fun_Pr(
double T,
dVector _X);
75 void virtual CalcProperties(
double p,
double T) = 0;
86 double fun_mu(
double T) {
90 A[1] = 0.000000214683;
91 A[2] = -0.000000000226615;
97 return Property(T, A);
100 double fun_k(
double T) {
105 A[2] = -0.000000020381;
111 return Property(T, A);
114 double fun_Cp(
double T) {
120 Cp = (1 - x) * fun_Cp_AirS(T) + x * fun_Cp_W(T);
123 Cp = (1 - x) * fun_Cp_AirS(T) + x * fun_Cp_Gas(T);
128 double fun_Cp_AirS(
double T) {
129 return -10.4199 * sqrt(T) + 2809.87 - 67227.1 / sqrt(T) + 917124.4 / T - 4174853.6 /
pow150(T);
132 double fun_Cp_W(
double T) {
133 return -41.9055 * sqrt(T) + 10447.493 - 382002.49 / sqrt(T) + 6456647.7 / T - 37951136.5 /
pow150(T);
136 double fun_Cp_Gas(
double T) {
137 return 926.554 + 0.43045 * T - 0.0001125 *
pow2(T) + 0.000000008979 *
pow3(T);
140 double fun_g(
double T) {
141 return fun_Cp(T) / (fun_Cp(T) - fun_R());
149 R_Air = (1 - x) * 287 + x * 462.1762;
152 R_Air = (1 - x) * 287 + x * 285.4;
157 double fun_rho(
double p,
double T) {
158 return (100000 * p) / (fun_R() * T);
161 double fun_Pr(
double T) {
162 return fun_mu(T) * fun_Cp(T) / fun_k(T);
165 void CalcProperties(
double p,
double T) {
184 mu_c1 = 0.0115374825;
189 double fun_rho(
double T) {
200 return Property(T, A);
203 double fun_Cp(
double T) {
214 return Property(T, A);
217 double fun_mu(
double T) {
218 return mu_c1 * exp(mu_c2 / (T - mu_c3));
221 double fun_k(
double T) {
232 return Property(T, A);
235 double fun_Pr(
double T) {
236 return fun_mu(T) * fun_Cp(T) / fun_k(T);
239 void CalcProperties(
double p,
double T) {
255 double fun_mu(
double T) {
257 return 3.117996E-11 *
pow2(
pow2(T)) - 4.275045E-08 *
pow3(T) + 2.202288E-05 *
pow2(T) - 5.057924E-03 * T + 4.378690E-01;
260 double fun_Cp(
double T) {
263 double T_K = __units::degCToK(T);
264 return 1987087.20115782 + T_K * (4493.2068586048 + T_K * (-6.72837895716355 + T_K * 0.00446936120713534)) -
265 498966.339389734 * log(T_K);
268 double fun_rho(
double p,
double T) {
269 return -1.374183E-07 *
pow2(
pow2(T)) + 1.937996E-04 *
pow3(T) - 1.050544E-01 *
pow2(
270 T) + 2.527211E+01 * T - 1.249635E+03;
273 double fun_k(
double T) {
277 double fun_Pr(
double T) {
278 return fun_mu(T) * fun_Cp(T) / fun_k(T);
281 void CalcProperties(
double p,
double T) {
297 double fun_mu(
double T) {
301 A[1] = 0.000000214683;
302 A[2] = -0.000000000226615;
304 A[4] = -0.0000218018;
308 return Property(T, A);
311 double fun_k(
double T) {
316 A[2] = -0.000000020381;
322 return Property(T, A);
325 double fun_Cp(
double T) {
326 return -10.4199 * sqrt(T) + 2809.87 - 67227.1 / sqrt(T) + 917124.4 / T - 4174853.6 /
pow150(T);
329 double fun_g(
double T) {
330 return fun_Cp(T) / (fun_Cp(T) - fun_R());
341 double fun_rho(
double p,
double T) {
342 return (100000 * p) / (fun_R() * T);
345 double fun_Pr(
double T) {
346 return fun_mu(T) * fun_Cp(T) / fun_k(T);
349 void CalcProperties(
double p,
double T) {
366 double fun_mu(
double T) {
370 A[1] = 0.000000214683;
371 A[2] = -0.000000000226615;
373 A[4] = -0.0000218018;
377 return Property(T, A);
380 double fun_k(
double T) {
385 A[2] = -0.000000020381;
391 return Property(T, A);
394 double fun_Cp(
double T) {
395 return 926.554 + 0.43045 * T - 0.0001125 *
pow2(T) + 0.000000008979 *
pow3(T);
398 double fun_g(
double T) {
399 return fun_Cp(T) / (fun_Cp(T) - fun_R());
410 double fun_rho(
double p,
double T) {
411 return (100000 * p) / (fun_R() * T);
414 double fun_Pr(
double T) {
415 return fun_mu(T) * fun_Cp(T) / fun_k(T);
418 void CalcProperties(
double p,
double T) {
456 double fun_mu(
double T) {
457 return X[0] * X0_wat.fun_mu(T) + X[1] * X1_gas.fun_mu(T) + (1 - X[0] - X[1]) * X2_air.fun_mu(T);
460 double fun_mu(
double T,
dVector _X) {
461 return _X[0] * X0_wat.fun_mu(T) + _X[1] * X1_gas.fun_mu(T) + (1 - X[0] - X[1]) * X2_air.fun_mu(T);
464 double fun_Cp(
double T) {
465 return X[0] * X0_wat.fun_Cp(T) + X[1] * X1_gas.fun_Cp(T) + (1 - X[0] - X[1]) * X2_air.fun_Cp(T);
468 double fun_Cp(
double T,
dVector _X) {
469 return _X[0] * X0_wat.fun_Cp(T) + _X[1] * X1_gas.fun_Cp(T) + (1 - X[0] - X[1]) * X2_air.fun_Cp(T);
473 return X[1] * X1_gas.fun_R() + (1 - X[1]) * X2_air.fun_R();
477 return _X[1] * X1_gas.fun_R() + (1 - _X[1]) * X2_air.fun_R();
480 double fun_Pr(
double T) {
481 return fun_mu(T) * fun_Cp(T) / fun_k(T);
484 double fun_Pr(
double T,
dVector _X) {
485 return fun_mu(T, _X) * fun_Cp(T, _X) / fun_k(T, _X);
488 double fun_g(
double T) {
489 return fun_Cp(T) / (fun_Cp(T) - fun_R());
492 double fun_g(
double T,
dVector _X) {
493 return fun_Cp(T, _X) / (fun_Cp(T, _X) - fun_R(_X));
496 void CalcProperties(
double p,
double T) {