OGS
ProcessLib::TES::FluidHeatConductivityH2O Struct Reference

Detailed Description

Definition at line 299 of file TESOGS5MaterialModels.h.

#include <TESOGS5MaterialModels.h>

Static Public Member Functions

static double get (double rho, double T)
 

Static Private Member Functions

template<unsigned i>
static double loop_term (const double T)
 

Static Private Attributes

static const double a [4]
 

Member Function Documentation

◆ get()

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

Definition at line 301 of file TESOGS5MaterialModels.h.

302 {
303 double S, Q;
304 double b[3], B[2], d[4], C[6];
305
306 T /= 647.096;
307 rho /= 317.11;
308
309 b[0] = -0.397070;
310 b[1] = 0.400302;
311 b[2] = 1.060000;
312
313 B[0] = -0.171587;
314 B[1] = 2.392190;
315
316 d[0] = 0.0701309;
317 d[1] = 0.0118520;
318 d[2] = 0.00169937;
319 d[3] = -1.0200;
320
321 C[0] = 0.642857;
322 C[1] = -4.11717;
323 C[2] = -6.17937;
324 C[3] = 0.00308976;
325 C[4] = 0.0822994;
326 C[5] = 10.0932;
327
328 const double sum1 = loop_term<0>(T) + loop_term<1>(T) +
330
331 const double lambda_0 = std::sqrt(T) * sum1;
332 const double lambda_1 =
333 b[0] + b[1] * rho +
334 b[2] * std::exp(B[0] * (rho + B[1]) * (rho + B[1]));
335
336 const double dT = fabs(T - 1) + C[3];
337 const double dT_pow_3_5 = std::pow(dT, 3. / 5.);
338 Q = 2 + (C[4] / dT_pow_3_5);
339
340 if (T >= 1)
341 {
342 S = 1 / dT;
343 }
344 else
345 {
346 S = C[5] / dT_pow_3_5;
347 }
348
349 const double rho_pow_9_5 = std::pow(rho, 9. / 5.);
350 const double rho_pow_Q = std::pow(rho, Q);
351 const double T_pow_3_2 = T * std::sqrt(T);
352 const double lambda_2 =
353 (d[0] / mypow<10>(T) + d[1]) * rho_pow_9_5 *
354 std::exp(C[0] * (1 - rho * rho_pow_9_5)) +
355 d[2] * S * rho_pow_Q *
356 std::exp((Q / (1. + Q)) * (1 - rho * rho_pow_Q)) +
357 d[3] * std::exp(C[1] * T_pow_3_2 + C[2] / mypow<5>(rho));
358
359 return lambda_0 + lambda_1 + lambda_2; // lambda in [W/m/K]
360 }
@ rho
density. For some models, rho substitutes p
double mypow(const double x)

References loop_term(), and ProcessLib::TES::mypow().

Referenced by ProcessLib::TES::fluid_heat_conductivity().

◆ loop_term()

template<unsigned i>
static double ProcessLib::TES::FluidHeatConductivityH2O::loop_term ( const double T)
inlinestaticprivate

Definition at line 364 of file TESOGS5MaterialModels.h.

365 {
366 return a[i] * mypow<i>(T);
367 }

References a, and ProcessLib::TES::mypow().

Referenced by get().

Member Data Documentation

◆ a

const double ProcessLib::TES::FluidHeatConductivityH2O::a
staticprivate
Initial value:
= {0.0102811, 0.0299621, 0.0156146,
-0.00422464}

Definition at line 369 of file TESOGS5MaterialModels.h.

Referenced by loop_term().


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