WARPXM v1.10.0
Loading...
Searching...
No Matches
imhd_to_twofluid.h
Go to the documentation of this file.
1#pragma once
2
3// wxm includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace five_moment
11{
12namespace bc
13{
31{
32public:
34
36
37 void setup(const WxCryptSet& wxc) override;
38
39 const std::vector<int>& getInputVariableIndexes(int flag) const override
40 {
41 return _input_variables;
42 }
43 const std::vector<int>& getOutputVariableIndexes(int flag) const override
44 {
45 return _out_variables;
46 }
47
48 // redefinition of bc
49 void bc_q(const real* q_in,
50 const real* aux_in,
51 const real* aux_out,
52 const solverVariables_t* pFV,
53 real* q_out) const override;
54
55 void evaluate_function(const real* q_in,
56 const real* aux,
57 const solverVariables_t* pFV,
58 real* q_out) const override;
59
60protected:
61 std::vector<int> _input_variables;
62 std::vector<int> _out_variables;
63
64private:
65 // mass ratios of two species
66 real _Aa, _Ab;
67 // charges of two species
68 real _Za, _Zb;
69 // Za/Zb*Tb/Ta
70 real _ztheta_ba;
71 real _skin_depth_norm;
72
73 // assumptions
74 // can be "minimal" or "consistent"
75 // "minimal" is based on section 4.1 on Frontiers paper:
76 // https://www.frontiersin.org/articles/10.3389/fphy.2018.00105/full
77 // "consistent" is based on section 4.2 and is further described in Iman's General
78 // Exam
79 // This app was originally written only for "minimal" so that is default
80 std::string _assumptions;
81
82 imhd_to_twofluid& operator=(const imhd_to_twofluid& var);
84};
85} // namespace bc
86} // namespace five_moment
87} // namespace apps
88} // namespace wxm
89
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
Boundary condition for converting ideal MHD variabls to two-fluid variables.
Definition: imhd_to_twofluid.h:31
void setup(const WxCryptSet &wxc) override
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: imhd_to_twofluid.h:43
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< int > _out_variables
Definition: imhd_to_twofluid.h:62
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: imhd_to_twofluid.h:39
void evaluate_function(const real *q_in, const real *aux, const solverVariables_t *pFV, real *q_out) const override
std::vector< int > _input_variables
Definition: imhd_to_twofluid.h:61
list apps
Definition: shock_tube.py:33
bc
Definition: advection2d_conservation.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