WARPXM v1.10.0
Loading...
Searching...
No Matches
euler_cyl_source.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6// STL includes
7#include <memory>
8
9namespace wxm
10{
11namespace apps
12{
13namespace five_moment
14{
35{
36public:
38
39 ~EulerCylSource() override;
40
41 void setup(const WxCryptSet& wxc) override;
42
43 const std::vector<int>& getInputVariableIndexes(int flag) const override
44 {
45 return _input_variables;
46 }
47
48 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
49 {
50 return _aux_variables;
51 }
52
53 const std::vector<int>& getOutputVariableIndexes(int flag) const override
54 {
55 return _input_variables;
56 }
57
58 real source(const real* q,
59 const real* aux,
60 const elementGeometry_t* pEG,
61 real* source) const override;
62
63protected:
69 int _ir, _ith, _iz; // r, theta, and z indices
71
72 std::vector<int> _input_variables;
73 std::vector<int> _aux_variables;
74
75 // pointer to subapplications and boolean
76 std::unique_ptr<WmApplication> _floor_app;
78
79private:
80 EulerCylSource& operator=(const EulerCylSource& var) = delete;
81 EulerCylSource(const EulerCylSource& var) = delete;
82};
83} // namespace five_moment
84} // namespace apps
85} // namespace wxm
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
Implements the source terms in the Euler equations arising from a cylindrical geometry.
Definition: euler_cyl_source.h:35
std::vector< int > _input_variables
Definition: euler_cyl_source.h:72
std::unique_ptr< WmApplication > _floor_app
Definition: euler_cyl_source.h:76
real _min_density
Definition: euler_cyl_source.h:66
void setup(const WxCryptSet &wxc) override
real _mass
Definition: euler_cyl_source.h:64
real _gas_gamma
Definition: euler_cyl_source.h:65
int _ith
Definition: euler_cyl_source.h:69
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:48
real source(const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
real _min_pressure
Definition: euler_cyl_source.h:67
bool _rmin_eq_0
Definition: euler_cyl_source.h:70
std::vector< int > _aux_variables
Definition: euler_cyl_source.h:73
int _radial_index
Definition: euler_cyl_source.h:68
bool _has_floor_app
Definition: euler_cyl_source.h:77
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:43
int _ir
Definition: euler_cyl_source.h:69
int _iz
Definition: euler_cyl_source.h:69
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:53
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