ENH: adding outputInterval option for ocOutputTime mode in function

objects
This commit is contained in:
sergio
2012-09-04 11:20:42 +01:00
parent 9cb5d68cdf
commit 52fefbca00
2 changed files with 18 additions and 4 deletions

View File

@ -55,7 +55,8 @@ Foam::outputFilterOutputControl::outputFilterOutputControl
: :
time_(t), time_(t),
outputControl_(ocTimeStep), outputControl_(ocTimeStep),
outputInterval_(0) outputInterval_(0),
outputTimeLastDump_(0)
{ {
read(dict); read(dict);
} }
@ -88,6 +89,12 @@ void Foam::outputFilterOutputControl::read(const dictionary& dict)
break; break;
} }
case ocOutputTime:
{
outputInterval_ = dict.lookupOrDefault<label>("outputInterval", 1);
break;
}
default: default:
{ {
// do nothing // do nothing
@ -97,7 +104,7 @@ void Foam::outputFilterOutputControl::read(const dictionary& dict)
} }
bool Foam::outputFilterOutputControl::output() const bool Foam::outputFilterOutputControl::output()
{ {
switch (outputControl_) switch (outputControl_)
{ {
@ -113,7 +120,11 @@ bool Foam::outputFilterOutputControl::output() const
case ocOutputTime: case ocOutputTime:
{ {
return time_.outputTime(); if (time_.outputTime())
{
outputTimeLastDump_ ++;
return !(outputTimeLastDump_ % outputInterval_);
}
break; break;
} }

View File

@ -78,6 +78,9 @@ private:
// a value <= 1 means execute at every time step // a value <= 1 means execute at every time step
label outputInterval_; label outputInterval_;
//- Dumping counter for ocOutputTime
label outputTimeLastDump_;
// Private Member Functions // Private Member Functions
@ -110,7 +113,7 @@ public:
} }
//- Flag to indicate whether to output //- Flag to indicate whether to output
bool output() const; bool output();
}; };