WARPXM v1.10.0
Loading...
Searching...
No Matches
euler_cyl_source.h
Go to the documentation of this file.
1#pragma once
2
3// wxm includes
5#include "app_setup_helper.h"
6
7// STL includes
8#include <memory>
9
10namespace wxm
11{
12namespace apps
13{
14namespace five_moment
15{
36{
37public:
39
40 ~EulerCylSource() override;
41
42 void setup(const WxCryptSet& wxc) override;
43
44 const std::vector<int>& getInputVariableIndexes(int flag) const override
45 {
46 return _input_variables;
47 }
48
49 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
50 {
51 return _aux_variables;
52 }
53
54 const std::vector<int>& getOutputVariableIndexes(int flag) const override
55 {
56 return _input_variables;
57 }
58
59 real source(const real* q,
60 const real* aux,
61 const elementGeometry_t* pEG,
62 real* source) const override;
63
64protected:
66 std::unique_ptr<AppSetupHelper> _setup_helper;
67
74 int _ir, _ith, _iz; // r, theta, and z indices
76
77 std::vector<int> _input_variables;
78 std::vector<int> _aux_variables;
79
80private:
81 EulerCylSource& operator=(const EulerCylSource& var) = delete;
82 EulerCylSource(const EulerCylSource& var) = delete;
83};
84} // namespace five_moment
85} // namespace apps
86} // 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:36
std::vector< int > _input_variables
Definition: euler_cyl_source.h:77
std::unique_ptr< AppSetupHelper > _setup_helper
Helper object that automates common setup routines.
Definition: euler_cyl_source.h:66
real _min_density
Minimum normalized mass density used in calculations.
Definition: euler_cyl_source.h:68
void setup(const WxCryptSet &wxc) override
real _mass
Definition: euler_cyl_source.h:72
real _gas_gamma
Adiabatic index.
Definition: euler_cyl_source.h:70
int _ith
Definition: euler_cyl_source.h:74
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:49
real source(const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
real _min_pressure
Minimum normalized pressure used in calculations.
Definition: euler_cyl_source.h:69
bool _rmin_eq_0
Definition: euler_cyl_source.h:75
std::vector< int > _aux_variables
Definition: euler_cyl_source.h:78
int _radial_index
Definition: euler_cyl_source.h:73
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:44
int _ir
Definition: euler_cyl_source.h:74
int _iz
Definition: euler_cyl_source.h:74
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: euler_cyl_source.h:54
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