WARPXM v1.10.0
Loading...
Searching...
No Matches
pulses_fluid5.h
Go to the documentation of this file.
1#ifndef wmapplication_function_five_moment_pulses_h
2#define wmapplication_function_five_moment_pulses_h
3
4// WARPXM includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace functions
12{
13namespace five_moment
14{
15
17{
18public:
24
29 ~PulsesFluid5() override;
30
35 void setup(const WxCryptSet& wxc) override;
36
42 const std::vector<int>& getOutputVariableIndexes(int flag) const override
43 {
44 return _output_fluid;
45 }
46
54 void evaluate_function(const real* q,
55 const real* aux,
56 const solverVariables_t* pSV,
57 real* result) const override;
58
59protected:
60 std::vector<int> _output_fluid;
61
62 real calcRadiusPosition(const real* xc, const real* x) const;
63 bool isInPulse(const real& a, const real& r) const;
64 real gaussianPulse(const real& a, const real& r) const;
65 real polynomialPulse(const real& a, const real& r) const;
66
72
78
79 std::vector<real> _center_x;
80 std::vector<real> _center_y;
81 std::vector<real> _center_z;
82
83private:
84 PulsesFluid5& operator=(const PulsesFluid5& var);
85 PulsesFluid5(const PulsesFluid5& var);
86};
87} // namespace five_moment
88} // namespace functions
89} // namespace apps
90} // namespace wxm
91
92#endif
Base Class for physics applications.
Definition: wmapplication.h:93
WxCryptSet extends WxCrypt by providing, in addition to name-value pairs, an set of named WxCryptSets...
Definition: wxcryptset.h:35
real _n1
Definition: pulses_fluid5.h:69
std::vector< real > _center_z
Definition: pulses_fluid5.h:81
std::vector< real > _center_x
Definition: pulses_fluid5.h:79
real _mass
Definition: pulses_fluid5.h:67
bool isInPulse(const real &a, const real &r) const
real _k
Definition: pulses_fluid5.h:77
std::vector< int > _output_fluid
Definition: pulses_fluid5.h:60
real gaussianPulse(const real &a, const real &r) const
real _gas_gamma
Definition: pulses_fluid5.h:71
bool _gaussian
Definition: pulses_fluid5.h:75
void setup(const WxCryptSet &wxc) override
Setup.
real polynomialPulse(const real &a, const real &r) const
real _num_cols
Definition: pulses_fluid5.h:74
real calcRadiusPosition(const real *xc, const real *x) const
real _radius
Definition: pulses_fluid5.h:73
bool _polynomial
Definition: pulses_fluid5.h:76
real _temperature
Definition: pulses_fluid5.h:70
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: pulses_fluid5.h:42
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
std::vector< real > _center_y
Definition: pulses_fluid5.h:80
real _n0
Definition: pulses_fluid5.h:68
list apps
Definition: shock_tube.py:33
Base namespace for everything not included in the global namespace.
Definition: field_source.h:8
Definition: wmapplication.h:38
#define real
Definition: wmoclunstructuredreconstruction.h:11