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
MixtureFractionEquationSystem.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 MixtureFractionEquationSystem_h
10 #define MixtureFractionEquationSystem_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,
36  const bool outputClippingDiag,
37  const double deltaZClip);
39 
40  void populate_derived_quantities();
41 
42  virtual void register_nodal_fields(
43  stk::mesh::Part *part);
44 
45  void register_interior_algorithm(
46  stk::mesh::Part *part);
47 
48  void register_inflow_bc(
49  stk::mesh::Part *part,
50  const stk::topology &theTopo,
51  const InflowBoundaryConditionData &inflowBCData);
52 
53  void register_open_bc(
54  stk::mesh::Part *part,
55  const stk::topology &theTopo,
56  const OpenBoundaryConditionData &openBCData);
57 
58  void register_wall_bc(
59  stk::mesh::Part *part,
60  const stk::topology &theTopo,
61  const WallBoundaryConditionData &wallBCData);
62 
63  virtual void register_symmetry_bc(
64  stk::mesh::Part *part,
65  const stk::topology &theTopo,
66  const SymmetryBoundaryConditionData &symmetryBCData);
67 
68  virtual void register_non_conformal_bc(
69  stk::mesh::Part *part,
70  const stk::topology &theTopo);
71 
72  virtual void register_overset_bc();
73 
74  virtual void register_initial_condition_fcn(
75  stk::mesh::Part *part,
76  const std::map<std::string, std::string> &theNames,
77  const std::map<std::string, std::vector<double> > &theParams);
78 
79  void initialize();
80  void reinitialize_linear_system();
81 
82  void predict_state();
83 
84  void solve_and_update();
85  void update_and_clip();
86  void compute_scalar_var_diss();
87 
88  void manage_projected_nodal_gradient(
89  EquationSystems& eqSystems);
90  void compute_projected_nodal_gradient();
91 
92  const bool managePNG_;
93  const bool outputClippingDiag_;
94  const double deltaZClip_;
95 
105 
108 
110 
111  bool isInit_;
112 };
113 
114 
115 } // namespace nalu
116 } // namespace Sierra
117 
118 #endif
ScalarFieldType * scalarDiss_
Definition: MixtureFractionEquationSystem.h:104
ScalarFieldType * mixFrac_
Definition: MixtureFractionEquationSystem.h:96
ProjectedNodalGradientEquationSystem * projectedNodalGradEqs_
Definition: MixtureFractionEquationSystem.h:109
Definition: ABLForcingAlgorithm.C:26
void initialize(int N, aligned_vector &x, aligned_vector &y)
Definition: UnitTestSimdBasic.C:37
ScalarFieldType * visc_
Definition: MixtureFractionEquationSystem.h:100
ScalarFieldType * evisc_
Definition: MixtureFractionEquationSystem.h:102
AssembleNodalGradAlgorithmDriver * assembleNodalGradAlgDriver_
Definition: MixtureFractionEquationSystem.h:106
ScalarFieldType * zTmp_
Definition: MixtureFractionEquationSystem.h:99
Definition: AssembleNodalGradAlgorithmDriver.h:20
const bool managePNG_
Definition: MixtureFractionEquationSystem.h:92
Definition: Algorithm.h:14
stk::mesh::Field< double, stk::mesh::Cartesian > VectorFieldType
Definition: FieldTypeDef.h:24
A collection of Equations to be solved on a Realm.
Definition: EquationSystems.h:56
Definition: NaluParsing.h:325
Definition: ProjectedNodalGradientEquationSystem.h:32
Definition: NaluParsing.h:305
const bool outputClippingDiag_
Definition: MixtureFractionEquationSystem.h:93
Base class representation of a PDE.
Definition: EquationSystem.h:46
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
Definition: MixtureFractionEquationSystem.h:30
VectorFieldType * dzdx_
Definition: MixtureFractionEquationSystem.h:98
Definition: NaluParsing.h:310
Definition: NaluParsing.h:315
AlgorithmDriver * diffFluxCoeffAlgDriver_
Definition: MixtureFractionEquationSystem.h:107
bool isInit_
Definition: MixtureFractionEquationSystem.h:111
const double deltaZClip_
Definition: MixtureFractionEquationSystem.h:94
ScalarFieldType * mixFracUF_
Definition: MixtureFractionEquationSystem.h:97
Definition: AlgorithmDriver.h:22
ScalarFieldType * scalarVar_
Definition: MixtureFractionEquationSystem.h:103
ScalarFieldType * tvisc_
Definition: MixtureFractionEquationSystem.h:101