Skip to content

Commit e7d6c12

Browse files
authored
Merge pull request #2662 from shbhmexe/fix/solver-initialization-and-logic-bugs
Fix solver initialization and multigrid logic bugs
2 parents 7b99329 + 5e1b61c commit e7d6c12

2 files changed

Lines changed: 6 additions & 7 deletions

File tree

SU2_CFD/src/solvers/CTransLMSolver.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ void CTransLMSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai
214214
const su2double vel_u = flowNodes->GetVelocity(iPoint, 0);
215215
const su2double vel_v = flowNodes->GetVelocity(iPoint, 1);
216216
const su2double vel_w = (nDim ==3) ? flowNodes->GetVelocity(iPoint, 2) : 0.0;
217-
const su2double VelocityMag = sqrt(vel_u*vel_u + vel_v*vel_v + vel_w*vel_w);
217+
const su2double VelocityMag = max(sqrt(pow(vel_u, 2) + pow(vel_v, 2) + pow(vel_w, 2)), EPS);
218218
su2double omega = 0.0;
219219
su2double k = 0.0;
220220
if(TurbFamily == TURB_FAMILY::KW){
@@ -253,8 +253,8 @@ void CTransLMSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai
253253
su2double Intermittency_Sep = 2.0*max(0.0, Re_v/(3.235*Corr_Rec)-1.0)*f_reattach;
254254
Intermittency_Sep = min(Intermittency_Sep,2.0)*f_theta;
255255
Intermittency_Sep = min(max(0.0, Intermittency_Sep), 2.0);
256-
nodes -> SetIntermittencySep(iPoint, Intermittency_Sep);
257-
nodes -> SetIntermittencyEff(iPoint, Intermittency_Sep);
256+
nodes->SetIntermittencySep(iPoint, Intermittency_Sep);
257+
nodes->SetIntermittencyEff(iPoint, Intermittency_Sep);
258258

259259
}
260260
END_SU2_OMP_FOR
@@ -282,7 +282,6 @@ void CTransLMSolver::Source_Residual(CGeometry *geometry, CSolver **solver_conta
282282
const bool implicit = (config->GetKind_TimeIntScheme() == EULER_IMPLICIT);
283283

284284
auto* flowNodes = su2staticcast_p<CFlowVariable*>(solver_container[FLOW_SOL]->GetNodes());
285-
//auto* turbNodes = su2staticcast_p<CFlowVariable*>(solver_container[TURB_SOL]->GetNodes());
286285
CVariable* turbNodes = solver_container[TURB_SOL]->GetNodes();
287286

288287
/*--- Pick one numerics object per thread. ---*/
@@ -547,8 +546,8 @@ void CTransLMSolver::LoadRestart(CGeometry** geometry, CSolver*** solver, CConfi
547546

548547
const auto index = counter * Restart_Vars[1] + skipVars;
549548
for (auto iVar = 0u; iVar < nVar; iVar++) nodes->SetSolution(iPoint_Local, iVar, Restart_Data[index + iVar]);
550-
nodes ->SetIntermittencySep(iPoint_Local, Restart_Data[index + 2]);
551-
nodes ->SetIntermittencyEff(iPoint_Local, Restart_Data[index + 3]);
549+
nodes->SetIntermittencySep(iPoint_Local, Restart_Data[index + 2]);
550+
nodes->SetIntermittencyEff(iPoint_Local, Restart_Data[index + 3]);
552551

553552
/*--- Increment the overall counter for how many points have been loaded. ---*/
554553
counter++;

SU2_CFD/src/solvers/CTurbSSTSolver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@ void CTurbSSTSolver::Postprocessing(CGeometry *geometry, CSolver **solver_contai
272272
}
273273
shearStress = sqrt(shearStress);
274274

275-
const su2double FrictionVelocity = sqrt(shearStress/flowNodes->GetDensity(iPoint));
275+
const su2double FrictionVelocity = max(sqrt(shearStress/flowNodes->GetDensity(iPoint)), EPS);
276276
const su2double wall_dist = geometry->vertex[iMarker][iVertex]->GetNearestNeighborDistance();
277277

278278
const su2double Derivative = flowNodes->GetLaminarViscosity(jPoint) * pow(nodes->GetSolution(jPoint, 0), 0.673) / wall_dist;

0 commit comments

Comments
 (0)