27 #ifndef ANTIOCH_KINETICS_THEORY_THERMAL_CONDUCTIVITY_H
28 #define ANTIOCH_KINETICS_THEORY_THERMAL_CONDUCTIVITY_H
43 template <
typename ThermoEvaluator,
typename CoeffType>
54 void reset_coeffs(
const std::vector<CoeffType> & coeffs);
56 template <
typename StateType>
58 trans(
const unsigned int s,
const StateType& mu,
const StateType &
T,
const StateType & rho,
const StateType & Dss)
const
61 template <typename StateType>
66 template <typename StateType>
71 const ThermoEvaluator& thermo()
const
84 template <
typename StateType>
88 template <typename StateType>
90 op_no_diff_impl( const
unsigned int s, const StateType& mu, const StateType & T ) const;
94 template <typename StateType>
97 A(const StateType & rho_times_self_diff_over_mu) const
100 template <typename StateType>
103 B(
unsigned int s, const StateType & T, const StateType & rho_times_self_diff_over_mu) const
105 rho_times_self_diff_over_mu ) )
122 template <typename ThermoEvaluator, typename CoeffType>
124 KineticsTheoryThermalConductivity<ThermoEvaluator,CoeffType>::KineticsTheoryThermalConductivity(const ThermoEvaluator & t, CoeffType Z_298K, CoeffType LJ_depth)
127 _rot(Z_298K,LJ_depth),
128 five_over_two(CoeffType(5)/CoeffType(2)),
129 five_over_three(CoeffType(5)/CoeffType(3)),
130 two_over_pi(2/Constants::
pi<CoeffType>()),
134 template <
typename ThermoEvaluator,
typename CoeffType>
139 _rot(coeffs[0],coeffs[1]),
146 template <
typename ThermoEvaluator,
typename CoeffType>
152 _rot.reset_coeffs(coeffs[0],coeffs[1]);
155 template <
typename ThermoEvaluator,
typename CoeffType>
162 template <
typename ThermoEvaluator,
typename CoeffType>
163 template <
typename StateType>
166 KineticsTheoryThermalConductivity<ThermoEvaluator,CoeffType>::op_with_diff_impl(const
unsigned int s, const StateType& mu_s, const StateType & T, const StateType & rho_s, const StateType & Dss)
const
168 StateType rho_d_m = rho_s * Dss / mu_s;
169 StateType A_B = two_over_pi * this->
A(rho_d_m) / this->
B(s, T, rho_d_m);
171 return ( mu_s * this->_thermo.cv_trans(s) * five_over_two * (one - this->_thermo.cv_rot_over_R(s) / this->_thermo.cv_trans_over_R(s) * A_B) +
172 rho_s * Dss * ( this->_thermo.cv_rot(s) * (one + A_B) +
173 this->_thermo.cv_vib(s,T) ) );
176 template <
typename ThermoEvaluator,
typename CoeffType>
177 template <
typename StateType>
186 return trans(s,mu,T,mu,mu);
RotationalRelaxation< CoeffType > _rot
const ThermoEvaluator & _thermo
const CoeffType five_over_two
const const StateType const StateType & T
const const StateType & mu_s
#define antioch_assert_equal_to(expr1, expr2)
void reset_coeffs(const std::vector< CoeffType > &coeffs)
const ANTIOCH_AUTO(StateType) EuckenThermalConductivity< ThermoEvaluator > return trans(s, mu_s)
const CoeffType two_over_pi
Conductivity based on kinetic theory of mixtures approximations.
const const StateType const StateType const StateType & rho_s
trans(const unsigned int s, const StateType &mu, const StateType &T, const StateType &rho, const StateType &Dss) const ANTIOCH_AUTOFUNC(StateType
const RotationalRelaxation< CoeffType > & rot() const
const ref to the rotational relaxation
const ANTIOCH_AUTO(StateType) op_with_diff_impl(unsigned int s
const const StateType const StateType &rho_times_self_diff_over_mu const ANTIOCH_AUTOFUNC(StateType, _rot(T)+two_over_pi *(five_over_three *this->_thermo.cv_rot_over_R(s)+rho_times_self_diff_over_mu)) KineticsTheoryThermalConductivity()
never ever use it
~KineticsTheoryThermalConductivity()
Base class for species conducitivity models.
const ANTIOCH_AUTO(StateType) KineticsTheoryThermalConductivity< ThermoEvaluator
const const StateType const StateType const StateType const StateType &Dss const
KineticsTheoryThermalConductivity(const ThermoEvaluator &t, CoeffType Z_298K, CoeffType LJ_depth)
The parameters are reduced parameters.
const A(const StateType &rho_times_self_diff_over_mu) const template< typename StateType > const B(unsigned int s
op_no_diff_impl(const unsigned int s, const StateType &mu, const StateType &T) const
const CoeffType five_over_three