WARPXM v1.10.0
Loading...
Searching...
No Matches
flowthrough_wall_gradients.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 endwall gradients
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 _grad_q_idcs;
37 }
38
39 const std::vector<int>& getOutputVariableIndexes(int flag) const override
40 {
41 return _grad_q_idcs;
42 }
43
44 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
45 {
46 return _q_idcs;
47 }
48
49 // redefinition of bc
50 void bc_q(const real* q_in,
51 const real* aux_in,
52 const real* aux_out,
53 const solverVariables_t* pFV,
54 real* q_out) const override;
55
56protected:
58
63
64 std::vector<int> _grad_q_idcs;
65 std::vector<int> _q_idcs;
66
67 // pointer to subapplication
68 std::unique_ptr<WmApplication> _cw_app;
69 std::unique_ptr<WmApplication> _ft_app;
70
71private:
74};
75
76} // namespace bc
77} // namespace rmhd
78} // namespace apps
79} // 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_gradients.h:28
std::unique_ptr< WmApplication > _ft_app
Definition: flowthrough_wall_gradients.h:69
real _r1
Definition: flowthrough_wall_gradients.h:59
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: flowthrough_wall_gradients.h:34
std::unique_ptr< WmApplication > _cw_app
Definition: flowthrough_wall_gradients.h:68
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.
real _r2
Definition: flowthrough_wall_gradients.h:60
void setup(const WxCryptSet &wxc) override
real _w_over_2
Definition: flowthrough_wall_gradients.h:62
std::vector< int > _q_idcs
Definition: flowthrough_wall_gradients.h:65
std::vector< int > _grad_q_idcs
Definition: flowthrough_wall_gradients.h:64
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: flowthrough_wall_gradients.h:39
real _w
Definition: flowthrough_wall_gradients.h:61
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: flowthrough_wall_gradients.h:44
real _gas_gamma
Definition: flowthrough_wall_gradients.h:57
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