WARPXM v1.10.0
Loading...
Searching...
No Matches
pn_bc_gradients.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace rmhd
11{
12namespace bc
13{
14/*
15 * Sets gradient BC for plasma-neutral model for acceleration region inlet in axisymmetric
16 * zpinch
17 * Current implementation only works for single-fluid MHD. Plasma-neutral model has
18 * not been implemented.
19 *
20 */
22{
23public:
25
26 ~pn_bc_gradients() override;
27
28 void setup(const WxCryptSet& wxc) override;
29
30 const std::vector<int>& getInputVariableIndexes(int flag) const override
31 {
32 return _var_idcs;
33 }
34
35 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
36 {
37 return _aux_var_idcs;
38 }
39
40 const std::vector<int>& getOutputVariableIndexes(int flag) const override
41 {
42 return _var_idcs;
43 }
44
45 // redefinition of bc
46 void bc_q(const real* q_in,
47 const real* aux_in,
48 const real* aux_out,
49 const solverVariables_t* pFV,
50 real* q_out) const override;
51
52protected:
56
57 std::vector<int> _var_idcs;
58 std::vector<int> _aux_var_idcs;
59
60private:
61 pn_bc_gradients& operator=(const pn_bc_gradients& var);
63};
64
65} // namespace bc
66} // namespace rmhd
67} // namespace apps
68} // 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
Definition: pn_bc_gradients.h:22
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: pn_bc_gradients.h:30
int _bc_type
Definition: pn_bc_gradients.h:53
std::vector< int > _var_idcs
Definition: pn_bc_gradients.h:57
real _gas_gamma
Definition: pn_bc_gradients.h:54
void setup(const WxCryptSet &wxc) override
real _min_density
Definition: pn_bc_gradients.h:55
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: pn_bc_gradients.h:40
std::vector< int > _aux_var_idcs
Definition: pn_bc_gradients.h:58
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: pn_bc_gradients.h:35
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.
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