WARPXM v1.10.0
Loading...
Searching...
No Matches
bennett_equilibrium.h
Go to the documentation of this file.
1#pragma once
2
3// WARPXM includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace functions
11{
12namespace mhd
13{
49{
50public:
56
62
67 void setup(const WxCryptSet& wxc) override;
68
74 const std::vector<int>& getOutputVariableIndexes(int flag) const override
75 {
76 return _mhd_fluid;
77 }
78
86 void evaluate_function(const real* q,
87 const real* aux,
88 const solverVariables_t* pSV,
89 real* result) const override;
90
99 void bc_q(const real* q_in,
100 const real* aux_in,
101 const real* aux_out,
102 const solverVariables_t* pFV,
103 real* q_out) const override;
104
105protected:
106 std::vector<int> _mhd_fluid;
107
109 int _ir, _ith, _iz; // r, theta, and z indices
110
111 real _gas_gamma; // gamma
112 real _Ai; // mass
113 real _Zi; // charge
114 real _T; // uniform temperature
115 real _a; // pinch radius
116 real _I; // pinch current
117 real _wct; // (omega_c tau)
118
119 real _pert; // perturbation fraction on pressure
120 real _lambda; // wavelength of perturbation in z-coordinate
121
122private:
123 BennettEquilibrium& operator=(const BennettEquilibrium& var);
125};
126
127} // namespace mhd
128} // namespace functions
129} // namespace apps
130} // 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
Bennett Equilibrium for Ideal MHD Should Work for Cylindrical and Cartesian cases Ref.
Definition: bennett_equilibrium.h:49
int _ith
Definition: bennett_equilibrium.h:109
void setup(const WxCryptSet &wxc) override
Setup.
std::vector< int > _mhd_fluid
Definition: bennett_equilibrium.h:106
real _pert
Definition: bennett_equilibrium.h:119
real _wct
Definition: bennett_equilibrium.h:117
real _Ai
Definition: bennett_equilibrium.h:112
real _lambda
Definition: bennett_equilibrium.h:120
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of the function evaluator.
std::string _coordinate_system
Definition: bennett_equilibrium.h:108
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Grab output variable indices.
Definition: bennett_equilibrium.h:74
real _I
Definition: bennett_equilibrium.h:116
int _iz
Definition: bennett_equilibrium.h:109
real _a
Definition: bennett_equilibrium.h:115
int _ir
Definition: bennett_equilibrium.h:109
real _T
Definition: bennett_equilibrium.h:114
real _gas_gamma
Definition: bennett_equilibrium.h:111
real _Zi
Definition: bennett_equilibrium.h:113
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 the bc.
list apps
Definition: shock_tube.py:33
warpy mhd
Definition: mhd_shock.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