1#ifndef MODEL_GAS_THERMO_H_
2#define MODEL_GAS_THERMO_H_
15template<
typename... OBJ>
19 std::tuple<OBJ...>
obj;
20 static constexpr const char*
names[] = { OBJ::name... };
29 if constexpr (I <
sizeof...(OBJ))
32 return std::get<I>(
obj).cp_mol(T,
X,i,j,k);
34 return cp_mol<I+1>(T,
X,i,j,k);
47 if constexpr (I <
sizeof...(OBJ))
50 return std::get<I>(
obj).enthalpy_mol(T,
X,i,j,k);
52 return enthalpy_mol<I+1>(T,
X,i,j,k);
64 if constexpr (I <
sizeof...(OBJ))
67 return std::get<I>(
obj).entropy_mol(T,
X,i,j,k);
69 return entropy_mol<I+1>(T,
X,i,j,k);
AMREX_FORCE_INLINE double cp_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
AMREX_FORCE_INLINE double entropy_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
AMREX_FORCE_INLINE double enthalpy_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const
static constexpr const char * names[]
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
void Abort(const char *msg)