Alamo
CPG.H
Go to the documentation of this file.
1#ifndef MODEL_GAS_EOS_CPG_H_
2#define MODEL_GAS_EOS_CPG_H_
3
4#include "IO/ParmParse.H"
5#include "Model/Gas/EOS/EOS.H"
6#include <memory>
7
8namespace Model {
9namespace Gas {
10class Gas; // Forward declare Gas
11
12namespace EOS {
13
14class CPG : public EOS {
15public:
16 static constexpr const char* name = "cpg";
17 virtual const char* model_name() const override { return name; }
18
19private:
20 Gas const * const gas;
21
22public:
23 CPG() = delete;
24 CPG(Gas *a_gas, IO::ParmParse& pp, std::string name) : gas(a_gas)
25 {
26 pp.queryclass(name, *this);
27 }
28
29 ~CPG() override = default;
30
31 static void Parse(CPG & /*value*/, IO::ParmParse & /*pp*/) {}
32
33public:
34 double ComputeT(double density, double momentumx, double momentumy, double E, double Tguess,
35 Set::Patch<const Set::Scalar>& X, int i, int j, int k, double /*rtol=1e-12*/) const override;
36 double ComputeT(double pressure, double density,
37 Set::Patch<const Set::Scalar>& X, int i, int j, int k) const override;
38 double ComputeP(double density, double T,
39 Set::Patch<const Set::Scalar>& X, int i, int j, int k) const override;
40 double ComputeE(double density, double momentumx, double momentumy, double T,
41 Set::Patch<const Set::Scalar>& X, int i, int j, int k) const override;
42
43}; // class CPG
44
45} // namespace EOS
46} // namespace Gas
47} // namespace Model
48
49#endif
#define X(name)
void queryclass(std::string name, T *value)
Definition ParmParse.H:960
CPG(Gas *a_gas, IO::ParmParse &pp, std::string name)
Definition CPG.H:24
double ComputeP(double density, double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const override
Definition CPG.cpp:23
static void Parse(CPG &, IO::ParmParse &)
Definition CPG.H:31
virtual const char * model_name() const override
Definition CPG.H:17
Gas const *const gas
Definition CPG.H:20
double ComputeT(double density, double momentumx, double momentumy, double E, double Tguess, Set::Patch< const Set::Scalar > &X, int i, int j, int k, double) const override
Definition CPG.cpp:8
double ComputeE(double density, double momentumx, double momentumy, double T, Set::Patch< const Set::Scalar > &X, int i, int j, int k) const override
Definition CPG.cpp:29
~CPG() override=default
static constexpr const char * name
Definition CPG.H:16
Eigen::Matrix< amrex::Real, AMREX_SPACEDIM, 1 > Vector
Definition Base.H:19