WARPXM v1.10.0
Loading...
Searching...
No Matches
axis_bc.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace mhd_two_temperature
11{
12namespace bc
13{
24class AxisBC : public WmApplication
25{
26public:
28
29 ~AxisBC() override;
30
31 void setup(const WxCryptSet& wxc) override;
32
33 const std::vector<int>& getInputVariableIndexes(int flag) const override
34 {
35 return mhd_fluid_indices_;
36 }
37
38 const std::vector<int>& getOutputVariableIndexes(int flag) const override
39 {
40 return mhd_fluid_indices_;
41 }
42
44 void bc_q(const real* q_in,
45 const real* aux_in,
46 const real* aux_out,
47 const solverVariables_t* pFV,
48 real* q_out) const override;
49
50protected:
52 int ir_, ith_, iz_;
53
54 std::vector<int> mhd_fluid_indices_;
55
56private:
57 AxisBC& operator=(AxisBC& var);
58 AxisBC(const AxisBC& var);
59};
60
61// // // // // // // // // // // // // // // // // // // // // // //
62// Gradient Boundary Condition
63// // // // // // // // // // // // // // // // // // // // // // //
77{
78public:
80
81 ~AxisBCGradients() override;
82
83 void setup(const WxCryptSet& wxc) override;
84
85 const std::vector<int>& getInputVariableIndexes(int flag) const override
86 {
88 }
89
90 const std::vector<int>& getOutputVariableIndexes(int flag) const override
91 {
93 }
94
96 void bc_q(const real* q_in,
97 const real* aux_in,
98 const real* aux_out,
99 const solverVariables_t* pFV,
100 real* q_out) const override;
101
102protected:
104 int ir_, ith_, iz_;
105
106 std::vector<int> mhd_fluid_gradients_;
107
108private:
109 AxisBCGradients& operator=(AxisBCGradients& var);
111};
112
113} // namespace bc
114} // namespace mhd_two_temperature
115} // namespace apps
116} // 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 implement the axis boundary condition on gradient variables for the Two-Temperature MHD mo...
Definition: axis_bc.h:77
int ir_
r, theta, and z indices
Definition: axis_bc.h:104
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: axis_bc.h:85
std::vector< int > mhd_fluid_gradients_
Definition: axis_bc.h:106
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: axis_bc.h:90
void bc_q(const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const override
redefinition of fluxes from parent
void setup(const WxCryptSet &wxc) override
Class used implement the axis boundary condition for the Two-Temperature MHD model.
Definition: axis_bc.h:25
void bc_q(const real *q_in, const real *aux_in, const real *aux_out, const solverVariables_t *pFV, real *q_out) const override
redefinition of fluxes from parent
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: axis_bc.h:33
std::vector< int > mhd_fluid_indices_
Definition: axis_bc.h:54
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: axis_bc.h:38
void setup(const WxCryptSet &wxc) override
int ir_
r, theta, and z indices
Definition: axis_bc.h:52
int ith_
Definition: axis_bc.h:52
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