Skip to content

Commit 23fcb88

Browse files
committed
account for dual-time stepping in the diagonal preconditioner
1 parent 78f1612 commit 23fcb88

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

SU2_CFD/src/integration/CNewtonIntegration.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,9 +341,13 @@ void CNewtonIntegration::Preconditioner(const CSysVector<Scalar>& u, CSysVector<
341341
else {
342342
/*--- Approximate diagonal preconditioner. ---*/
343343

344+
const bool dt1st = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_1ST);
345+
const bool dt2nd = (config->GetTime_Marching() == TIME_MARCHING::DT_STEPPING_2ND);
346+
const su2double dt = config->GetDelta_UnstTimeND() * (dt1st + 1.5 * dt2nd);
347+
344348
SU2_OMP_FOR_STAT(omp_chunk_size)
345349
for (auto iPoint = 0ul; iPoint < geometry->GetnPointDomain(); ++iPoint) {
346-
su2double delta = solvers[FLOW_SOL]->GetNodes()->GetDelta_Time(iPoint) /
350+
su2double delta = (solvers[FLOW_SOL]->GetNodes()->GetDelta_Time(iPoint) + dt) /
347351
(geometry->nodes->GetVolume(iPoint) + geometry->nodes->GetPeriodicVolume(iPoint));
348352
SU2_OMP_SIMD
349353
for (auto iVar = 0ul; iVar < u.GetNVar(); ++iVar)

0 commit comments

Comments
 (0)