diff --git a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C index 1fe0b2c2f861c6602819141535d62bf76207f92d..33583dc5bf905baa0d19bb34127b233d9cacf31d 100644 --- a/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C +++ b/src/postProcessing/functionObjects/field/streamLine/streamLineParticle.C @@ -192,8 +192,12 @@ bool Foam::streamLineParticle::move(streamLineParticle::trackData& td) // set the lagrangian time-step scalar dt = min(dtMax, tEnd); - // Cross cell in steps - for (label subIter = 0; subIter < td.nSubCycle_; subIter++) + // Cross cell in steps: + // - at subiter 0 calculate dt to cross cell in nSubCycle steps + // - at the last subiter do all of the remaining track + // - do a few more subiters than nSubCycle since velocity might + // be decreasing + for (label subIter = 0; subIter < 2*td.nSubCycle_; subIter++) { --lifeTime_;