WARPXM v1.10.0
Loading...
Searching...
No Matches
outflow.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
6
7#include <memory>
8
9namespace wxm
10{
11namespace apps
12{
13namespace mhd_two_temperature
14{
15namespace bc
16{
36class Outflow : public WmApplication
37{
38public:
40 ~Outflow() override;
41
42 void setup(const WxCryptSet& wxc) override;
43
44 const std::vector<int>& getInputVariableIndexes(int flag) const override
45 {
46 return mhd_fluid_indices_;
47 }
48
49 const std::vector<int>& getOutputVariableIndexes(int flag) const override
50 {
51 return mhd_fluid_indices_;
52 }
53
55 void bc_q(const real* q_in,
56 const real* aux_in,
57 const real* aux_out,
58 const solverVariables_t* pFV,
59 real* q_out) const override;
60
61protected:
63 std::unique_ptr<wxm::apps::mhd_two_temperature::AppSetupHelper> setup_helper_;
64
65 std::vector<int> mhd_fluid_indices_;
66
69
75
76private:
77 Outflow& operator=(const Outflow& var);
78 Outflow(const Outflow& var);
79};
80// // // // // // // // // // // // // // // // // // // // // // //
81// Gradient Boundary Condition
82// // // // // // // // // // // // // // // // // // // // // // //
95{
96public:
98
100
101 void setup(const WxCryptSet& wxc) override;
102
103 const std::vector<int>& getInputVariableIndexes(int flag) const override
104 {
106 }
107
108 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
109 {
110 return mhd_fluid_indices_;
111 }
112
113 const std::vector<int>& getOutputVariableIndexes(int flag) const override
114 {
116 }
117
119 void bc_q(const real* q_in,
120 const real* aux_in,
121 const real* aux_out,
122 const solverVariables_t* pFV,
123 real* q_out) const override;
124
125protected:
127 std::unique_ptr<wxm::apps::mhd_two_temperature::AppSetupHelper> setup_helper_;
128
131
133 std::vector<int> mhd_fluid_indices_;
134
136
137private:
138 OutflowGradients& operator=(const OutflowGradients& var);
140};
141
142} // namespace bc
143} // namespace mhd_two_temperature
144} // namespace apps
145} // 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
Sets outflow BC for gradients.
Definition: outflow.h:95
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 bc
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: outflow.h:113
std::unique_ptr< wxm::apps::mhd_two_temperature::AppSetupHelper > setup_helper_
Helper object that automates common setup routines.
Definition: outflow.h:127
void setup(const WxCryptSet &wxc) override
real min_density_floor_
Definition: outflow.h:129
real min_pressure_floor_
Definition: outflow.h:130
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: outflow.h:108
std::vector< int > mhd_fluid_indices_
Definition: outflow.h:133
std::vector< int > mhd_fluid_gradient_indices_
Definition: outflow.h:132
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: outflow.h:103
Sets outflow BC.
Definition: outflow.h:37
void setup(const WxCryptSet &wxc) override
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 bc
std::vector< int > mhd_fluid_indices_
Definition: outflow.h:65
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: outflow.h:44
real Tout_
Definition: outflow.h:74
real gas_gamma_
Definition: outflow.h:70
real Ai_
Definition: outflow.h:71
real Zi_
Definition: outflow.h:72
real nout_
Definition: outflow.h:73
real min_density_floor_
Definition: outflow.h:67
std::unique_ptr< wxm::apps::mhd_two_temperature::AppSetupHelper > setup_helper_
Helper object that automates common setup routines.
Definition: outflow.h:63
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: outflow.h:49
real min_pressure_floor_
Definition: outflow.h:68
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