VertexCFD  0.0-dev
VertexCFD_EquationSet_IncompressibleNavierStokes.hpp
1 #ifndef VERTEXCFD_EQUATIONSET_INCOMPRESSIBLE_NAVIERSTOKES_HPP
2 #define VERTEXCFD_EQUATIONSET_INCOMPRESSIBLE_NAVIERSTOKES_HPP
3 
4 #include <Panzer_CellData.hpp>
5 #include <Panzer_EquationSet_DefaultImpl.hpp>
6 #include <Panzer_GlobalData.hpp>
7 #include <Panzer_Traits.hpp>
8 
9 #include <Phalanx_FieldManager.hpp>
10 
11 #include <Teuchos_ParameterList.hpp>
12 #include <Teuchos_RCP.hpp>
13 
14 #include <string>
15 #include <unordered_map>
16 #include <vector>
17 
18 namespace VertexCFD
19 {
20 namespace EquationSet
21 {
22 //---------------------------------------------------------------------------//
23 // Isothermal Navier Stokes equations for incompressible flow.
24 // Navier Stokes equations for incompressible flow.
25 //---------------------------------------------------------------------------//
26 template<class EvalType>
28  : public panzer::EquationSet_DefaultImpl<EvalType>
29 {
30  public:
31  IncompressibleNavierStokes(const Teuchos::RCP<Teuchos::ParameterList>& params,
32  const int& default_integration_order,
33  const panzer::CellData& cell_data,
34  const Teuchos::RCP<panzer::GlobalData>& gd,
35  const bool build_transient_support);
36 
37  void buildAndRegisterEquationSetEvaluators(
38  PHX::FieldManager<panzer::Traits>& fm,
39  const panzer::FieldLibrary& field_library,
40  const Teuchos::ParameterList& user_data) const override;
41 
42  private:
43  int _num_space_dim;
44  std::unordered_map<std::string, std::string> _equ_dof_ns_pair;
45  std::unordered_map<std::string, std::string> _equ_dof_ep_pair;
46  std::unordered_map<std::string, std::string> _equ_dof_tm_pair;
47  std::unordered_map<std::string, std::unordered_map<std::string, bool>>
48  _equ_source_term;
49  bool _build_viscous_flux;
50  bool _build_temp_equ;
51  bool _build_ind_less_equ;
52  bool _build_constant_source;
53  bool _build_buoyancy_source;
54  bool _build_viscous_heat;
55  std::string _turbulence_model;
56  std::string _stabilization_method;
57  bool _build_godunov_powell_source;
58  bool _build_joule_heating_source;
59 
60  enum class ConModel
61  {
62  AC,
63  EDAC,
64  EDACTempNC
65  };
66  ConModel _continuity_model;
67 };
68 
69 //---------------------------------------------------------------------------//
70 
71 } // end namespace EquationSet
72 } // end namespace VertexCFD
73 
74 #endif // end VERTEXCFD_EQUATIONSET_INCOMPRESSIBLE_NAVIERSTOKES_HPP
VertexCFD
Definition: tstMethodManufacturedSolutionBC.cpp:23
VertexCFD::EquationSet::IncompressibleNavierStokes
Definition: VertexCFD_EquationSet_IncompressibleNavierStokes.hpp:29