WARPXM v1.10.0
Loading...
Searching...
No Matches
kh_instability_2d2v_kinetic_setup.h
Go to the documentation of this file.
1#ifndef wmapplication_functions_maxwell_kh_instability_kinetic_setup_h
2#define wmapplication_functions_maxwell_kh_instability_kinetic_setup_h
3
4// WARPXM includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace functions
12{
13namespace maxwell
14{
23{
24public:
30
36
41 void setup(const WxCryptSet& wxc) override;
42
48 const std::vector<int>& getOutputVariableIndexes(int flag) const override
49 {
50 return _output_fields;
51 }
52
60 void evaluate_function(const real* q,
61 const real* aux,
62 const solverVariables_t* pSV,
63 real* result) const override;
64
65 void bc_q(const real* q_in,
66 const real* aux_in,
67 const real* aux_out,
68 const solverVariables_t* pFV,
69 real* q_out) const override;
70
71protected:
72 std::vector<int> _output_fields;
73
74 std::vector<real> _perturbation_center;
75
76 std::vector<real> _Bz_fit_xvec;
77 std::vector<real> _Bz_fit_acoeffs;
78 std::vector<real> _Bz_fit_bcoeffs;
79
80 std::vector<real> _Ex_fit_xvec;
81 std::vector<real> _Ex_fit_acoeffs;
82 std::vector<real> _Ex_fit_bcoeffs;
83
84 mutable std::map<real, real> _Bz_fit_cache;
85 mutable std::map<real, real> _Ex_fit_cache;
86
87private:
90};
91
92} // namespace maxwell
93} // namespace functions
94} // namespace apps
95} // namespace wxm
96
97#endif
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
2D2V Kelvin-Helmholtz Instability for Fields Based on calculated kinetic equilibrium Should be consis...
Definition: kh_instability_2d2v_kinetic_setup.h:23
std::vector< real > _Ex_fit_bcoeffs
Definition: kh_instability_2d2v_kinetic_setup.h:82
std::vector< real > _Ex_fit_acoeffs
Definition: kh_instability_2d2v_kinetic_setup.h:81
std::map< real, real > _Ex_fit_cache
Definition: kh_instability_2d2v_kinetic_setup.h:85
std::vector< real > _Bz_fit_xvec
Definition: kh_instability_2d2v_kinetic_setup.h:76
std::vector< real > _Ex_fit_xvec
Definition: kh_instability_2d2v_kinetic_setup.h:80
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: kh_instability_2d2v_kinetic_setup.h:48
void bc_q(const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const override
Boundary Condition Application which sets the boundary condition on ghost nodes.
std::vector< real > _perturbation_center
Definition: kh_instability_2d2v_kinetic_setup.h:74
std::vector< real > _Bz_fit_bcoeffs
Definition: kh_instability_2d2v_kinetic_setup.h:78
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
std::vector< int > _output_fields
Definition: kh_instability_2d2v_kinetic_setup.h:72
std::vector< real > _Bz_fit_acoeffs
Definition: kh_instability_2d2v_kinetic_setup.h:77
std::map< real, real > _Bz_fit_cache
Definition: kh_instability_2d2v_kinetic_setup.h:84
void setup(const WxCryptSet &wxc) override
Setup.
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