mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: runTimeControl FO - added action for case that conditions are satisfied
This commit is contained in:
@ -44,6 +44,15 @@ namespace runTimeControls
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Foam::Enum
|
||||||
|
<
|
||||||
|
Foam::functionObjects::runTimeControls::runTimeControl::satisfiedAction
|
||||||
|
>
|
||||||
|
Foam::functionObjects::runTimeControls::runTimeControl::satisfiedActionNames
|
||||||
|
{
|
||||||
|
{ satisfiedAction::END, "end"},
|
||||||
|
{ satisfiedAction::SET_TRIGGER, "setTrigger"},
|
||||||
|
};
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -59,7 +68,7 @@ Foam::functionObjects::runTimeControls::runTimeControl::runTimeControl
|
|||||||
groupMap_(),
|
groupMap_(),
|
||||||
nWriteStep_(0),
|
nWriteStep_(0),
|
||||||
writeStepI_(0),
|
writeStepI_(0),
|
||||||
satisfiedAction_(satisfiedAction::end),
|
satisfiedAction_(satisfiedAction::END),
|
||||||
triggerIndex_(labelMin),
|
triggerIndex_(labelMin),
|
||||||
active_(getObjectProperty(name, "active", true))
|
active_(getObjectProperty(name, "active", true))
|
||||||
{
|
{
|
||||||
@ -137,10 +146,10 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::read
|
|||||||
(
|
(
|
||||||
"satisfiedAction",
|
"satisfiedAction",
|
||||||
dict,
|
dict,
|
||||||
satisfiedAction::end
|
satisfiedAction::END
|
||||||
);
|
);
|
||||||
|
|
||||||
if (satisfiedAction_ == satisfiedAction::setTrigger)
|
if (satisfiedAction_ == satisfiedAction::SET_TRIGGER)
|
||||||
{
|
{
|
||||||
triggerIndex_ = readLabel(dict.lookup("trigger"));
|
triggerIndex_ = readLabel(dict.lookup("trigger"));
|
||||||
}
|
}
|
||||||
@ -226,7 +235,7 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
|
|||||||
|
|
||||||
switch (satisfiedAction_)
|
switch (satisfiedAction_)
|
||||||
{
|
{
|
||||||
case satisfiedAction::end:
|
case satisfiedAction::END:
|
||||||
{
|
{
|
||||||
// Set to write a data dump or finalise the calculation
|
// Set to write a data dump or finalise the calculation
|
||||||
Time& time = const_cast<Time&>(time_);
|
Time& time = const_cast<Time&>(time_);
|
||||||
@ -240,12 +249,21 @@ bool Foam::functionObjects::runTimeControls::runTimeControl::execute()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
Info<< " Stopping calculation" << nl
|
Info<< " Stopping calculation" << nl
|
||||||
<< " Writing fields - final step" << nl;
|
<< " Writing fields";
|
||||||
|
if (nWriteStep_ != 0)
|
||||||
|
{
|
||||||
|
Info<< " - final step" << nl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< nl;
|
||||||
|
}
|
||||||
|
|
||||||
time.writeAndEnd();
|
time.writeAndEnd();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case satisfiedAction::setTrigger:
|
case satisfiedAction::SET_TRIGGER:
|
||||||
{
|
{
|
||||||
Info<< " Setting trigger " << triggerIndex_ << nl;
|
Info<< " Setting trigger " << triggerIndex_ << nl;
|
||||||
setTrigger(triggerIndex_);
|
setTrigger(triggerIndex_);
|
||||||
|
|||||||
@ -73,8 +73,8 @@ public:
|
|||||||
|
|
||||||
enum class satisfiedAction
|
enum class satisfiedAction
|
||||||
{
|
{
|
||||||
end,
|
END,
|
||||||
setTrigger
|
SET_TRIGGER
|
||||||
};
|
};
|
||||||
|
|
||||||
static Enum<satisfiedAction> satisfiedActionNames;
|
static Enum<satisfiedAction> satisfiedActionNames;
|
||||||
|
|||||||
Reference in New Issue
Block a user