1#ifndef MODEL_GAS_TRANSPORT_H_
2#define MODEL_GAS_TRANSPORT_H_
14template<
typename... OBJ>
18 std::tuple<OBJ...>
obj;
19 static constexpr const char*
names[] = { OBJ::name... };
29 if constexpr (I <
sizeof...(OBJ))
31 if (
selected == I)
return std::get<I>(
obj).dynamic_viscosity(T,
X,i,j,k);
32 else return dynamic_viscosity<I+1>(T,
X,i,j,k);
45 if constexpr (I <
sizeof...(OBJ))
47 if (
selected == I)
return std::get<I>(
obj).thermal_conductivity(T,
X,i,j,k);
48 else return thermal_conductivity<I+1>(T,
X,i,j,k);
61 if constexpr (I <
sizeof...(OBJ))
63 if (
selected == I)
return std::get<I>(
obj).diffusion_coeffs(DKM,T,P,
X,i,j,k);
64 else return diffusion_coeffs<I+1>(DKM,T,P,
X,i,j,k);
AMREX_FORCE_INLINE void diffusion_coeffs(Set::Patch< Set::Scalar > &DKM, double T, double P, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
AMREX_FORCE_INLINE double dynamic_viscosity(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
static constexpr const char * names[]
AMREX_FORCE_INLINE double thermal_conductivity(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
void Abort(const char *msg)