diff --git a/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.C b/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.C index 3a22981771..d5bf49751c 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.C +++ b/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -96,13 +96,10 @@ Foam::label Foam::functionObjects::properties::getTrigger() const bool Foam::functionObjects::properties::setTrigger ( - const label triggeri, - bool increaseOnly + const label triggeri ) { - const label currTriggeri = getTrigger(); - - if (increaseOnly ? (triggeri > currTriggeri) : (triggeri != currTriggeri)) + if (triggeri != getTrigger()) { set("triggerIndex", triggeri); return true; diff --git a/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.H b/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.H index 2860f400ba..0c9bd506a7 100644 --- a/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.H +++ b/src/OpenFOAM/db/functionObjects/functionObjectProperties/functionObjectProperties.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2021 OpenCFD Ltd. + Copyright (C) 2021-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -123,14 +123,9 @@ public: //- Get the current trigger index label getTrigger() const; - //- Set the trigger index. Normally only if greater than current - // - // \param triggeri the new trigger index - // \param increaseOnly (default) only change if new index - // is greater than the current index. - // + //- Set new trigger index. // \return True if the index changed - bool setTrigger(const label triggeri, bool increaseOnly = true); + bool setTrigger(const label triggeri); //- Set dictionary from named object, return true if set bool getObjectDict diff --git a/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.C b/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.C index 945445fa87..4a7d5884e2 100644 --- a/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.C +++ b/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -88,11 +88,10 @@ Foam::label Foam::functionObjects::stateFunctionObject::getTrigger() const bool Foam::functionObjects::stateFunctionObject::setTrigger ( - const label triggeri, - bool increaseOnly + const label triggeri ) { - return stateDict().setTrigger(triggeri, increaseOnly); + return stateDict().setTrigger(triggeri); } diff --git a/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.H b/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.H index 71144f9224..94b6518569 100644 --- a/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.H +++ b/src/OpenFOAM/db/functionObjects/stateFunctionObject/stateFunctionObject.H @@ -124,14 +124,9 @@ public: //- Get the current trigger index label getTrigger() const; - //- Set the trigger index. Normally only if greater than current - // - // \param triggeri the new trigger index - // \param increaseOnly (default) only change if new index - // is greater than the current index. - // + //- Set new trigger index. // \return True if the index changed - bool setTrigger(const label triggeri, bool increaseOnly = true); + bool setTrigger(const label triggeri); //- Set dictionary, return true if set bool getDict diff --git a/src/OpenFOAM/db/functionObjects/timeControl/timeControlFunctionObject.C b/src/OpenFOAM/db/functionObjects/timeControl/timeControlFunctionObject.C index 7550968be5..af1b6a8878 100644 --- a/src/OpenFOAM/db/functionObjects/timeControl/timeControlFunctionObject.C +++ b/src/OpenFOAM/db/functionObjects/timeControl/timeControlFunctionObject.C @@ -64,11 +64,10 @@ void Foam::functionObjects::timeControl::readControls() timeEnd_ = time_.userTimeToTime(timeEnd_); } - if (dict_.readIfPresent("triggerStart", triggerStart_)) - { - dict_.readIfPresent("triggerEnd", triggerEnd_); - controlMode_ = controlModeNames_.get("controlMode", dict_); - } + controlMode_ = + controlModeNames_.getOrDefault("controlMode", dict_, controlMode::TIME); + dict_.readIfPresent("triggerStart", triggerStart_); + dict_.readIfPresent("triggerEnd", triggerEnd_); deltaTCoeff_ = GREAT; if (dict_.readIfPresent("deltaTCoeff", deltaTCoeff_)) @@ -97,6 +96,18 @@ bool Foam::functionObjects::timeControl::active() const bool inTrigger = triggeri >= triggerStart_ && triggeri <= triggerEnd_; + DebugInFunction + << name() << " mode:" << controlModeNames_[controlMode_] << nl + << " - time:" << time_.value() + << " timeStart:" << timeStart_ + << " timeEnd:" << timeEnd_ + << " inTime:" << inTime << nl + << " - triggeri:" << triggeri + << " triggerStart:" << triggerStart_ + << " triggerEnd:" << triggerEnd_ + << " inTrigger:" << inTrigger + << endl; + switch (controlMode_) { case controlMode::TIME: @@ -454,7 +465,7 @@ Foam::functionObjects::timeControl::timeControl controlMode_(controlMode::TIME), timeStart_(-VGREAT), timeEnd_(VGREAT), - triggerStart_(labelMax), + triggerStart_(labelMin), triggerEnd_(labelMax), nStepsToStartTimeChange_(labelMax), executeControl_(runTime, dict, "execute"), diff --git a/src/functionObjects/utilities/Make/files b/src/functionObjects/utilities/Make/files index e563e53b50..ad0e87e374 100644 --- a/src/functionObjects/utilities/Make/files +++ b/src/functionObjects/utilities/Make/files @@ -22,11 +22,11 @@ timeInfo/timeInfo.C runTimeControl/runTimeControl.C runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.C runTimeControl/runTimeCondition/runTimeCondition/runTimeConditionNew.C +runTimeControl/runTimeCondition/averageCondition/averageCondition.C runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C -runTimeControl/runTimeCondition/averageCondition/averageCondition.C runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C runTimeControl/runTimeCondition/noneCondition/noneCondition.C diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C index b03a9f83e7..1e8ba41c1c 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -83,17 +83,18 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition iter_(-1) { dictionary& conditionDict = this->conditionDict(); + conditionDict.readIfPresent("iter", iter_); - forAll(fieldNames_, fieldi) + if (resetOnRestart_) { - const word& fieldName = fieldNames_[fieldi]; + reset(); + } + else + { + forAll(fieldNames_, fieldi) + { + const word& fieldName = fieldNames_[fieldi]; - if (resetOnRestart_) - { - conditionDict.set(fieldName, dictionary()); - } - else - { if (conditionDict.found(fieldName)) { const dictionary& valueDict = conditionDict.subDict(fieldName); @@ -105,8 +106,6 @@ Foam::functionObjects::runTimeControls::averageCondition::averageCondition } } } - - conditionDict.readIfPresent("iter", iter_); } @@ -194,4 +193,21 @@ void Foam::functionObjects::runTimeControls::averageCondition::write() } +void Foam::functionObjects::runTimeControls::averageCondition::reset() +{ + dictionary& conditionDict = this->conditionDict(); + + forAll(fieldNames_, fieldi) + { + const word& fieldName = fieldNames_[fieldi]; + + conditionDict.set(fieldName, dictionary()); + totalTime_[fieldi] = 0; + } + + iter_ = -1; + conditionDict.set("iter", iter_); +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.H index 6f7476829c..10da179360 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/averageCondition/averageCondition.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2018 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -77,7 +77,7 @@ public: protected: - // Protected data + // Protected Data //- Name of function object to retrieve data from word functionObjectName_; @@ -143,6 +143,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C index 0018581a6d..f1f6aa6f15 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.C @@ -230,4 +230,11 @@ equationInitialResidualCondition::write() } +void Foam::functionObjects::runTimeControls:: +equationInitialResidualCondition::reset() +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.H index f3b86c981d..e7acb05d94 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationInitialResidualCondition/equationInitialResidualCondition.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016-2019 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -130,6 +130,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C index 98f365e65a..33e2350910 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2020 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -168,4 +168,11 @@ void Foam::functionObjects::runTimeControls::equationMaxIterCondition::write() } + +void Foam::functionObjects::runTimeControls::equationMaxIterCondition::reset() +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.H index 0a3295ed54..10dca09db5 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/equationMaxIterCondition/equationMaxIterCondition.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -97,6 +97,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C index 00b1528efb..e8621a65ae 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.C @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018-2020 OpenCFD Ltd. + Copyright (C) 2018-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -110,4 +110,10 @@ void Foam::functionObjects::runTimeControls::maxDurationCondition::write() } +void Foam::functionObjects::runTimeControls::maxDurationCondition::reset() +{ + initialised_ = false; +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.H index b7132ffaba..3cce56ed8c 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/maxDurationCondition/maxDurationCondition.H @@ -5,7 +5,7 @@ \\ / A nd | www.openfoam.com \\/ M anipulation | ------------------------------------------------------------------------------- - Copyright (C) 2018 OpenCFD Ltd. + Copyright (C) 2018-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -99,6 +99,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C index 58019824cb..e6f29de99a 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2016 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -166,4 +166,10 @@ void Foam::functionObjects::runTimeControls::minMaxCondition::write() } +void Foam::functionObjects::runTimeControls::minMaxCondition::reset() +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.H index 8e82ca07cb..c044f68a11 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minMaxCondition/minMaxCondition.H @@ -6,6 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation + Copyright (C) 2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -124,6 +125,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C index 0a25537d08..cc6dcb33fb 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2019 OpenCFD Ltd. + Copyright (C) 2019-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -94,4 +94,10 @@ void Foam::functionObjects::runTimeControls::minTimeStepCondition::write() } +void Foam::functionObjects::runTimeControls::minTimeStepCondition::reset() +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.H index 9ce0a0c19b..6255652a7b 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/minTimeStepCondition/minTimeStepCondition.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -91,6 +91,9 @@ public: //- Write virtual void write(); + + //- Reset + virtual void reset(); }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.H b/src/functionObjects/utilities/runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.H index a6cab3975f..a3df62543b 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeCondition/runTimeCondition/runTimeCondition.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2016 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -162,6 +162,9 @@ public: //- Write virtual void write() = 0; + + //- Reset + virtual void reset() = 0; }; diff --git a/src/functionObjects/utilities/runTimeControl/runTimeControl.C b/src/functionObjects/utilities/runTimeControl/runTimeControl.C index e300301664..b629346e5f 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeControl.C +++ b/src/functionObjects/utilities/runTimeControl/runTimeControl.C @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015 OpenFOAM Foundation - Copyright (C) 2015-2021 OpenCFD Ltd. + Copyright (C) 2015-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -74,7 +74,8 @@ Foam::functionObjects::runTimeControls::runTimeControl::runTimeControl writeStepI_(0), satisfiedAction_(satisfiedAction::END), triggerIndex_(labelMin), - active_(getObjectProperty(name, "active", true)) + active_(getProperty("active", true)), + canRestart_(getProperty("canRestart", false)) { read(dict); } @@ -177,6 +178,12 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::read bool Foam::functionObjects::runTimeControls::runTimeControl::execute() { + if (canRestart_) + { + active_ = true; + canRestart_ = false; + } + if (!active_) { return true; @@ -199,7 +206,7 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute() { bool conditionSatisfied = condition.apply(); - label groupi = condition.groupID(); + const label groupi = condition.groupID(); auto conditionIter = groupMap_.cfind(groupi); @@ -271,14 +278,10 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute() if (nWriteStep_ != 0) { - Info<< " - final step" << nl; - } - else - { - Info<< nl; + Info<< " - final step"; } - Info<< endl; + Info<< nl << endl; active_ = false; // Write any registered objects and set the end-time @@ -299,11 +302,25 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute() case satisfiedAction::SET_TRIGGER: { Info<< " Setting trigger " << triggerIndex_ << nl; + setTrigger(triggerIndex_); // Deactivate the model active_ = false; setProperty("active", active_); + + // Can be restarted + canRestart_ = true; + setProperty("canRestart", canRestart_); + + // Reset all conditions in case the control is recycled/trigger + // index is set to a smaller value + forAll(conditions_, conditioni) + { + runTimeCondition& condition = conditions_[conditioni]; + condition.reset(); + } + break; } } diff --git a/src/functionObjects/utilities/runTimeControl/runTimeControl.H b/src/functionObjects/utilities/runTimeControl/runTimeControl.H index 66d09222ed..eaf1b5cd5d 100644 --- a/src/functionObjects/utilities/runTimeControl/runTimeControl.H +++ b/src/functionObjects/utilities/runTimeControl/runTimeControl.H @@ -6,7 +6,7 @@ \\/ M anipulation | ------------------------------------------------------------------------------- Copyright (C) 2015-2016 OpenFOAM Foundation - Copyright (C) 2016-2021 OpenCFD Ltd. + Copyright (C) 2016-2022 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -111,6 +111,11 @@ private: // trigger has been set bool active_; + //- Can be restarted flag + // Used in the trigger case after the trigger has been set to allow + // this object to be restarted/reset the active flag + bool canRestart_; + // Private Member Functions