WARPXM v1.10.0
Loading...
Searching...
No Matches
diffusion.h
Go to the documentation of this file.
1#pragma once
2
3// Wm includes
5
6namespace wxm
7{
8namespace apps
9{
11{
12public:
14
15 void setup(const WxCryptSet& wxc) override;
16
17 const std::vector<int>& getInputVariableIndexes(int flag) const override
18 {
19 return _input_variables;
20 }
21
22 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
23 {
24 // return _gradient_variables;
25 return _aux_variables;
26 }
27
28 const std::vector<int>& getOutputVariableIndexes(int flag) const override
29 {
30 return _output_variables;
31 }
32
33 // redefinition of fluxes from parent
35 const real* q_r,
36 const real* aux_l,
37 const real* aux_r,
38 const solverVariables_t* pFV,
39 real* numericalFlux) const override;
41 const real* aux,
42 const solverVariables_t* pSV,
43 std::vector<std::vector<real>>& internalFlux) const override;
44
45 // specific calls
47 const real* q_r,
48 const real* aux_l,
49 const real* aux_r,
50 const solverVariables_t* pFV,
51 real* numericalFlux) const;
52
54 const real* q_r,
55 const real* aux_l,
56 const real* aux_r,
57 const solverVariables_t* pFV,
58 real* numericalFlux) const;
59
60protected:
63
64 std::string _gradient_method;
65
66 std::vector<int> _input_variables;
67 std::vector<int> _aux_variables;
68 std::vector<int> _output_variables;
69
70private:
71 diffusion_t& operator=(const diffusion_t& var);
72 diffusion_t(const diffusion_t& var);
73};
74
75} // namespace apps
76} // 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
Definition: diffusion.h:11
std::vector< int > _aux_variables
Definition: diffusion.h:67
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 _cfl_diff
Definition: diffusion.h:62
real _diffusion_coefficient
Definition: diffusion.h:61
std::string _gradient_method
Definition: diffusion.h:64
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
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: diffusion.h:17
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
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: diffusion.h:28
std::vector< int > _output_variables
Definition: diffusion.h:68
void setup(const WxCryptSet &wxc) override
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
std::vector< int > _input_variables
Definition: diffusion.h:66
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: diffusion.h:22
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