WARPXM v1.10.0
Loading...
Searching...
No Matches
electric_field.h
Go to the documentation of this file.
1#pragma once
2
3// General includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace rmhd
11{
12
20{
21public:
23
24 ~ElectricField() override;
25
26 void setup(const WxCryptSet& wxc) override;
27
28 const std::vector<int>& getInputVariableIndexes(int flag) const override
29 {
30 return _fluid_idcs;
31 }
32
33 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
34 {
36 }
37
38 const std::vector<int>& getOutputVariableIndexes(int flag) const override
39 {
41 }
42
52 void evaluate_function(const real* q,
53 const real* aux,
54 const solverVariables_t* pSV,
55 real* result) const override;
56
57protected:
58 std::vector<int> _fluid_idcs; // conserved variable vector to output to
59 std::vector<int> _gradient_fluid_idcs; // conserved variable vector to output to
60 std::vector<int> _electric_field_idcs; // conserved variable vector to output to
68
69 std::string _resistivity_type;
78
79 // if cylindrical curlB has to be calculated differently
80 std::string _coordinate_system;
82 int _ir, _ith, _iz; // r, theta, and z indices
83
84private:
85 ElectricField& operator=(const ElectricField& var);
86 ElectricField(const ElectricField& var);
87};
88
89} // namespace rmhd
90} // namespace apps
91} // 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
Class that calculates the electric field from Ohm's Law using ideal and resistive terms E = -u x B + ...
Definition: electric_field.h:20
real _Zi
Definition: electric_field.h:66
std::string _coordinate_system
Definition: electric_field.h:80
real _min_eta
Definition: electric_field.h:75
real _min_density
Definition: electric_field.h:72
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: electric_field.h:28
std::vector< int > _gradient_fluid_idcs
Definition: electric_field.h:59
real _min_pressure
Definition: electric_field.h:73
int _ith
Definition: electric_field.h:82
real _skin_depth_norm
Definition: electric_field.h:62
std::vector< int > _fluid_idcs
Definition: electric_field.h:58
real _nu_p_norm
Definition: electric_field.h:63
real _gas_gamma
Definition: electric_field.h:61
int _ir
Definition: electric_field.h:82
real _constant_resistivity_eta
Definition: electric_field.h:70
real _omega_p_norm
Definition: electric_field.h:64
int _radial_index
Definition: electric_field.h:81
bool _const_resisitivity
Definition: electric_field.h:71
real _n_vac
Definition: electric_field.h:76
int _iz
Definition: electric_field.h:82
real _max_eta
Definition: electric_field.h:74
std::vector< int > _electric_field_idcs
Definition: electric_field.h:60
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: electric_field.h:33
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: electric_field.h:38
real _eta_vac
Definition: electric_field.h:77
real _Ai
Definition: electric_field.h:65
void setup(const WxCryptSet &wxc) override
real _lnlam
Definition: electric_field.h:67
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of fluxes from parent.
std::string _resistivity_type
Definition: electric_field.h:69
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