38 Foam::timeControl::controlNames_
40 { timeControl::ocNone,
"none" },
41 { timeControl::ocAlways,
"always" },
42 { timeControl::ocTimeStep,
"timeStep" },
43 { timeControl::ocWriteTime,
"writeTime" },
44 { timeControl::ocWriteTime,
"outputTime" },
45 { timeControl::ocRunTime,
"runTime" },
46 { timeControl::ocAdjustableRunTime,
"adjustable" },
47 { timeControl::ocAdjustableRunTime,
"adjustableRunTime" },
48 { timeControl::ocClockTime,
"clockTime" },
49 { timeControl::ocCpuTime,
"cpuTime" },
50 { timeControl::ocOnEnd,
"onEnd" },
56 Foam::timeControl::timeControl
64 timeControl_(ocAlways),
71 Foam::timeControl::timeControl
92 const word controlName(prefix +
"Control");
94 return dict.found(controlName);
112 timeControl_ = ocTimeStep;
116 word controlName(prefix_ +
"Control");
117 word intervalName(prefix_ +
"Interval");
119 if (prefix_ ==
"write")
128 <<
"Using deprecated 'outputControl'" <<
nl
129 <<
" Please use 'writeControl' with 'writeInterval'"
134 controlName =
"outputControl";
135 intervalName =
"outputInterval";
140 timeControl_ = controlNames_.getOrDefault(controlName,
dict, timeControl_);
142 switch (timeControl_)
148 interval_ = intInterval_;
155 case ocAdjustableRunTime:
157 const scalar userTime =
dict.
get<scalar>(intervalName);
158 interval_ = time_.userTimeToTime(userTime);
172 switch (timeControl_)
191 || !(time_.timeIndex() % intInterval_)
198 if (time_.writeTime())
204 || !(executionIndex_ % intInterval_)
211 case ocAdjustableRunTime:
213 label executionIndex = label
216 (time_.value() - time_.startTime().value())
217 + 0.5*time_.deltaTValue()
222 if (executionIndex > executionIndex_)
224 executionIndex_ = executionIndex;
232 label executionIndex = label
237 if (executionIndex > executionIndex_)
239 executionIndex_ = executionIndex;
247 label executionIndex = label
252 if (executionIndex > executionIndex_)
254 executionIndex_ = executionIndex;
262 scalar endTime = time_.endTime().value() - 0.5*time_.deltaTValue();
263 return time_.value() > endTime;
270 <<
"Undefined time control: "
271 << controlNames_[timeControl_] <<
nl