WARPXM v1.10.0
Loading...
Searching...
No Matches
hartmann_flow.h
Go to the documentation of this file.
1#ifndef WXM_APPS_MHD_HARTMANN_FLOW_ANALYTIC_SOLUTION_H
2#define WXM_APPS_MHD_HARTMANN_FLOW_ANALYTIC_SOLUTION_H
3
4// General includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace mhd
12{
13namespace analytic_solutions
14{
15
24{
25public:
27
28 ~Hartmann_flow() override;
29
41 void setup(const WxCryptSet& wxc) override;
42
43 // const std::vector<int>& getInputVariableIndexes(int flag) const override
44 // {
45 // return _variables;
46 // }
47
48 const std::vector<int>& getOutputVariableIndexes(int flag) const override
49 {
50 return _variables;
51 }
52
53 // const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
54 // {
55 // return _auxVariables;
56 // }
57
58 static void analytic_solution(real x,
59 real gasGamma,
60 real hartmann_number_reference,
61 real reynolds_number_reference,
62 real bx,
63 real L,
64 real eta,
65 real mu,
66 real dpdy,
67 real wall_velocity,
68 real* result
69
70 );
71
81 void evaluate_function(const real* q,
82 const real* aux,
83 const solverVariables_t* pSV,
84 real* result) const override;
85
86protected:
87 real _gasGamma; // gamma
98
99 std::vector<int> _variables; // conserved variable vector to output to
100
101private:
102 Hartmann_flow& operator=(const Hartmann_flow& var);
103 Hartmann_flow(const Hartmann_flow& var);
104};
105
106} // namespace analytic_solutions
107} // namespace mhd
108} // namespace apps
109} // namespace wxm
110
111#endif // WXM_APPS_MHD_HARTMANN_FLOW_ANALYTIC_SOLUTION_H
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
Class that calculates the analytic solution to the Hartmann Flow Problem for the MHD Equations.
Definition: hartmann_flow.h:24
real _eta
Definition: hartmann_flow.h:94
real _mu
Definition: hartmann_flow.h:95
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: hartmann_flow.h:48
real _reynolds_number_reference
Definition: hartmann_flow.h:97
real _pressure
Definition: hartmann_flow.h:89
real _bx
Definition: hartmann_flow.h:91
real _L
Definition: hartmann_flow.h:93
void setup(const WxCryptSet &wxc) override
Determine all states and wave speeds given initial pritimive variable left and right conditions for t...
real _gasGamma
Definition: hartmann_flow.h:87
real _hartmann_number_reference
Definition: hartmann_flow.h:96
real _density
Definition: hartmann_flow.h:88
real _dpdy
Definition: hartmann_flow.h:92
static void analytic_solution(real x, real gasGamma, real hartmann_number_reference, real reynolds_number_reference, real bx, real L, real eta, real mu, real dpdy, real wall_velocity, real *result)
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of fluxes from parent.
real _wall_velocity
Definition: hartmann_flow.h:90
std::vector< int > _variables
Definition: hartmann_flow.h:99
list apps
Definition: shock_tube.py:33
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