WARPXM v1.10.0
Loading...
Searching...
No Matches
navier_stokes.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
18{
19public:
21
22 ~NavierStokes() override;
23
24 void setup(const WxCryptSet& wxc) override;
25
26 const std::vector<int>& getInputVariableIndexes(int flag) const override
27 {
28 return _input_variables;
29 }
30 const std::vector<int>& getAuxiliaryVariableIndexes(int flag) const override
31 {
32 return _aux_variables;
33 }
34
35 const std::vector<int>& getOutputVariableIndexes(int flag) const override
36 {
37 return _output_variables;
38 }
39
40 // redefinition of fluxes from parent
42 const real* q_r,
43 const real* aux_l,
44 const real* aux_r,
45 const solverVariables_t* pFV,
46 real* numericalFlux) const override;
47
49 const real* aux,
50 const solverVariables_t* pSV,
51 std::vector<std::vector<real>>& internalFlux) const override;
52
53protected:
54 std::unique_ptr<AppSetupHelper> _setup_helper;
62
63 std::vector<int> _input_variables;
64 std::vector<int> _aux_variables;
65 std::vector<int> _output_variables;
66
67private:
68 NavierStokes& operator=(const NavierStokes& var);
69 NavierStokes(const NavierStokes& var);
70};
71} // namespace five_moment
72} // namespace apps
73} // 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: navier_stokes.h:18
real _min_pressure
Minimum normalized pressure used in calculations.
Definition: navier_stokes.h:56
real _cfl_diff
Definition: navier_stokes.h:61
real _mass
Proton normalized mass.
Definition: navier_stokes.h:58
real _gas_gamma
Adiabatic index.
Definition: navier_stokes.h:57
const std::vector< int > & getOutputVariableIndexes(int flag) const override
Definition: navier_stokes.h:35
void setup(const WxCryptSet &wxc) override
std::vector< int > _input_variables
Definition: navier_stokes.h:63
const std::vector< int > & getInputVariableIndexes(int flag) const override
Definition: navier_stokes.h:26
real _thermal_conductivity
Definition: navier_stokes.h:60
real internal_flux(const real *q, const real *aux, const solverVariables_t *pSV, std::vector< std::vector< real > > &internalFlux) const override
const std::vector< int > & getAuxiliaryVariableIndexes(int flag) const override
Definition: navier_stokes.h:30
real _min_density
Minimum normalized mass density used in calculations.
Definition: navier_stokes.h:55
real _viscosity
Definition: navier_stokes.h:59
std::vector< int > _aux_variables
Definition: navier_stokes.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
std::vector< int > _output_variables
Definition: navier_stokes.h:65
std::unique_ptr< AppSetupHelper > _setup_helper
Helper object that automates common setup routines.
Definition: navier_stokes.h:54
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