diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C index fc3ad8857cca9f384296f6ab8ad3588179b248a1..c74b67438989c0d2e577d725f3aa17755a33914d 100644 --- a/src/OpenFOAM/db/Time/TimeIO.C +++ b/src/OpenFOAM/db/Time/TimeIO.C @@ -44,6 +44,7 @@ void Foam::Time::readDict() ); } + scalar oldWriteInterval = writeInterval_; if (controlDict_.readIfPresent("writeInterval", writeInterval_)) { if (writeControl_ == wcTimeStep && label(writeInterval_) < 1) @@ -58,6 +59,22 @@ void Foam::Time::readDict() controlDict_.lookup("writeFrequency") >> writeInterval_; } + if (oldWriteInterval != writeInterval_) + { + switch(writeControl_) + { + case wcRunTime: + case wcAdjustableRunTime: + // Recalculate outputTimeIndex_ to be in units of current + // writeInterval. + outputTimeIndex_ *= oldWriteInterval/writeInterval_; + break; + + default: + break; + } + } + if (controlDict_.readIfPresent("purgeWrite", purgeWrite_)) { if (purgeWrite_ < 0)