WARPXM v1.10.0
Loading...
Searching...
No Matches
mixed_glm.h
Go to the documentation of this file.
1#pragma once
2
3// WarpM includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace mhd
11{
12namespace divergence_cleaning
13{
14
45{
46public:
48
49 ~DednerMixedGLM() override;
50
51 void setup(const WxCryptSet& wxc) override;
52
53 const std::vector<int>& getInputVariableIndexes(int flag) const override
54 {
56 }
57 const std::vector<int>& getOutputVariableIndexes(int flag) const override
58 {
60 }
61
63 const real* aux,
64 const solverVariables_t* pSV,
65 std::vector<std::vector<real>>& internalFlux) const override;
66
68 const real* q_r,
69 const real* aux_l,
70 const real* aux_r,
71 const solverVariables_t* pFV,
72 real* numericalFlux) const override;
73
74 real source(const real* q,
75 const real* aux,
76 const elementGeometry_t* pEG,
77 real* source) const override;
78
79protected:
81
82 std::vector<int> _input_variable_idcs;
83 std::vector<int> _output_variable_idcs;
84
97
99
100private:
101 DednerMixedGLM& operator=(const DednerMixedGLM& var);
102 DednerMixedGLM(const DednerMixedGLM& var);
103};
104
105} // namespace divergence_cleaning
106} // namespace mhd
107} // namespace apps
108} // 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 mixed Generalized-Lagrange Multiplier version of divergence cleaning in: Dedner et al....
Definition: mixed_glm.h:45
real _min_pressure_floor
Definition: mixed_glm.h:96
real _ch_factor
Multiplier on max mhd wave speed (fast magnetosonic speed, cf), to calculate ch = cf * _ch_factor .
Definition: mixed_glm.h:85
real _min_density_floor
Definition: mixed_glm.h:95
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: mixed_glm.h:57
bool _use_psi_source
Definition: mixed_glm.h:98
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: mixed_glm.h:53
std::vector< int > _input_variable_idcs
Definition: mixed_glm.h:82
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
real source(const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
void setup(const WxCryptSet &wxc) override
real _cr
Factor for calculating cp = sqrt(cr * ch) , which constributes to the strength of the source term add...
Definition: mixed_glm.h:90
std::vector< int > _output_variable_idcs
Definition: mixed_glm.h:83
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