OGS
ProcessLib::TES::FluidViscosityH2O Struct Reference

Detailed Description

Definition at line 106 of file TESOGS5MaterialModels.h.

#include <TESOGS5MaterialModels.h>

Static Public Member Functions

static double get (double rho, double T)
 

Static Private Member Functions

template<int i>
static double inner_loop (const double rho, const double T, const double(&h)[6][7])
 

Member Function Documentation

◆ get()

static double ProcessLib::TES::FluidViscosityH2O::get ( double rho,
double T )
inlinestatic

Definition at line 108 of file TESOGS5MaterialModels.h.

109 {
110 double my, my_0, my_1;
111 double H[4];
112
113 T = T / 647.096;
114 rho = rho / 322.0;
115
116 H[0] = 1.67752;
117 H[1] = 2.20462;
118 H[2] = 0.6366564;
119 H[3] = -0.241605;
120
121 double h[6][7] = {{0.0}};
122 h[0][0] = 0.520094000;
123 h[1][0] = 0.085089500;
124 h[2][0] = -1.083740000;
125 h[3][0] = -0.289555000;
126 h[0][1] = 0.222531000;
127 h[1][1] = 0.999115000;
128 h[2][1] = 1.887970000;
129 h[3][1] = 1.266130000;
130 h[5][1] = 0.120573000;
131 h[0][2] = -0.281378000;
132 h[1][2] = -0.906851000;
133 h[2][2] = -0.772479000;
134 h[3][2] = -0.489837000;
135 h[4][2] = -0.257040000;
136 h[0][3] = 0.161913000;
137 h[1][3] = 0.257399000;
138 h[0][4] = -0.032537200;
139 h[3][4] = 0.069845200;
140 h[4][5] = 0.008721020;
141 h[3][6] = -0.004356730;
142 h[5][6] = -0.000593264;
143
144 double sum1 = H[0] / mypow<0>(T);
145 sum1 += H[1] / mypow<1>(T);
146 sum1 += H[2] / mypow<2>(T);
147 sum1 += H[3] / mypow<3>(T);
148
149 my_0 = 100 * std::sqrt(T) / sum1;
150
151 double sum2 = inner_loop<0>(rho, T, h);
152 sum2 += inner_loop<1>(rho, T, h);
153 sum2 += inner_loop<2>(rho, T, h);
154 sum2 += inner_loop<3>(rho, T, h);
155 sum2 += inner_loop<4>(rho, T, h);
156 sum2 += inner_loop<5>(rho, T, h);
157
158 my_1 = std::exp(rho * sum2);
159
160 my = (my_0 * my_1) / 1e6;
161 return my;
162 }
@ rho
density. For some models, rho substitutes p
double mypow(const double x)
double mypow< 0 >(const double)
static double inner_loop(const double rho, const double T, const double(&h)[6][7])

References inner_loop(), ProcessLib::TES::mypow(), and ProcessLib::TES::mypow< 0 >().

Referenced by ProcessLib::TES::fluid_heat_conductivity(), and ProcessLib::TES::fluid_viscosity().

◆ inner_loop()

template<int i>
static double ProcessLib::TES::FluidViscosityH2O::inner_loop ( const double rho,
const double T,
const double(&) h[6][7] )
inlinestaticprivate

Definition at line 166 of file TESOGS5MaterialModels.h.

169 {
170 const double base = rho - 1.0;
171
172 double sum3 = h[i][0] * mypow<0>(base);
173 sum3 += h[i][1] * mypow<1>(base);
174 sum3 += h[i][2] * mypow<2>(base);
175 sum3 += h[i][3] * mypow<3>(base);
176 sum3 += h[i][4] * mypow<4>(base);
177 sum3 += h[i][5] * mypow<5>(base);
178 sum3 += h[i][6] * mypow<6>(base);
179
180 return mypow<i>(1 / T - 1) * sum3;
181 }

References ProcessLib::TES::mypow(), and ProcessLib::TES::mypow< 0 >().

Referenced by get().


The documentation for this struct was generated from the following file: