WARPXM v1.10.0
Loading...
Searching...
No Matches
current_density.h
Go to the documentation of this file.
1#ifndef WXM_APPS_MHD_CURRENT_DENSITY_H
2#define WXM_APPS_MHD_CURRENT_DENSITY_H
3
4// General includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace rmhd
12{
13
22{
23public:
25
26 ~CurrentDensity() override;
27
28 void setup(const WxCryptSet& wxc) override;
29
30 const std::vector<int>& getInputVariableIndexes(int flag) const override
31 {
32 return _grad_B;
33 }
34
35 const std::vector<int>& getOutputVariableIndexes(int flag) const override
36 {
37 return _J;
38 }
39
40 // const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
41 // {
42 // return _auxVariables;
43 // }
44
54 void evaluate_function(const real* q,
55 const real* aux,
56 const solverVariables_t* pSV,
57 real* result) const override;
58
59protected:
60 std::vector<int> _grad_B; // conserved variable vector to output to
61 std::vector<int> _J; // conserved variable vector to output to
63
64 // if cylindrical curlB has to be calculated differently
65 std::string _coordinate_system;
67 int _ir, _ith, _iz; // r, theta, and z indices
68
69private:
70 CurrentDensity& operator=(const CurrentDensity& var);
72};
73
74} // namespace rmhd
75} // namespace apps
76} // namespace wxm
77
78#endif // WXM_APPS_MHD_CURRENT_DENSITY_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 current gradient J from deritives of B: That is, J = skin_depth_norm * curl...
Definition: current_density.h:22
int _ith
Definition: current_density.h:67
std::string _coordinate_system
Definition: current_density.h:65
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: current_density.h:30
real _skin_depth_norm
Definition: current_density.h:62
void setup(const WxCryptSet &wxc) override
std::vector< int > _J
Definition: current_density.h:61
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: current_density.h:35
int _iz
Definition: current_density.h:67
int _ir
Definition: current_density.h:67
int _radial_index
Definition: current_density.h:66
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of fluxes from parent.
std::vector< int > _grad_B
Definition: current_density.h:60
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