Alamo
Thermo.H
Go to the documentation of this file.
1#ifndef MODEL_GAS_THERMO_H_
2#define MODEL_GAS_THERMO_H_
3
4#include <vector>
5#include <memory>
6#include "Set/Set.H"
7#include <cmath>
8
9namespace Model {
10namespace Gas {
11namespace Thermo {
12
13class Thermo {
14protected:
15
16public:
17 Thermo() {} ;
18 virtual ~Thermo() = default;
19 virtual const char* model_name() const = 0;
20
21 // Specific heat (constant pressure), J/(kmol-K)
22 virtual double cp_mol(double T, Set::Patch<const Set::Scalar>& X, int i, int j, int k) const = 0;
23 // Specific enthalpy, J/kmol)
24 virtual double enthalpy_mol(double T, Set::Patch<const Set::Scalar>& X, int i, int j, int k) const = 0;
25 // specific entropy, J/(kmol-K)
26 virtual double entropy_mol(double T, Set::Patch<const Set::Scalar>& X, int i, int j, int k) const = 0;
27
28}; // class Thermo
29
30} // namespace Thermo
31} // namespace Gas
32} // namespace Model
33
34#endif
#define X(name)
virtual double entropy_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const =0
virtual const char * model_name() const =0
virtual double enthalpy_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const =0
virtual double cp_mol(double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const =0
virtual ~Thermo()=default
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
Definition Base.H:19