Skip to content

Commit 156d0c5

Browse files
committed
Species Solver alone does all Pre/Postproc for Restarts.
I.e. only the Species solver is responsible for doin git correctly.
1 parent 24f33ca commit 156d0c5

3 files changed

Lines changed: 18 additions & 11 deletions

File tree

SU2_CFD/include/solvers/CFVMFlowSolverBase.inl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -950,9 +950,11 @@ void CFVMFlowSolverBase<V, R>::LoadRestart_impl(CGeometry **geometry, CSolver **
950950
solver[MESH_0][FLOW_SOL]->InitiateComms(geometry[MESH_0], config, SOLUTION);
951951
solver[MESH_0][FLOW_SOL]->CompleteComms(geometry[MESH_0], config, SOLUTION);
952952

953-
/*--- For turbulent simulations the flow preprocessing is done by the turbulence solver
954-
* after it loads its variables (they are needed to compute flow primitives). ---*/
955-
if (config->GetKind_Turb_Model() == TURB_MODEL::NONE) {
953+
/*--- For turbulent/species simulations the flow preprocessing is done by the turbulence/species solver
954+
* after it loads its variables (they are needed to compute flow primitives). In case turbulence and species, the
955+
* species solver does all the Pre-/Postprocessing. ---*/
956+
if (config->GetKind_Turb_Model() == TURB_MODEL::NONE &&
957+
config->GetKind_Species_Model() == SPECIES_MODEL::NONE) {
956958
solver[MESH_0][FLOW_SOL]->Preprocessing(geometry[MESH_0], solver[MESH_0], config, MESH_0, NO_RK_ITER, RUNTIME_FLOW_SYS, false);
957959
}
958960

@@ -981,7 +983,8 @@ void CFVMFlowSolverBase<V, R>::LoadRestart_impl(CGeometry **geometry, CSolver **
981983
solver[iMesh][FLOW_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION);
982984
solver[iMesh][FLOW_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION);
983985

984-
if (config->GetKind_Turb_Model() == TURB_MODEL::NONE) {
986+
if (config->GetKind_Turb_Model() == TURB_MODEL::NONE &&
987+
config->GetKind_Species_Model() == SPECIES_MODEL::NONE) {
985988
solver[iMesh][FLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS, false);
986989
}
987990
}

SU2_CFD/src/solvers/CSpeciesSolver.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,6 @@ void CSpeciesSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi
282282
solver[iMesh][SPECIES_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION);
283283
solver[iMesh][SPECIES_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION);
284284

285-
/*--- These solver Pre- Postprocessing calls should be consistent with the MESH_0 part above ---*/
286285
solver[iMesh][FLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS,
287286
false);
288287

SU2_CFD/src/solvers/CTurbSolver.cpp

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,12 @@ void CTurbSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig*
279279
solver[MESH_0][TURB_SOL]->InitiateComms(geometry[MESH_0], config, SOLUTION);
280280
solver[MESH_0][TURB_SOL]->CompleteComms(geometry[MESH_0], config, SOLUTION);
281281

282-
solver[MESH_0][FLOW_SOL]->Preprocessing(geometry[MESH_0], solver[MESH_0], config, MESH_0, NO_RK_ITER,
283-
RUNTIME_FLOW_SYS, false);
284-
solver[MESH_0][TURB_SOL]->Postprocessing(geometry[MESH_0], solver[MESH_0], config, MESH_0);
282+
/*--- For turbulent+species simulations the solver Pre-/Postprocessing is done by the species solver. ---*/
283+
if (config->GetKind_Species_Model() == SPECIES_MODEL::NONE) {
284+
solver[MESH_0][FLOW_SOL]->Preprocessing(geometry[MESH_0], solver[MESH_0], config, MESH_0, NO_RK_ITER,
285+
RUNTIME_FLOW_SYS, false);
286+
solver[MESH_0][TURB_SOL]->Postprocessing(geometry[MESH_0], solver[MESH_0], config, MESH_0);
287+
}
285288

286289
/*--- Interpolate the solution down to the coarse multigrid levels ---*/
287290

@@ -308,9 +311,11 @@ void CTurbSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfig*
308311
solver[iMesh][TURB_SOL]->InitiateComms(geometry[iMesh], config, SOLUTION);
309312
solver[iMesh][TURB_SOL]->CompleteComms(geometry[iMesh], config, SOLUTION);
310313

311-
solver[iMesh][FLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS,
312-
false);
313-
solver[iMesh][TURB_SOL]->Postprocessing(geometry[iMesh], solver[iMesh], config, iMesh);
314+
if (config->GetKind_Species_Model() == SPECIES_MODEL::NONE) {
315+
solver[iMesh][FLOW_SOL]->Preprocessing(geometry[iMesh], solver[iMesh], config, iMesh, NO_RK_ITER, RUNTIME_FLOW_SYS,
316+
false);
317+
solver[iMesh][TURB_SOL]->Postprocessing(geometry[iMesh], solver[iMesh], config, iMesh);
318+
}
314319
}
315320

316321
/*--- Go back to single threaded execution. ---*/

0 commit comments

Comments
 (0)