Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
TurbKineticEnergyEquationSystem.h
Go to the documentation of this file.
1 /*------------------------------------------------------------------------*/
2 /* Copyright 2014 Sandia Corporation. */
3 /* This software is released under the license detailed */
4 /* in the file, LICENSE, which is located in the top-level Nalu */
5 /* directory structure */
6 /*------------------------------------------------------------------------*/
7 
8 
9 #ifndef TurbKineticEnergyEquationSystem_h
10 #define TurbKineticEnergyEquationSystem_h
11 
12 #include <EquationSystem.h>
13 #include <FieldTypeDef.h>
14 #include <NaluParsing.h>
15 
16 namespace stk{
17 struct topology;
18 }
19 
20 namespace sierra{
21 namespace nalu{
22 
23 class AlgorithmDriver;
24 class Realm;
25 class AssembleNodalGradAlgorithmDriver;
26 class LinearSystem;
27 class EquationSystems;
28 class ProjectedNodalGradientEquationSystem;
29 
31 
32 public:
33 
35  EquationSystems& equationSystems);
37 
38  virtual void register_nodal_fields(
39  stk::mesh::Part *part);
40 
41  void register_interior_algorithm(
42  stk::mesh::Part *part);
43 
44  void register_inflow_bc(
45  stk::mesh::Part *part,
46  const stk::topology &theTopo,
47  const InflowBoundaryConditionData &inflowBCData);
48 
49  void register_open_bc(
50  stk::mesh::Part *part,
51  const stk::topology &theTopo,
52  const OpenBoundaryConditionData &openBCData);
53 
54  void register_wall_bc(
55  stk::mesh::Part *part,
56  const stk::topology &theTopo,
57  const WallBoundaryConditionData &wallBCData);
58 
59  virtual void register_symmetry_bc(
60  stk::mesh::Part *part,
61  const stk::topology &theTopo,
62  const SymmetryBoundaryConditionData &symmetryBCData);
63 
64  virtual void register_non_conformal_bc(
65  stk::mesh::Part *part,
66  const stk::topology &theTopo);
67 
68  virtual void register_overset_bc();
69 
70  void initialize();
71  void reinitialize_linear_system();
72 
73  void predict_state();
74 
75  void solve_and_update();
76  void initial_work();
77 
78  void compute_effective_diff_flux_coeff();
79  void compute_wall_model_parameters();
80  void update_and_clip();
81 
82  void manage_projected_nodal_gradient(
83  EquationSystems& eqSystems);
84  void compute_projected_nodal_gradient();
85 
86  const bool managePNG_;
87 
94 
99 
101 
102  bool isInit_;
103 
104 };
105 
106 
107 } // namespace nalu
108 } // namespace Sierra
109 
110 #endif
Definition: ABLForcingAlgorithm.C:26
void initialize(int N, aligned_vector &x, aligned_vector &y)
Definition: UnitTestSimdBasic.C:37
TurbulenceModel
Definition: Enums.h:145
Definition: AssembleNodalGradAlgorithmDriver.h:20
AlgorithmDriver * diffFluxCoeffAlgDriver_
Definition: TurbKineticEnergyEquationSystem.h:96
Definition: Algorithm.h:14
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
ScalarFieldType * evisc_
Definition: TurbKineticEnergyEquationSystem.h:93
A collection of Equations to be solved on a Realm.
Definition: EquationSystems.h:56
Definition: NaluParsing.h:325
Definition: ProjectedNodalGradientEquationSystem.h:32
bool isInit_
Definition: TurbKineticEnergyEquationSystem.h:102
VectorFieldType * dkdx_
Definition: TurbKineticEnergyEquationSystem.h:89
Definition: NaluParsing.h:305
Base class representation of a PDE.
Definition: EquationSystem.h:46
ScalarFieldType * tke_
Definition: TurbKineticEnergyEquationSystem.h:88
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
ScalarFieldType * tvisc_
Definition: TurbKineticEnergyEquationSystem.h:92
Definition: NaluParsing.h:310
Definition: NaluParsing.h:315
const TurbulenceModel turbulenceModel_
Definition: TurbKineticEnergyEquationSystem.h:98
Definition: AlgorithmDriver.h:22
ScalarFieldType * kTmp_
Definition: TurbKineticEnergyEquationSystem.h:90
ScalarFieldType * visc_
Definition: TurbKineticEnergyEquationSystem.h:91
AssembleNodalGradAlgorithmDriver * assembleNodalGradAlgDriver_
Definition: TurbKineticEnergyEquationSystem.h:95
AlgorithmDriver * wallFunctionTurbKineticEnergyAlgDriver_
Definition: TurbKineticEnergyEquationSystem.h:97
ProjectedNodalGradientEquationSystem * projectedNodalGradEqs_
Definition: TurbKineticEnergyEquationSystem.h:100
const bool managePNG_
Definition: TurbKineticEnergyEquationSystem.h:86
Definition: TurbKineticEnergyEquationSystem.h:30