WARPXM v1.10.0
Loading...
Searching...
No Matches
resistive_terms.h
Go to the documentation of this file.
1#pragma once
2
5
6// std includes
7#include <memory>
8
9namespace wxm
10{
11namespace apps
12{
13namespace mhd_two_temperature
14{
15namespace resistive_mhd
16{
27{
28public:
31
32 void setup(const WxCryptSet& wxc) override;
33
34 const std::vector<int>& getInputVariableIndexes(int flag) const override
35 {
36 return q_indexes_;
37 }
38
39 const std::vector<int>& getOutputVariableIndexes(int flag) const override
40 {
41 return q_indexes_;
42 }
43
44 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
45 {
46 return grad_q_indexes_;
47 }
48
51 const real* q_r,
52 const real* aux_l,
53 const real* aux_r,
54 const solverVariables_t* pFV,
55 real* numericalFlux) const override;
57 const real* aux,
58 const solverVariables_t* pSV,
59 std::vector<std::vector<real>>& internalFlux) const override;
60
61 real source(const real* q,
62 const real* aux,
63 const elementGeometry_t* pEG,
64 real* source) const override;
65
66protected:
69 const real* q_r,
70 const real* aux_l,
71 const real* aux_r,
72 const solverVariables_t* pFV,
73 real* numericalFlux) const;
74
76 const real* q_r,
77 const real* aux_l,
78 const real* aux_r,
79 const solverVariables_t* pFV,
80 real* numericalFlux) const;
81
83 std::unique_ptr<wxm::apps::mhd_two_temperature::AppSetupHelper> setup_helper_;
84
85 std::vector<int> q_indexes_;
86 std::vector<int> grad_q_indexes_;
87
97
100
101 std::string resistivity_type_;
102 std::string gradient_method_;
103
108
111
113
117 int ir_, ith_, iz_;
118
123 mutable std::vector<std::vector<real>> flux_tensor_;
124
125private:
126 ResistiveTerms& operator=(const ResistiveTerms& var);
127 ResistiveTerms(const ResistiveTerms& var);
128};
129
130} // namespace resistive_mhd
131} // namespace mhd_two_temperature
132} // namespace apps
133} // 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 used implement Resistive MHD terms for the Two-Temperature MHD model.
Definition: resistive_terms.h:27
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: resistive_terms.h:39
std::vector< int > q_indexes_
Definition: resistive_terms.h:85
real skin_depth_norm_
Definition: resistive_terms.h:93
real min_density_
Definition: resistive_terms.h:104
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
redefinition of fluxes from parent
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: resistive_terms.h:44
std::string resistivity_type_
Definition: resistive_terms.h:101
real min_pressure_floor_
Definition: resistive_terms.h:89
bool const_resisitivity_
Definition: resistive_terms.h:99
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
std::vector< int > grad_q_indexes_
Definition: resistive_terms.h:86
std::unique_ptr< wxm::apps::mhd_two_temperature::AppSetupHelper > setup_helper_
Helper object that automates common setup routines.
Definition: resistive_terms.h:83
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: resistive_terms.h:34
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
real source(const real *q, const real *aux, const elementGeometry_t *pEG, real *source) const override
real constant_resistivity_eta_
Definition: resistive_terms.h:98
real min_density_floor_
Definition: resistive_terms.h:88
std::string coordinate_system_
Definition: resistive_terms.h:114
int ir_
r, theta, and z indices
Definition: resistive_terms.h:117
std::vector< std::vector< real > > flux_tensor_
Flux tensor is used to calculate left and right fluxes for numerical flux mutable because this will c...
Definition: resistive_terms.h:123
real min_pressure_
Definition: resistive_terms.h:105
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
specific calls
std::string gradient_method_
Definition: resistive_terms.h:102
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