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

View File

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