WARPXM v1.10.0
Loading...
Searching...
No Matches
parabolic.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{
27{
28public:
30
31 ~Parabolic() override;
32
33 void setup(const WxCryptSet& wxc) override;
34
35 const std::vector<int>& getInputVariableIndexes(int flag) const override
36 {
38 }
39
40 const std::vector<int>& getOutputVariableIndexes(int flag) const override
41 {
43 }
44
45 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
46 {
48 }
49
50 // redefinition of fluxes from parent
52 const real* q_r,
53 const real* aux_l,
54 const real* aux_r,
55 const solverVariables_t* pFV,
56 real* numericalFlux) const override;
58 const real* aux,
59 const solverVariables_t* pSV,
60 std::vector<std::vector<real>>& internalFlux) const override;
61
62protected:
65
67 std::vector<int> _plasma_variable_idcs;
68
69 // flux tensor is used to calculate left and right fluxes for numerical flux
70 // mutable because this will continuously be changed upon call, but functions are
71 // labled const.
72 // this is just a helper vector so this behavior should be justified.
73 mutable std::vector<std::vector<real>> _flux_tensor;
74
75private:
76 Parabolic& operator=(const Parabolic& var);
77 Parabolic(const Parabolic& var);
78};
79} // namespace divergence_cleaning
80} // namespace mhd
81} // namespace apps
82} // 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
Class used to parabolic divergence cleaning.
Definition: parabolic.h:27
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 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: parabolic.h:35
real _cfl_diff
Definition: parabolic.h:64
void setup(const WxCryptSet &wxc) override
std::vector< std::vector< real > > _flux_tensor
Definition: parabolic.h:73
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: parabolic.h:45
std::vector< int > _plasma_gradient_variable_idcs
Definition: parabolic.h:66
std::vector< int > _plasma_variable_idcs
Definition: parabolic.h:67
real _cp
cp , where is the diffusivity.
Definition: parabolic.h:63
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: parabolic.h:40
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