WARPXM v1.10.0
Loading...
Searching...
No Matches
flowthrough_wall.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 *
19 * Sets BC for Flowthrough wall
20 * From r=0 to r=0.03 and from r = 0.05 to r = 0.1, use conducting wall
21 * From r = 0.03 to r = 0.05 use an outflow
22 * Transition between the two using a sine wave function to mitigate possible numerical
23 * instability
24 * Assume the wall normal is z (x in 2d axisymmetric) direction
25 *
26 */
28{
29public:
32 void setup(const WxCryptSet& wxc) override;
33
34 const std::vector<int>& getInputVariableIndexes(int flag) const override
35 {
36 return _var_idcs;
37 }
38
39 const std::vector<int>& getOutputVariableIndexes(int flag) const override
40 {
41 return _var_idcs;
42 }
43
44 // redefinition of bc
45 void bc_q(const real* q_in,
46 const real* aux_in,
47 const real* aux_out,
48 const solverVariables_t* pFV,
49 real* q_out) const override;
50
51protected:
53
58
59 std::vector<int> _var_idcs;
60
61 // pointer to subapplication
62 std::unique_ptr<WmApplication> _cw_app;
63 std::unique_ptr<WmApplication> _ft_app;
64
65private:
66 FlowthroughWall& operator=(const FlowthroughWall& var);
68};
69
70} // namespace bc
71} // namespace rmhd
72} // namespace apps
73} // 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: flowthrough_wall.h:28
void setup(const WxCryptSet &wxc) override
real _w
Definition: flowthrough_wall.h:56
std::vector< int > _var_idcs
Definition: flowthrough_wall.h:59
real _r1
Definition: flowthrough_wall.h:54
std::unique_ptr< WmApplication > _cw_app
Definition: flowthrough_wall.h:62
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: flowthrough_wall.h:39
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 > & getInputVariableIndexes(int flag) const override
Definition: flowthrough_wall.h:34
std::unique_ptr< WmApplication > _ft_app
Definition: flowthrough_wall.h:63
real _w_over_2
Definition: flowthrough_wall.h:57
real _r2
Definition: flowthrough_wall.h:55
real _gas_gamma
Definition: flowthrough_wall.h:52
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