ENH: adding hook adjustTimeStep to function objects. The hook is called in

Time::adjustDeltaT(). It allows function objects to manipulate the time step to
    dump at adjustable times. The following options are available for output in
    function objects: timeStep, outputTime, adjustableTime, runTime, clockTime
    and cpuTime.
This commit is contained in:
Sergio Ferraris
2013-09-09 14:13:21 +01:00
parent 470553c61a
commit 2d773bc089
14 changed files with 264 additions and 27 deletions

View File

@ -46,6 +46,7 @@ Foam::writeRegisteredObject::writeRegisteredObject
)
:
name_(name),
exclusiveWriting_(true),
obr_(obr),
objectNames_()
{
@ -64,6 +65,7 @@ Foam::writeRegisteredObject::~writeRegisteredObject()
void Foam::writeRegisteredObject::read(const dictionary& dict)
{
dict.lookup("objectNames") >> objectNames_;
dict.readIfPresent("exclusiveWriting", exclusiveWriting_);
}
@ -96,12 +98,12 @@ void Foam::writeRegisteredObject::write()
(
obr_.lookupObject<regIOobject>(objectNames_[i])
);
// Switch off automatic writing to prevent double write
obj.writeOpt() = IOobject::NO_WRITE;
Info<< type() << " " << name_ << " output:" << nl
<< " writing object " << obj.name() << nl
<< endl;
if (exclusiveWriting_)
{
// Switch off automatic writing to prevent double write
obj.writeOpt() = IOobject::NO_WRITE;
}
obj.write();
}