WARPXM v1.10.0
Loading...
Searching...
No Matches
wmapplication_intraspecies_collisions_mhd.h
Go to the documentation of this file.
1#ifndef WXM_APPS_MHD_INTRASPECIESCOLLISIONS_H
2#define WXM_APPS_MHD_INTRASPECIESCOLLISIONS_H
3
4// Wm includes
6
7namespace wxm
8{
9namespace apps
10{
11namespace viscousmhd
12{
13
24{
25public:
27
29
30 void setup(const WxCryptSet& wxc) override;
31
32 const std::vector<int>& getInputVariableIndexes(int flag) const override
33 {
34 return _input_variables;
35 }
36 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
37 {
38 return _aux_variables;
39 }
40 const std::vector<int>& getOutputVariableIndexes(int flag) const override
41 {
42 return _output_variables;
43 }
44
45 // redefinition of fluxes from parent
47 const real* q_r,
48 const real* aux_l,
49 const real* aux_r,
50 const solverVariables_t* pFV,
51 real* numericalFlux) const override;
52
54 const real* aux,
55 const solverVariables_t* pSV,
56 std::vector<std::vector<real>>& internalFlux) const override;
57
58 // specific calls
60 const real* q_r,
61 const real* aux_l,
62 const real* aux_r,
63 const solverVariables_t* pFV,
64 real* numericalFlux) const;
65
67 const real* q_r,
68 const real* aux_l,
69 const real* aux_r,
70 const solverVariables_t* pFV,
71 real* numericalFlux) const;
72
73protected:
76
79
82
85
88
90
93
97
101
106
108
109 std::string _gradient_method;
110
113 int _ir, _ith, _iz; // r, theta, and z indices
114
115 std::vector<int> _input_variables;
116 std::vector<int> _aux_variables;
117 std::vector<int> _output_variables;
118
119 // flux tensor is used to calculate left and right fluxes for numerical flux
120 // mutable because this will continuously be changed upon call, but functions are
121 // labled const.
122 // this is just a helper vector so this behavior should be justified.
123 mutable std::vector<std::vector<real>> _flux_tensor;
124
125private:
128};
129} // namespace viscousmhd
130} // namespace apps
131} // namespace wxm
132
133#endif // WXM_APPS_MHD_INTRASPECIESCOLLISIONS_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
Intraspecies collisions for MHD.
Definition: wmapplication_intraspecies_collisions_mhd.h:24
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: wmapplication_intraspecies_collisions_mhd.h:40
bool _ifconst_k
Definition: wmapplication_intraspecies_collisions_mhd.h:100
std::string _gradient_method
Definition: wmapplication_intraspecies_collisions_mhd.h:109
int _radial_index
Definition: wmapplication_intraspecies_collisions_mhd.h:112
real _coulomb_log
Coulomb log (defaults to 10).
Definition: wmapplication_intraspecies_collisions_mhd.h:87
int _ir
Definition: wmapplication_intraspecies_collisions_mhd.h:113
real _const_mu
Constant viscosity coefficient (if absent, physical value is computed)
Definition: wmapplication_intraspecies_collisions_mhd.h:95
int _ith
Definition: wmapplication_intraspecies_collisions_mhd.h:113
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: wmapplication_intraspecies_collisions_mhd.h:36
real _min_density
Density floor.
Definition: wmapplication_intraspecies_collisions_mhd.h:103
real _minimum_frequency
Minimum collision frequency (defaults to 0).
Definition: wmapplication_intraspecies_collisions_mhd.h:92
std::vector< std::vector< real > > _flux_tensor
Definition: wmapplication_intraspecies_collisions_mhd.h:123
bool _ifconst_mu
Definition: wmapplication_intraspecies_collisions_mhd.h:96
std::string _coordinate_system
Definition: wmapplication_intraspecies_collisions_mhd.h:111
real _nuptau
Normalized collision frequency, needed if using Chodura resistivity.
Definition: wmapplication_intraspecies_collisions_mhd.h:84
std::vector< int > _output_variables
Definition: wmapplication_intraspecies_collisions_mhd.h:117
real numerical_flux(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const override
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
real _mass
Mass of species.
Definition: wmapplication_intraspecies_collisions_mhd.h:81
std::vector< int > _input_variables
Definition: wmapplication_intraspecies_collisions_mhd.h:115
real _min_pressure
Pressure floor.
Definition: wmapplication_intraspecies_collisions_mhd.h:105
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: wmapplication_intraspecies_collisions_mhd.h:32
real _cfl_diff
Definition: wmapplication_intraspecies_collisions_mhd.h:107
real _charge
Ion charge of species.
Definition: wmapplication_intraspecies_collisions_mhd.h:78
void setup(const WxCryptSet &wxc) override
real _const_k
Constant thermal conductivity coefficient (if absent, physical value is computed)
Definition: wmapplication_intraspecies_collisions_mhd.h:99
std::vector< int > _aux_variables
Definition: wmapplication_intraspecies_collisions_mhd.h:116
real numerical_flux_ip(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
real _gas_gamma
Adiabatic Index.
Definition: wmapplication_intraspecies_collisions_mhd.h:75
int _iz
Definition: wmapplication_intraspecies_collisions_mhd.h:113
real numerical_flux_ldg(const real *q_l, const real *q_r, const real *aux_l, const real *aux_r, const solverVariables_t *pFV, real *numericalFlux) const
real _collision_coefficient
Definition: wmapplication_intraspecies_collisions_mhd.h:89
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