WARPXM v1.10.0
Loading...
Searching...
No Matches
porous_insulator_inlet_2d_cyl_bc.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6// STL includes
7#include <memory>
8
9namespace wxm
10{
11namespace apps
12{
13namespace rmhd
14{
15namespace bc
16{
17/*
18 * Sets inlet insulator BC in 2D z-r axisymmetric zpinch.
19 * Can handle injection in arbitrary direction in z-r plane.
20 * Is porous so should be able to handle plasma going in and out.
21 *
22 */
24{
25public:
27
29
30 void setup(const WxCryptSet& wxc) override;
31
32 const std::vector<int>& getInputVariableIndexes(int flag) const override
33 {
34 return _variables;
35 }
36 const std::vector<int>& getOutputVariableIndexes(int flag) const override
37 {
38 return _variables;
39 }
40
41 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
42 {
43 return _iload_idx;
44 }
45
46 // redefinition of bc
47 void bc_q(const real* q_in,
48 const real* aux_in,
49 const real* aux_out,
50 const solverVariables_t* pFV,
51 real* q_out) const override;
52
53protected:
61
62 std::vector<real> _params;
63
64 std::vector<int> _variables;
65 std::vector<int> _iload_idx;
66
67 // pointer to subapplications
68 std::unique_ptr<WmApplication> _current_profile_app;
69
70private:
73};
74} // namespace bc
75} // namespace rmhd
76} // namespace apps
77} // 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: porous_insulator_inlet_2d_cyl_bc.h:24
std::vector< real > _params
Definition: porous_insulator_inlet_2d_cyl_bc.h:62
real _Tout
Definition: porous_insulator_inlet_2d_cyl_bc.h:56
real _Ai
Definition: porous_insulator_inlet_2d_cyl_bc.h:58
real _omct
Definition: porous_insulator_inlet_2d_cyl_bc.h:57
real _nout
Definition: porous_insulator_inlet_2d_cyl_bc.h:55
std::vector< int > _iload_idx
Definition: porous_insulator_inlet_2d_cyl_bc.h:65
void setup(const WxCryptSet &wxc) override
real _gas_gamma
Definition: porous_insulator_inlet_2d_cyl_bc.h:54
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.
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: porous_insulator_inlet_2d_cyl_bc.h:41
int _current_profile_type
Definition: porous_insulator_inlet_2d_cyl_bc.h:59
std::vector< int > _variables
Definition: porous_insulator_inlet_2d_cyl_bc.h:64
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: porous_insulator_inlet_2d_cyl_bc.h:32
std::unique_ptr< WmApplication > _current_profile_app
Definition: porous_insulator_inlet_2d_cyl_bc.h:68
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: porous_insulator_inlet_2d_cyl_bc.h:36
real _Zi
Definition: porous_insulator_inlet_2d_cyl_bc.h:60
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