diff --git a/src/functionObjects/field/fieldAverage/fieldAverage.C b/src/functionObjects/field/fieldAverage/fieldAverage.C index 22fa421608c9ce5b7a8b8108ee23b5919e4f2b79..b51e52559ae3153ea59a15264d24a0c82c12615d 100644 --- a/src/functionObjects/field/fieldAverage/fieldAverage.C +++ b/src/functionObjects/field/fieldAverage/fieldAverage.C @@ -136,10 +136,16 @@ void Foam::functionObjects::fieldAverage::calcAverages() } bool doRestart = false; - if (periodicRestart_ && currentTime > restartPeriod_*periodIndex_) + if (periodicRestart_) { - doRestart = true; - periodIndex_++; + const scalar deltaT = obr().time().deltaTValue(); + const scalar nextTime = restartPeriod_*periodIndex_ + 0.5*deltaT; + + if (currentTime > nextTime) + { + doRestart = true; + ++periodIndex_; + } } if (currentTime >= restartTime_)