WARPXM v1.10.0
Loading...
Searching...
No Matches
q_h_artificial_dissipation.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace wxm
6{
7namespace apps
8{
9namespace five_moment
10{
11namespace limiters
12{
34{
35public:
37
38 ~q_h_artificial_dissipation() override = default;
39
40 void setup(const WxCryptSet& wxc) override;
41
47 const std::vector<int>& getInputVariableIndexes(int flag) const override
48 {
49 return _input_variables;
50 }
51
57 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
58 {
59 return _aux_variables;
60 }
61
67 const std::vector<int>& getOutputVariableIndexes(int flag) const override
68 {
69 return _output_variables;
70 }
71
82 const real* q_r,
83 const real* aux_l,
84 const real* aux_r,
85 const solverVariables_t* pFV,
86 real* numericalFlux) const override;
87
96 const real* aux,
97 const solverVariables_t* pSV,
98 std::vector<std::vector<real>>& internalFlux) const override;
99private:
100 real _gamma;
101 // normalized species mass
102 real _mass;
103 real _min_density;
104 real _min_pressure;
105 real _multiplier;
106
107 // whether eta penalty should depend on delta x or not (inversely proportional?)
108 bool _eta_dx;
109
110 std::vector<int> _input_variables;
111 std::vector<int> _aux_variables;
112 std::vector<int> _output_variables;
113};
114} // namespace limiters
115} // namespace five_moment
116} // namespace apps
117} // namespace wxm
118
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 artificial viscosity and heat flux for the 5 moment Euler/Navier Stokes equations.
Definition: q_h_artificial_dissipation.h:34
const std::vector< int > & getInputVariableIndexes(int flag) const override
Grab input variable indices.
Definition: q_h_artificial_dissipation.h:47
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.
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.
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Grab auxiliary variable indices.
Definition: q_h_artificial_dissipation.h:57
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: q_h_artificial_dissipation.h:67
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