WARPXM v1.10.0
Loading...
Searching...
No Matches
density_diffusion_flux.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace rmhd
11{
12
74{
75public:
77
79
84 void setup(const WxCryptSet& wxc) override;
85
90 {
91 LDG
92 };
93
98 {
100 NIMROD
101 };
102
108 const std::vector<int>& getInputVariableIndexes(int flag) const override
109 {
110 return _input_variables;
111 }
112
118 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
119 {
120 return _aux_variables;
121 }
122
128 const std::vector<int>& getOutputVariableIndexes(int flag) const override
129 {
130 return _input_variables;
131 }
132
144 const real* q_r,
145 const real* aux_l,
146 const real* aux_r,
147 const solverVariables_t* pFV,
148 real* numericalFlux) const override;
149
159 const real* aux,
160 const solverVariables_t* pSV,
161 std::vector<std::vector<real>>& internalFlux) const override;
162
174 const real* q_r,
175 const real* aux_l,
176 const real* aux_r,
177 const solverVariables_t* pFV,
178 real* numericalFlux) const;
179
180protected:
184 std::vector<int>
186 std::vector<int>
198 mutable std::vector<std::vector<real>> _flux_tensor;
199
200private:
201 DensityDiffusionFlux& operator=(const DensityDiffusionFlux& var) = delete;
202 DensityDiffusionFlux(const DensityDiffusionFlux& var) = delete;
203};
204} // namespace rmhd
205} // namespace apps
206} // 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
Density diffusion flux for the MHD model.
Definition: density_diffusion_flux.h:74
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
Redefinition of the interal flux function.
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: density_diffusion_flux.h:128
DDiffType _ddiff_type
Density diffusion type.
Definition: density_diffusion_flux.h:182
GradientMethod _gradient_method
Gradient method chosen for app.
Definition: density_diffusion_flux.h:181
real _cfl_diff
Diffusion CFL.
Definition: density_diffusion_flux.h:191
const std::vector< int > & getInputVariableIndexes(int flag) const override
Grab input variable indices.
Definition: density_diffusion_flux.h:108
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
Redefinition of the numerical flux function.
void setup(const WxCryptSet &wxc) override
Setup.
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Grab auxiliary variable indices.
Definition: density_diffusion_flux.h:118
real _ddiff_limit
Density diffusion coefficient limit for Nimrod method.
Definition: density_diffusion_flux.h:190
std::vector< int > _input_variables
Vector of MHD fluid variable indices.
Definition: density_diffusion_flux.h:185
DDiffType
Available density diffusion types.
Definition: density_diffusion_flux.h:98
@ BASIC
Definition: density_diffusion_flux.h:99
@ NIMROD
Definition: density_diffusion_flux.h:100
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
The numerical flux function using the LDG gradient method.
std::vector< int > _aux_variables
Vector of MHD fluid gradient variable indices.
Definition: density_diffusion_flux.h:187
GradientMethod
Available gradient methods.
Definition: density_diffusion_flux.h:90
@ LDG
Definition: density_diffusion_flux.h:91
real _ddiff
Density diffusion coefficient.
Definition: density_diffusion_flux.h:189
std::vector< std::vector< real > > _flux_tensor
Flux tensor is used to calculate left and right fluxes for numerical flux mutable because this will c...
Definition: density_diffusion_flux.h:198
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