32 #ifndef ANTIOCH_BLOTTNER_VISCOSITY_H
33 #define ANTIOCH_BLOTTNER_VISCOSITY_H
46 template<
typename CoeffType=
double>
47 class BlottnerViscosity :
public SpeciesViscosityBase<BlottnerViscosity<CoeffType>,CoeffType>
57 void reset_coeffs(
const CoeffType a,
const CoeffType b,
const CoeffType c );
64 template <
typename StateType>
65 StateType
op_impl(
const StateType& T )
const;
76 template <
typename StateType>
89 template<
typename CoeffType>
99 template<
typename CoeffType>
102 _a(-1.0), _b(-1.0), _c(-1.0)
111 template<
typename CoeffType>
114 os << 0.1 <<
"*exp(" << _a <<
"*(logT)^2 + " << _b <<
"*logT + " << _c <<
")" << std::endl;
120 template<
typename CoeffType>
121 template<
typename StateType>
127 StateType logT = log(T);
128 const CoeffType zero_point_one = 0.1L;
130 return zero_point_one*exp( (_a*logT + _b)*logT + _c );
133 template<
typename CoeffType>
145 template<
typename CoeffType>
150 this->reset_coeffs( coeffs[0], coeffs[1], coeffs[2] );
153 template<
typename CoeffType>
154 template <
typename StateType>
163 #endif //ANTIOCH_BLOTTNER_VISCOSITY_H
Base class for species viscosity models.
#define antioch_assert_equal_to(expr1, expr2)
void reset_coeffs_impl(const std::vector< CoeffType > coeffs)
virtual ~BlottnerViscosity()
StateType op_impl(const StateType &T) const
#define antioch_error_msg(errmsg)
void reset_coeffs(const CoeffType a, const CoeffType b, const CoeffType c)
The parameters are reduced parameters.
void print_impl(std::ostream &os) const
void extrapolate_max_temp_impl(const StateType &Tmax)
No extrapolation needed.