9 #ifndef LowMachEquationSystem_h 10 #define LowMachEquationSystem_h 23 class AlgorithmDriver;
25 class AssembleNodalGradAlgorithmDriver;
26 class AssembleNodalGradUAlgorithmDriver;
27 class MomentumEquationSystem;
28 class ContinuityEquationSystem;
29 class ComputeMdotAlgorithmDriver;
31 class ProjectedNodalGradientEquationSystem;
32 class SurfaceForceAndMomentAlgorithmDriver;
40 const bool elementContinuityEqs);
45 virtual void register_nodal_fields(
46 stk::mesh::Part *part);
48 virtual void register_edge_fields(
49 stk::mesh::Part *part);
51 virtual void register_element_fields(
52 stk::mesh::Part *part,
53 const stk::topology &theTopo);
55 virtual void register_interior_algorithm(
56 stk::mesh::Part *part);
58 virtual void register_open_bc(
59 stk::mesh::Part *part,
60 const stk::topology &theTopo,
63 virtual void register_surface_pp_algorithm(
67 virtual void register_initial_condition_fcn(
68 stk::mesh::Part *part,
69 const std::map<std::string, std::string> &theNames,
70 const std::map<std::string, std::vector<double> > &theParams);
72 virtual void pre_iter_work();
73 virtual void solve_and_update();
74 virtual void post_adapt_work();
76 virtual void predict_state();
78 void project_nodal_velocity();
80 void post_converged_work();
105 virtual void initial_work();
107 virtual void register_nodal_fields(
108 stk::mesh::Part *part);
110 virtual void register_edge_fields(
111 stk::mesh::Part *part);
113 virtual void register_element_fields(
114 stk::mesh::Part *part,
115 const stk::topology &theTopo);
117 virtual void register_interior_algorithm(
118 stk::mesh::Part *part);
120 virtual void register_inflow_bc(
121 stk::mesh::Part *part,
122 const stk::topology &theTopo,
125 virtual void register_open_bc(
126 stk::mesh::Part *part,
127 const stk::topology &theTopo,
130 virtual void register_wall_bc(
131 stk::mesh::Part *part,
132 const stk::topology &theTopo,
135 virtual void register_symmetry_bc(
136 stk::mesh::Part *part,
137 const stk::topology &theTopo,
140 virtual void register_non_conformal_bc(
141 stk::mesh::Part *part,
142 const stk::topology &theTopo);
144 virtual void register_overset_bc();
147 virtual void reinitialize_linear_system();
149 virtual void predict_state();
151 void compute_wall_function_params();
153 virtual void manage_projected_nodal_gradient(
155 virtual void compute_projected_nodal_gradient();
189 const bool elementContinuityEqs);
192 virtual void register_nodal_fields(
193 stk::mesh::Part *part);
195 virtual void register_edge_fields(
196 stk::mesh::Part *part);
198 virtual void register_element_fields(
199 stk::mesh::Part *part,
200 const stk::topology &theTopo);
202 virtual void register_interior_algorithm(
203 stk::mesh::Part *part);
205 virtual void register_inflow_bc(
206 stk::mesh::Part *part,
207 const stk::topology &theTopo,
210 virtual void register_open_bc(
211 stk::mesh::Part *part,
212 const stk::topology &theTopo,
215 virtual void register_wall_bc(
216 stk::mesh::Part *part,
217 const stk::topology &theTopo,
220 virtual void register_symmetry_bc(
221 stk::mesh::Part *part,
222 const stk::topology &theTopo,
225 virtual void register_non_conformal_bc(
226 stk::mesh::Part *part,
227 const stk::topology &theTopo);
229 virtual void register_overset_bc();
232 virtual void reinitialize_linear_system();
234 virtual void register_initial_condition_fcn(
235 stk::mesh::Part *part,
236 const std::map<std::string, std::string> &theNames,
237 const std::map<std::string, std::vector<double> > &theParams);
239 virtual void manage_projected_nodal_gradient(
241 virtual void compute_projected_nodal_gradient();
VectorFieldType * coordinates_
Definition: LowMachEquationSystem.h:248
ScalarFieldType * massFlowRate_
Definition: LowMachEquationSystem.h:247
std::vector< Part * > PartVector
Definition: Algorithm.h:16
VectorFieldType * coordinates_
Definition: LowMachEquationSystem.h:162
ContinuityEquationSystem * continuityEqSys_
Definition: LowMachEquationSystem.h:84
Definition: ABLForcingAlgorithm.C:26
Definition: LowMachEquationSystem.h:97
void initialize(int N, aligned_vector &x, aligned_vector &y)
Definition: UnitTestSimdBasic.C:37
Definition: ComputeMdotAlgorithmDriver.h:21
Definition: LowMachEquationSystem.h:34
ScalarFieldType * density_
Definition: LowMachEquationSystem.h:86
AssembleNodalGradUAlgorithmDriver * assembleNodalGradAlgDriver_
Definition: LowMachEquationSystem.h:169
stk::mesh::Field< double, stk::mesh::SimpleArrayTag > GenericFieldType
Definition: FieldTypeDef.h:27
VectorFieldType * velocity_
Definition: LowMachEquationSystem.h:159
Definition: AssembleNodalGradAlgorithmDriver.h:20
ScalarFieldType * visc_
Definition: LowMachEquationSystem.h:165
AlgorithmDriver * cflReyAlgDriver_
Definition: LowMachEquationSystem.h:172
const bool managePNG_
Definition: LowMachEquationSystem.h:157
AlgorithmDriver * wallFunctionParamsAlgDriver_
Definition: LowMachEquationSystem.h:173
AssembleNodalGradAlgorithmDriver * assembleNodalGradAlgDriver_
Definition: LowMachEquationSystem.h:252
double firstPNGResidual_
Definition: LowMachEquationSystem.h:177
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
const bool elementContinuityEqs_
Definition: LowMachEquationSystem.h:243
Definition: NaluParsing.h:305
VectorFieldType * edgeAreaVec_
Definition: LowMachEquationSystem.h:89
Base class representation of a PDE.
Definition: EquationSystem.h:46
const bool elementContinuityEqs_
Definition: LowMachEquationSystem.h:82
ComputeMdotAlgorithmDriver * computeMdotAlgDriver_
Definition: LowMachEquationSystem.h:253
stk::mesh::Field< double > ScalarFieldType
Definition: FieldTypeDef.h:19
ScalarFieldType * viscosity_
Definition: LowMachEquationSystem.h:87
Definition: SurfaceForceAndMomentAlgorithmDriver.h:21
MomentumEquationSystem * momentumEqSys_
Definition: LowMachEquationSystem.h:83
Definition: AssembleNodalGradUAlgorithmDriver.h:19
ProjectedNodalGradientEquationSystem * projectedNodalGradEqs_
Definition: LowMachEquationSystem.h:175
ScalarFieldType * tvisc_
Definition: LowMachEquationSystem.h:166
ProjectedNodalGradientEquationSystem * projectedNodalGradEqs_
Definition: LowMachEquationSystem.h:254
bool isInit_
Definition: LowMachEquationSystem.h:93
Definition: NaluParsing.h:310
AlgorithmDriver * diffFluxCoeffAlgDriver_
Definition: LowMachEquationSystem.h:170
Definition: LowMachEquationSystem.h:183
Definition: NaluParsing.h:315
Definition: AlgorithmDriver.h:22
ScalarFieldType * dualNodalVolume_
Definition: LowMachEquationSystem.h:88
AlgorithmDriver * tviscAlgDriver_
Definition: LowMachEquationSystem.h:171
Definition: PostProcessingData.h:18
const bool managePNG_
Definition: LowMachEquationSystem.h:244
std::vector< stk::mesh::Part * > notProjectedPart_
Definition: LowMachEquationSystem.h:180
GenericFieldType * dudx_
Definition: LowMachEquationSystem.h:160
ScalarFieldType * pTmp_
Definition: LowMachEquationSystem.h:250
ScalarFieldType * evisc_
Definition: LowMachEquationSystem.h:167
SurfaceForceAndMomentAlgorithmDriver * surfaceForceAndMomentAlgDriver_
Definition: LowMachEquationSystem.h:91
ScalarFieldType * pressure_
Definition: LowMachEquationSystem.h:245
VectorFieldType * dpdx_
Definition: LowMachEquationSystem.h:246
VectorFieldType * uTmp_
Definition: LowMachEquationSystem.h:163