ENH: runTimeControl valueAverage condition - added start-up iterations option

This commit is contained in:
Andrew Heather
2018-08-21 12:58:19 +01:00
parent a3327b3761
commit ef615ed17f
2 changed files with 17 additions and 4 deletions

View File

@ -75,7 +75,9 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition
: windowType::NONE : windowType::NONE
), ),
totalTime_(fieldNames_.size(), scalar(0)), totalTime_(fieldNames_.size(), scalar(0)),
resetOnRestart_(dict.lookupOrDefault<bool>("resetOnRestart", false)) resetOnRestart_(dict.lookupOrDefault<bool>("resetOnRestart", false)),
nIterStartUp_(dict.lookupOrDefault<label>("nIterStartUp", 10)),
iter_(-1)
{ {
dictionary& conditionDict = this->conditionDict(); dictionary& conditionDict = this->conditionDict();
@ -100,6 +102,8 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition
} }
} }
} }
conditionDict.readIfPresent("iter", iter_);
} }
@ -107,13 +111,15 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition
bool Foam::functionObjects::runTimeControls::averageCondition::apply() bool Foam::functionObjects::runTimeControls::averageCondition::apply()
{ {
bool satisfied = true;
if (!active_) if (!active_)
{ {
return satisfied; return true;
} }
bool satisfied = iter_ > nIterStartUp_ ? true : false;
++iter_;
const scalar dt = obr_.time().deltaTValue(); const scalar dt = obr_.time().deltaTValue();
Log << " " << type() << ": " << name_ << " averages:" << nl; Log << " " << type() << ": " << name_ << " averages:" << nl;
@ -175,6 +181,8 @@ void Foam::functionObjects::runTimeControls::averageCondition::write()
conditionDict.add(fieldName, valueDict); conditionDict.add(fieldName, valueDict);
} }
} }
conditionDict.set("iter", iter_);
} }

View File

@ -97,6 +97,11 @@ protected:
//- Reset the averaging process on restart flag //- Reset the averaging process on restart flag
Switch resetOnRestart_; Switch resetOnRestart_;
//- Number of start-up iterations before allowing satisfied checks
label nIterStartUp_;
//- Current iteration count
label iter_;
// Protected Member Functions // Protected Member Functions