WARPXM v1.10.0
Loading...
Searching...
No Matches
euler1d_riemann_problem_analytic_solution.h
Go to the documentation of this file.
1#ifndef WXM_APPS_5MOMENT_EULER1D_RIEMANN_PROBLEM_ANALYTIC_SOLUTION_H
2#define WXM_APPS_5MOMENT_EULER1D_RIEMANN_PROBLEM_ANALYTIC_SOLUTION_H
3
4// General includes
6
7// Specific includes
8// #include "apps/vlasovmaxwell/vlasovmaxwell.h"
9
10namespace wxm
11{
12namespace apps
13{
14namespace five_moment
15{
16
28{
29public:
31
33
48 void setup(const WxCryptSet& wxc) override;
49
50 // const std::vector<int>& getInputVariableIndexes(int flag) const override
51 // {
52 // return _variables;
53 // }
54
55 const std::vector<int>& getOutputVariableIndexes(int flag) const override
56 {
57 return _variables;
58 }
59
60 // const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
61 // {
62 // return _auxVariables;
63 // }
64
76 void evaluate_function(const real* q,
77 const real* aux,
78 const solverVariables_t* pSV,
79 real* result) const override;
80
81protected:
82 real _gas_gamma; // gamma
83
84 real _xc; // x center location (where jump is)
85
86 std::vector<real> _w_left; // input left state primitive variables, (rho_left, u_left,
87 // v_left=0, w_left=0, press_left)
88 std::vector<real> _w_right; // input right state primitive variables, (rho_right,
89 // u_right, v_right=0, w_right=0, press_right)
90
91 std::vector<real> _q_left; // input left conserved variables, (rho_left, px_left,
92 // py_left=0, pz_left=0, ener_left)
93 std::vector<real> _q_right; // input right conserved variables, rho_right, px_right,
94 // py_right=0, pz_right=0, ener_right)
95
96 std::vector<real> _wave_speeds; // calculated wave speeds
97 std::vector<std::vector<real>> _q_states; // calculated conserved variable states
98 std::vector<std::vector<real>> _w_states; // calcualtes primitive variable states
99
100 std::vector<int> _variables; // conserved variable vector to output to
101
102private:
104 operator=(const Euler1D_Riemann_Problem_Analytic_Solution& var);
107};
108
109} // namespace five_moment
110} // namespace apps
111} // namespace wxm
112
113#endif // WXM_APPS_5MOMENT_EULER1D_RIEMANN_PROBLEM_ANALYTIC_SOLUTION_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
Class that calculates the analytic solution to the Riemann Problem for the Euler Equations.
Definition: euler1d_riemann_problem_analytic_solution.h:28
std::vector< real > _w_left
Definition: euler1d_riemann_problem_analytic_solution.h:86
std::vector< real > _q_right
Definition: euler1d_riemann_problem_analytic_solution.h:93
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: euler1d_riemann_problem_analytic_solution.h:55
std::vector< real > _q_left
Definition: euler1d_riemann_problem_analytic_solution.h:91
std::vector< int > _variables
Definition: euler1d_riemann_problem_analytic_solution.h:100
void evaluate_function(const real *q, const real *aux, const solverVariables_t *pSV, real *result) const override
Redefinition of fluxes from parent.
std::vector< real > _wave_speeds
Definition: euler1d_riemann_problem_analytic_solution.h:96
std::vector< std::vector< real > > _w_states
Definition: euler1d_riemann_problem_analytic_solution.h:98
std::vector< std::vector< real > > _q_states
Definition: euler1d_riemann_problem_analytic_solution.h:97
std::vector< real > _w_right
Definition: euler1d_riemann_problem_analytic_solution.h:88
real _xc
Definition: euler1d_riemann_problem_analytic_solution.h:84
void setup(const WxCryptSet &wxc) override
Determine all states and wave speeds given initial pritimive variable left and right conditions for t...
real _gas_gamma
Definition: euler1d_riemann_problem_analytic_solution.h:82
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