40 template <
typename Scalar>
41 int test_k(
const Scalar k,
const Scalar k_exact,
const Scalar tol )
47 const Scalar rel_error = abs( (k - k_exact)/k_exact);
51 std::cerr <<
"Error: Mismatch in thermal conductivity" << std::endl
52 <<
"k = " << k << std::endl
53 <<
"k_exact = " << k_exact << std::endl
54 <<
"rel_error = " << rel_error << std::endl
55 <<
"tol = " << tol << std::endl;
62 template <
typename Scalar>
65 std::vector<std::string> species_str_list;
66 const unsigned int n_species = 5;
67 species_str_list.reserve(n_species);
68 species_str_list.push_back(
"N2" );
69 species_str_list.push_back(
"O2" );
70 species_str_list.push_back(
"N" );
71 species_str_list.push_back(
"O" );
72 species_str_list.push_back(
"NO" );
74 const Scalar Mm_N = 14.008e-3L;
75 const Scalar Mm_O = 16.000e-3L;
76 const Scalar Mm_N2 = 2.L * Mm_N;
77 const Scalar Mm_O2 = 2.L * Mm_O;
78 const Scalar Mm_NO = Mm_N + Mm_O;
82 const Scalar R_N2 = Antioch::Constants::R_universal<Scalar>()/Mm_N2;
83 const Scalar R_O2 = Antioch::Constants::R_universal<Scalar>()/Mm_O2;
84 const Scalar R_N = Antioch::Constants::R_universal<Scalar>()/Mm_N;
85 const Scalar R_O = Antioch::Constants::R_universal<Scalar>()/Mm_O;
86 const Scalar R_NO = Antioch::Constants::R_universal<Scalar>()/Mm_NO;
92 const Scalar mu = 3.14e-3;
95 const Scalar k_N2_trans_exact = 2.5*mu*1.5*R_N2;
96 const Scalar k_N_trans_exact = 2.5*mu*1.5*R_N;
97 const Scalar k_O2_trans_exact = 2.5*mu*1.5*R_O2;
98 const Scalar k_O_trans_exact = 2.5*mu*1.5*R_O;
99 const Scalar k_NO_trans_exact = 2.5*mu*1.5*R_NO;
103 const Scalar tol = std::numeric_limits<Scalar>::epsilon() * 2;
105 int return_flag_temp = 0;
106 return_flag_temp =
test_k( k.
trans(0, mu), k_N2_trans_exact, tol );
107 if( return_flag_temp != 0 ) return_flag = 1;
109 return_flag_temp =
test_k( k.
trans(1, mu), k_O2_trans_exact, tol );
110 if( return_flag_temp != 0 ) return_flag = 1;
112 return_flag_temp =
test_k( k.
trans(2, mu), k_N_trans_exact, tol );
113 if( return_flag_temp != 0 ) return_flag = 1;
115 return_flag_temp =
test_k( k.
trans(3, mu), k_O_trans_exact, tol );
116 if( return_flag_temp != 0 ) return_flag = 1;
118 return_flag_temp =
test_k( k.
trans(4, mu), k_NO_trans_exact, tol );
119 if( return_flag_temp != 0 ) return_flag = 1;
126 return (tester<double>() ||
int test_k(const Scalar k, const Scalar k_exact, const Scalar tol)
trans(const unsigned int s, const StateType &mu) const ANTIOCH_AUTOFUNC(StateType
Species conductivity based on Eucken relation.
Class storing chemical mixture properties.