WARPXM v1.10.0
Loading...
Searching...
No Matches
artificial_viscosity_limiter.h
Go to the documentation of this file.
1#ifndef WXM_APPS_MHD_ARTIFICIAL_VISCOSITY_LIMITER_H
2#define WXM_APPS_MHD_ARTIFICIAL_VISCOSITY_LIMITER_H
3
4// Wm includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace mhd
12{
13namespace limiters
14{
15
28{
29public:
34
39
45 const std::vector<int>& getInputVariableIndexes(int flag) const override
46 {
47 return _input_variables;
48 }
49
55 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
56 {
57 return _aux_variables;
58 }
59
65 const std::vector<int>& getOutputVariableIndexes(int flag) const override
66 {
67 return _output_variables;
68 }
69
74 void setup(const WxCryptSet& wxc) override;
75
86 const real* q_r,
87 const real* aux_l,
88 const real* aux_r,
89 const solverVariables_t* pFV,
90 real* numericalFlux) const override;
91
100 const real* aux,
101 const solverVariables_t* pSV,
102 std::vector<std::vector<real>>& internalFlux) const override;
103
114 const real* q_r,
115 const real* aux_l,
116 const real* aux_r,
117 const solverVariables_t* pFV,
118 real* numericalFlux) const;
119
130 const real* q_r,
131 const real* aux_l,
132 const real* aux_r,
133 const solverVariables_t* pFV,
134 real* numericalFlux) const;
135
136protected:
137 // viscous multiplier of the limiter
139 // gradient calculation method ("ip" or "ldg")
140 std::string _gradient_method;
141 // diffusion factor multiplier ("fabs" or "squared")
142 std::string _diffusion_factor;
143
144 std::vector<int> _input_variables;
145 std::vector<int> _aux_variables;
146 std::vector<int> _output_variables;
147};
148
149} // namespace limiters
150} // namespace mhd
151} // namespace apps
152} // namespace wxm
153
154#endif // WXM_APPS_MHD_ARTIFICIAL_VISCOSITY_LIMITER_H
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
Class used implementing artificial viscosity limiter based on velocity divergence Adds a diffusion te...
Definition: artificial_viscosity_limiter.h:28
real _coefficient
Definition: artificial_viscosity_limiter.h:138
std::vector< int > _aux_variables
Definition: artificial_viscosity_limiter.h:145
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: artificial_viscosity_limiter.h:65
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
Numerical flux redefinition from parent.
std::vector< int > _output_variables
Definition: artificial_viscosity_limiter.h:146
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Grab auxiliary variable indices.
Definition: artificial_viscosity_limiter.h:55
std::string _gradient_method
Definition: artificial_viscosity_limiter.h:140
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
Internal flux redefinition from parent.
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
Numerical flux call as determined by interior penalty method.
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
Numerical flux call as determined by local discontinuous galerkin method.
std::vector< int > _input_variables
Definition: artificial_viscosity_limiter.h:144
std::string _diffusion_factor
Definition: artificial_viscosity_limiter.h:142
const std::vector< int > & getInputVariableIndexes(int flag) const override
Grab input variable indices.
Definition: artificial_viscosity_limiter.h:45
void setup(const WxCryptSet &wxc) override
Setup function.
list apps
Definition: shock_tube.py:33
warpy mhd
Definition: mhd_shock.py:32
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