WARPXM v1.10.0
Loading...
Searching...
No Matches
euler.h
Go to the documentation of this file.
1#pragma once
2
3// wxm includes
5#include "app_setup_helper.h"
6
7// STL includes
8#include <memory>
9
10namespace wxm
11{
12namespace apps
13{
14namespace five_moment
15{
16
33class Euler : public WmApplication
34{
35public:
37
38 void setup(const WxCryptSet& wxc) override;
39
40 const std::vector<int>& getInputVariableIndexes(int flag) const override
41 {
42 return _variables;
43 }
44 const std::vector<int>& getOutputVariableIndexes(int flag) const override
45 {
46 return _variables;
47 }
48
49 // redefinition of fluxes from parent
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;
56
58 const real* aux,
59 const solverVariables_t* pSV,
60 std::vector<std::vector<real>>& internalFlux) const override;
61
62protected:
64 std::unique_ptr<AppSetupHelper> _setup_helper;
65
70 std::vector<int> _variables;
71
74
75private:
76 Euler& operator=(const Euler& var) = delete;
77 Euler(const Euler& var) = delete;
78};
79} // namespace five_moment
80} // namespace apps
81} // 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
Euler flux.
Definition: euler.h:34
real _min_pressure
Minimum normalized pressure used in calculations.
Definition: euler.h:67
std::vector< int > _variables
Definition: euler.h:70
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: euler.h:44
real _min_density
Minimum normalized mass density used in calculations.
Definition: euler.h:66
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: euler.h:40
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
void setup(const WxCryptSet &wxc) override
std::string _numerical_flux_type
Definition: euler.h:72
bool _entropy_fix
Definition: euler.h:73
std::unique_ptr< AppSetupHelper > _setup_helper
Helper object that automates common setup routines.
Definition: euler.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
real _gas_gamma
Adiabatic index.
Definition: euler.h:68
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