WARPXM v1.10.0
Loading...
Searching...
No Matches
wmapplication_vlasovmaxwell.h
Go to the documentation of this file.
1#ifndef WMAPPLICATION_VLASOVMAXWELL_H
2#define WMAPPLICATION_VLASOVMAXWELL_H
3
4// General includes
6
7// Specific includes
8// #include "apps/vlasovmaxwell/vlasovmaxwell.h"
9
11{
12public:
14
16
17 void setup(const WxCryptSet& wxc) override;
18
19 const std::vector<int>& getInputVariableIndexes(int flag) const override
20 {
21 return _inputVariables;
22 }
23 const std::vector<int>& getOutputVariableIndexes(int flag) const override
24 {
25 return _outputVariables;
26 }
27
28 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
29 {
30 return _auxVariables;
31 }
32
33 // redefinition of fluxes from parent
35 const real* q_r,
36 const real* aux_l,
37 const real* aux_r,
38 const solverVariables_t* pFV,
39 real* numericalFlux) const override;
41 const real* aux,
42 const solverVariables_t* pSV,
43 std::vector<std::vector<real>>& internalFlux) const override;
44
45protected:
49
50 // Which numerical flux type? Default is upwind
52
53 std::vector<int> _inputVariables;
54 std::vector<int> _outputVariables;
55 std::vector<int> _auxVariables;
56
57 // left and right vectors that get used in calculating numerical flux
58 // mutable because they always will get zero'd and changed on each call
59 mutable std::vector<std::vector<real>> _flux_left;
60 mutable std::vector<std::vector<real>> _flux_right;
61
62private:
65};
66
67#endif // WMAPPLICATION_VLASOVMAXWELL_H
Definition: wmapplication_vlasovmaxwell.h:11
real _number_velocity_components
Definition: wmapplication_vlasovmaxwell.h:48
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
std::vector< std::vector< real > > _flux_right
Definition: wmapplication_vlasovmaxwell.h:60
real _skin_depth_norm
Definition: wmapplication_vlasovmaxwell.h:47
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: wmapplication_vlasovmaxwell.h:28
std::string _numerical_flux_type
Definition: wmapplication_vlasovmaxwell.h:51
std::vector< std::vector< real > > _flux_left
Definition: wmapplication_vlasovmaxwell.h:59
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
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: wmapplication_vlasovmaxwell.h:23
std::vector< int > _outputVariables
Definition: wmapplication_vlasovmaxwell.h:54
real _charge_mass_ratio
Definition: wmapplication_vlasovmaxwell.h:46
std::vector< int > _auxVariables
Definition: wmapplication_vlasovmaxwell.h:55
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: wmapplication_vlasovmaxwell.h:19
~WmApplication_VlasovMaxwell() override
void setup(const WxCryptSet &wxc) override
std::vector< int > _inputVariables
Definition: wmapplication_vlasovmaxwell.h:53
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
Definition: wmapplication.h:38
#define real
Definition: wmoclunstructuredreconstruction.h:11