diff --git a/src/OpenFOAM/db/Time/Time.C b/src/OpenFOAM/db/Time/Time.C index b65652fb9c..22c9a5236f 100644 --- a/src/OpenFOAM/db/Time/Time.C +++ b/src/OpenFOAM/db/Time/Time.C @@ -27,6 +27,8 @@ License #include "Time.H" #include "PstreamReduceOps.H" +#include + // * * * * * * * * * * * * * Static Member Data * * * * * * * * * * * * * * // defineTypeNameAndDebug(Foam::Time, 0); @@ -350,18 +352,21 @@ Foam::Time::Time // * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * // Foam::Time::~Time() -{} +{ + // destroy function objects first + functionObjects_.clear(); +} // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // Foam::word Foam::Time::timeName(const scalar t) { - std::ostringstream osBuffer; - osBuffer.setf(ios_base::fmtflags(format_), ios_base::floatfield); - osBuffer.precision(precision_); - osBuffer << t; - return osBuffer.str(); + std::ostringstream buf; + buf.setf(ios_base::fmtflags(format_), ios_base::floatfield); + buf.precision(precision_); + buf << t; + return buf.str(); } @@ -643,7 +648,7 @@ Foam::Time& Foam::Time::operator++() setTime(0.0, timeIndex_); } - switch(writeControl_) + switch (writeControl_) { case wcTimeStep: outputTime_ = !(timeIndex_ % label(writeInterval_)); diff --git a/src/OpenFOAM/db/Time/TimeIO.C b/src/OpenFOAM/db/Time/TimeIO.C index 5a1795e1ef..58197b520e 100644 --- a/src/OpenFOAM/db/Time/TimeIO.C +++ b/src/OpenFOAM/db/Time/TimeIO.C @@ -264,19 +264,8 @@ bool Foam::Time::writeObject timeDict.add("deltaT", deltaT_); timeDict.add("deltaT0", deltaT0_); - timeDict.regIOobject::writeObject - ( - fmt, - ver, - cmp - ); - - bool writeOK = objectRegistry::writeObject - ( - fmt, - ver, - cmp - ); + timeDict.regIOobject::writeObject(fmt, ver, cmp); + bool writeOK = objectRegistry::writeObject(fmt, ver, cmp); if (writeOK && purgeWrite_) { @@ -306,7 +295,7 @@ bool Foam::Time::writeNow() bool Foam::Time::writeAndEnd() { - stopAt_ = saWriteNow; + stopAt_ = saWriteNow; endTime_ = value(); return writeNow(); diff --git a/src/OpenFOAM/db/functionObjectList/functionObjectList.C b/src/OpenFOAM/db/functionObjectList/functionObjectList.C index 6f014d7859..a4f046b451 100644 --- a/src/OpenFOAM/db/functionObjectList/functionObjectList.C +++ b/src/OpenFOAM/db/functionObjectList/functionObjectList.C @@ -97,6 +97,15 @@ Foam::functionObjectList::~functionObjectList() // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // +void Foam::functionObjectList::clear() +{ + PtrList::clear(); + digests_.clear(); + indices_.clear(); + updated_ = false; +} + + bool Foam::functionObjectList::start() { return read(); @@ -157,7 +166,6 @@ bool Foam::functionObjectList::read() HashTable