WARPXM v1.10.0
Loading...
Searching...
No Matches
electric_field.h
Go to the documentation of this file.
1#pragma once
2
5
6// std includes
7#include <memory>
8#include <vector>
9#include <string>
10
11namespace wxm
12{
13namespace apps
14{
15namespace mhd_two_temperature
16{
17namespace resistive_mhd
18{
30{
31public:
33
34 ~ElectricField() override;
35
36 void setup(const WxCryptSet& wxc) override;
37
38 const std::vector<int>& getInputVariableIndexes(int flag) const override
39 {
40 return mhd_fluid_indices_;
41 }
42
43 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
44 {
46 }
47
48 const std::vector<int>& getOutputVariableIndexes(int flag) const override
49 {
51 }
52
62 void evaluate_function(const real* q,
63 const real* aux,
64 const solverVariables_t* pSV,
65 real* result) const override;
66
67protected:
69 std::unique_ptr<wxm::apps::mhd_two_temperature::AppSetupHelper> setup_helper_;
70
72 std::vector<int> mhd_fluid_indices_;
73
76
78 std::vector<int> electric_field_indices_;
79
87
88 std::string resistivity_type_;
97
99 std::string coordinate_system_;
100
103 int ir_, ith_, iz_;
104
105private:
106 ElectricField& operator=(const ElectricField& var);
107 ElectricField(const ElectricField& var);
108};
109
110} // namespace resistive_mhd
111} // namespace mhd_two_temperature
112} // namespace apps
113} // 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 resistive terms E = (dp/L) * (nupt) * e...
Definition: electric_field.h:30
std::vector< int > mhd_gradient_fluid_indices_
conserved variable vector to output to
Definition: electric_field.h:75
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: electric_field.h:38
bool const_resisitivity_
Definition: electric_field.h:90
int ir_
r, theta, and z indices
Definition: electric_field.h:103
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: electric_field.h:43
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:88
real min_density_floor_
Definition: electric_field.h:91
real min_pressure_floor_
Definition: electric_field.h:92
std::unique_ptr< wxm::apps::mhd_two_temperature::AppSetupHelper > setup_helper_
Helper object that automates common setup routines.
Definition: electric_field.h:69
real skin_depth_norm_
Definition: electric_field.h:81
real constant_resistivity_eta_
Definition: electric_field.h:89
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: electric_field.h:48
std::vector< int > electric_field_indices_
conserved variable vector to output to
Definition: electric_field.h:78
std::vector< int > mhd_fluid_indices_
conserved variable vector to output to
Definition: electric_field.h:72
std::string coordinate_system_
if cylindrical curlB has to be calculated differently
Definition: electric_field.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