WARPXM v1.10.0
Loading...
Searching...
No Matches
wmapplication_hallmhd.h
Go to the documentation of this file.
1#ifndef WMAPPLICATION_HALLMHD_H
2#define WMAPPLICATION_HALLMHD_H
3
4// WarpM includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace hallmhd
12{
13
15{
16public:
18
20
21 void setup(const WxCryptSet& wxc) override;
22
23 const std::vector<int>& getInputVariableIndexes(int flag) const override
24 {
25 return _inputVariables;
26 }
27 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
28 {
29 return _auxVariables;
30 }
31 const std::vector<int>& getOutputVariableIndexes(int flag) const override
32 {
33 return _outputVariables;
34 }
35 const std::vector<int>& getCrossVariableIndexes(int flag) const override
36 {
37 return _inputVariables;
38 }
39
40 // redefinition of fluxes from parent
42 const real* q_r,
43 const real* aux_l,
44 const real* aux_r,
45 const solverVariables_t* pFV,
46 real* numericalFlux) const override;
47
49 const real* q_r,
50 const real* aux_l,
51 const real* aux_r,
52 const solverVariables_t* pFV,
53 real* numericalFlux) const;
54
56 const real* q_r,
57 const real* aux_l,
58 const real* aux_r,
59 const solverVariables_t* pFV,
60 real* numericalFlux) const;
61
63 const real* aux,
64 const solverVariables_t* pSV,
65 std::vector<std::vector<real>>& internalFlux) const override;
66
67protected:
70 // real _nu_p_norm;
71
75
76 std::vector<int> _inputVariables;
77 std::vector<int> _auxVariables;
78 std::vector<int> _outputVariables;
79
80 std::string _gradient_method;
81
84
85 std::string _coordinate_system;
87 int _ir, _ith, _iz; // r, theta, and z indices
88
91 // flux tensor is used to calculate left and right fluxes for numerical flux
92 // mutable because this will continuously be changed upon call, but functions are
93 // labled const.
94 // this is just a helper vector so this behavior should be justified.
95 mutable std::vector<std::vector<real>> _flux_tensor;
96
97private:
98 WmApplication_HALLMHD& operator=(const WmApplication_HALLMHD& var);
100};
101
102} // namespace hallmhd
103} // namespace apps
104} // namespace wxm
105
106#endif // WMAPPLICATION_HALLMHD
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
Definition: wmapplication_hallmhd.h:15
real _skin_depth_norm
Definition: wmapplication_hallmhd.h:69
real _min_density
Definition: wmapplication_hallmhd.h:82
const std::vector< int > & getCrossVariableIndexes(int flag) const override
Definition: wmapplication_hallmhd.h:35
real numerical_flux_ip(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: wmapplication_hallmhd.h:23
void setup(const WxCryptSet &wxc) override
real _Zi
Definition: wmapplication_hallmhd.h:72
int _ith
Definition: wmapplication_hallmhd.h:87
int _ir
Definition: wmapplication_hallmhd.h:87
std::vector< int > _inputVariables
Definition: wmapplication_hallmhd.h:76
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
int _radial_index
Definition: wmapplication_hallmhd.h:86
real numerical_flux_ldg(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
std::vector< int > _outputVariables
Definition: wmapplication_hallmhd.h:78
std::vector< std::vector< real > > _flux_tensor
< Electron mass for Hall MHD model
Definition: wmapplication_hallmhd.h:95
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: wmapplication_hallmhd.h:27
real _gas_gamma
Definition: wmapplication_hallmhd.h:68
std::string _coordinate_system
Definition: wmapplication_hallmhd.h:85
real numerical_flux(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const override
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: wmapplication_hallmhd.h:31
real _min_pressure
Definition: wmapplication_hallmhd.h:83
int _iz
Definition: wmapplication_hallmhd.h:87
real _Ae_hall
Definition: wmapplication_hallmhd.h:89
std::string _gradient_method
Definition: wmapplication_hallmhd.h:80
real _Ai
Definition: wmapplication_hallmhd.h:73
std::vector< int > _auxVariables
Definition: wmapplication_hallmhd.h:77
real _theta
Definition: wmapplication_hallmhd.h:74
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