OGS
ProcessLib::TES::FluidViscosityN2 Struct Reference

Detailed Description

Definition at line 51 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 loop1_term (double T_star)
 
template<unsigned i>
static double loop2_term (double rho)
 

Static Private Attributes

static const double A [5]
 
static const double C [5]
 

Member Function Documentation

◆ get()

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

Definition at line 53 of file TESOGS5MaterialModels.h.

54 {
55 const double rho_c = 314; // [kg/m3]
56 const double CVF = 14.058; // [1e-3 Pa-s]
57
58 const double sigma = 0.36502496e-09;
59 const double k = 1.38062e-23;
60 const double eps = 138.08483e-23;
61 const double c1 = 0.3125;
62 const double c2 = 2.0442e-49;
63
64 const double T_star = T * k / eps;
65 rho = rho / rho_c;
66
67 double Omega = loop1_term<0>(T_star);
68 Omega += loop1_term<1>(T_star);
69 Omega += loop1_term<2>(T_star);
70 Omega += loop1_term<3>(T_star);
71 Omega += loop1_term<4>(T_star);
72
73 Omega = std::exp(Omega);
74
75 // eta in [Pa*s]
76 const double eta_0 = c1 * std::sqrt(c2 * T) / (sigma * sigma * Omega);
77
78 double sum = loop2_term<2>(rho);
79 sum += loop2_term<3>(rho);
80 sum += loop2_term<4>(rho);
81
82 //
83 const double eta_r =
84 CVF * 1e-6 * (C[0] / (rho - C[1]) + C[0] / C[1] + sum);
85
86 return eta_0 + eta_r; // [Pa*s]
87 }
@ rho
density. For some models, rho substitutes p
static double loop1_term(double T_star)

References C, loop1_term(), and loop2_term().

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

◆ loop1_term()

template<unsigned i>
static double ProcessLib::TES::FluidViscosityN2::loop1_term ( double T_star)
inlinestaticprivate

Definition at line 91 of file TESOGS5MaterialModels.h.

92 {
93 return A[i] * mypow<i>(log(T_star));
94 }
double mypow(const double x)

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

Referenced by get().

◆ loop2_term()

template<unsigned i>
static double ProcessLib::TES::FluidViscosityN2::loop2_term ( double rho)
inlinestaticprivate

Definition at line 97 of file TESOGS5MaterialModels.h.

98 {
99 return C[i] * mypow<i - 1>(rho);
100 }

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

Referenced by get().

Member Data Documentation

◆ A

const double ProcessLib::TES::FluidViscosityN2::A
staticprivate
Initial value:
= {0.46649, -0.57015, 0.19164, -0.03708,
0.00241}

Definition at line 102 of file TESOGS5MaterialModels.h.

Referenced by loop1_term().

◆ C

const double ProcessLib::TES::FluidViscosityN2::C
staticprivate
Initial value:
= {-20.09997, 3.4376416, -1.4470051,
-0.027766561, -0.21662362}

Definition at line 103 of file TESOGS5MaterialModels.h.

Referenced by get(), and loop2_term().


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