A List of scalarRange for selecting times. More...
Public Member Functions | |
timeSelector () noexcept=default | |
Default construct. More... | |
timeSelector (const std::string &str) | |
Construct by parsing string for time ranges. More... | |
bool | contains (const scalar value) const |
True if value is within any of the ranges. More... | |
bool | contains (const instant &t) const |
True if value of the instant is within any of the ranges. More... | |
bool | selected (const instant &t) const |
True if value of the instant is within any of the ranges. More... | |
List< bool > | selected (const instantList ×) const |
Return the set of selected instants in the given list that are within the ranges. More... | |
instantList | select (const instantList ×) const |
Select a list of Time values that are within the ranges. More... | |
void | inplaceSelect (instantList ×) const |
Select a list of Time values that are within the ranges. More... | |
Static Public Member Functions | |
static void | addOptions (const bool constant=true, const bool withZero=false) |
Add timeSelector options to argList::validOptions. More... | |
static instantList | select (const instantList ×, const argList &args, const word &constantName="constant") |
Return the set of times selected based on the argList options. More... | |
static instantList | select0 (Time &runTime, const argList &args) |
Return the set of times selected based on the argList options and also set the runTime to the first instance or the constant/ directory if no instances are specified or available. More... | |
static instantList | selectIfPresent (Time &runTime, const argList &args) |
If any time option provided return the set of times (as select0) otherwise return just the current time. More... | |
A List of scalarRange for selecting times.
The timeSelector provides a convenient means of selecting multiple times. A typical use would be the following:
timeSelector::addOptions(); // add other options #include "setRootCase.H" #include "createTime.H" instantList timeDirs = timeSelector::select0(runTime, args); ... forAll(timeDirs, timei) { ... }
The result program would receive -time, -latestTime, -constant and -noZero options. The -constant option explicitly includes the constant/
directory in the time list and the -noZero option explicitly excludes the 0/
directory from the time list.
There may however also be many cases in which neither the constant/
directory nor the 0/
directory contain particularly relevant information. This might occur, for example, when post-processing results. In this case, addOptions is called with optional boolean arguments.
timeSelector::addOptions(false, true);
The first argument avoids adding the -constant option. The second argument adds an additional -withZero option and also prevents the 0/
directory from being included in the default time range and in the -latestTime selection.
Definition at line 88 of file timeSelector.H.
|
defaultnoexcept |
Default construct.
|
explicit |
Construct by parsing string for time ranges.
Definition at line 29 of file timeSelector.C.
bool contains | ( | const scalar | value | ) | const |
True if value is within any of the ranges.
Definition at line 37 of file timeSelector.C.
Referenced by timeSelector::selected().
bool contains | ( | const instant & | t | ) | const |
True if value of the instant is within any of the ranges.
Definition at line 43 of file timeSelector.C.
References Instant< T >::value().
|
inline |
True if value of the instant is within any of the ranges.
Definition at line 128 of file timeSelector.H.
References timeSelector::contains().
Referenced by timeSelector::select().
Foam::List< bool > selected | ( | const instantList & | times | ) | const |
Return the set of selected instants in the given list that are within the ranges.
Definition at line 49 of file timeSelector.C.
References TimePaths::findClosestTimeIndex(), forAll, range, and UList< T >::size().
Foam::instantList select | ( | const instantList & | times | ) | const |
Select a list of Time values that are within the ranges.
Definition at line 88 of file timeSelector.C.
References Foam::subset().
Referenced by timeSelector::select0().
void inplaceSelect | ( | instantList & | times | ) | const |
Select a list of Time values that are within the ranges.
Definition at line 94 of file timeSelector.C.
References Foam::inplaceSubset().
|
static |
Add timeSelector options to argList::validOptions.
constant | Add the -constant option to include the constant/ directory |
withZero | Enable the -withZero option and alter the normal time selection behaviour (and -latestTime behaviour) to exclude the 0/ directory. The 0/ directory will only be included when -withZero is specified. The -noZero option has precedence over the -withZero option. |
Definition at line 101 of file timeSelector.C.
References argList::addBoolOption(), and argList::addOption().
Referenced by if().
|
static |
Return the set of times selected based on the argList options.
Definition at line 147 of file timeSelector.C.
References args, forAll, found, argList::found(), Foam::name(), timeSelector::selected(), UList< T >::size(), Foam::subset(), and argList::validOptions.
|
static |
Return the set of times selected based on the argList options and also set the runTime to the first instance or the constant/
directory if no instances are specified or available.
Definition at line 234 of file timeSelector.C.
References List< T >::append(), args, TimePaths::constant(), UList< T >::empty(), Foam::endl(), UList< T >::first(), runTime, timeSelector::select(), Time::setTime(), TimePaths::times(), and WarningInFunction.
Referenced by if().
|
static |
If any time option provided return the set of times (as select0) otherwise return just the current time.
Also set the runTime to the first instance
Definition at line 265 of file timeSelector.C.
References args, argList::found(), runTime, Time::timeName(), and dimensioned< Type >::value().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.