WARPXM v1.10.0
Loading...
Searching...
No Matches
bdependent_diffusivity_flux.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6namespace wxm
7{
8namespace apps
9{
10namespace viscousmhd
11{
12
52{
53public:
55
57
58 void setup(const WxCryptSet& wxc) override;
59
60 const std::vector<int>& getInputVariableIndexes(int flag) const override
61 {
62 return _input_variables;
63 }
64 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
65 {
66 return _aux_variables;
67 }
68 const std::vector<int>& getOutputVariableIndexes(int flag) const override
69 {
70 return _output_variables;
71 }
72
73 // redefinition of fluxes from parent
75 const real* q_r,
76 const real* aux_l,
77 const real* aux_r,
78 const solverVariables_t* pFV,
79 real* numericalFlux) const override;
80
82 const real* aux,
83 const solverVariables_t* pSV,
84 std::vector<std::vector<real>>& internalFlux) const override;
85
86 // specific calls
88 const real* q_r,
89 const real* aux_l,
90 const real* aux_r,
91 const solverVariables_t* pFV,
92 real* numericalFlux) const;
93
95 const real* q_r,
96 const real* aux_l,
97 const real* aux_r,
98 const solverVariables_t* pFV,
99 real* numericalFlux) const;
100
101protected:
104
107
110
113
116
119
122
125
128
131
133
134 std::string _gradient_method;
135
138 int _ir, _ith, _iz; // r, theta, and z indices
139
140 std::vector<int> _input_variables;
141 std::vector<int> _aux_variables;
142 std::vector<int> _output_variables;
143
144 // flux tensor is used to calculate left and right fluxes for numerical flux
145 // mutable because this will continuously be changed upon call, but functions are
146 // labled const.
147 // this is just a helper vector so this behavior should be justified.
148 mutable std::vector<std::vector<real>> _flux_tensor;
149
150private:
153};
154
155} // namespace viscousmhd
156} // namespace apps
157} // 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
B-dependent diffusivity for MHD.
Definition: bdependent_diffusivity_flux.h:52
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: bdependent_diffusivity_flux.h:60
real _mass
Mass of species.
Definition: bdependent_diffusivity_flux.h:109
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 _D_min
Minimum diffusivity for B-dependent diffusivities.
Definition: bdependent_diffusivity_flux.h:118
real _B_ref
Reference magnetic field for B-dependent diffusivities.
Definition: bdependent_diffusivity_flux.h:112
real _cfl_diff
Definition: bdependent_diffusivity_flux.h:132
real _D_mom0
Momentum diffusivity coefficient for B=0.
Definition: bdependent_diffusivity_flux.h:121
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: bdependent_diffusivity_flux.h:64
void setup(const WxCryptSet &wxc) override
int _ir
Definition: bdependent_diffusivity_flux.h:138
real _gas_gamma
Adiabatic Index.
Definition: bdependent_diffusivity_flux.h:103
std::vector< int > _aux_variables
Definition: bdependent_diffusivity_flux.h:141
std::vector< int > _input_variables
Definition: bdependent_diffusivity_flux.h:140
std::vector< std::vector< real > > _flux_tensor
Definition: bdependent_diffusivity_flux.h:148
int _iz
Definition: bdependent_diffusivity_flux.h:138
int _radial_index
Definition: bdependent_diffusivity_flux.h:137
real _min_density
Density floor.
Definition: bdependent_diffusivity_flux.h:127
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
std::vector< int > _output_variables
Definition: bdependent_diffusivity_flux.h:142
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
std::string _gradient_method
Definition: bdependent_diffusivity_flux.h:134
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 _D_therm0
Thermal diffusivity coefficient for B=0.
Definition: bdependent_diffusivity_flux.h:124
real _charge
Charge of species.
Definition: bdependent_diffusivity_flux.h:106
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: bdependent_diffusivity_flux.h:68
real _min_pressure
Pressure floor.
Definition: bdependent_diffusivity_flux.h:130
int _ith
Definition: bdependent_diffusivity_flux.h:138
std::string _coordinate_system
Definition: bdependent_diffusivity_flux.h:136
real _n_min
Minimum density for B-dependent diffusivities.
Definition: bdependent_diffusivity_flux.h:115
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