Commit d2ad25fd authored by graham's avatar graham
Browse files

ENH: topoSet: time loop

Conflicts:

	applications/utilities/mesh/manipulation/topoSet/topoSet.C
parent e9a61ad3
......@@ -26,7 +26,6 @@ Description
\*---------------------------------------------------------------------------*/
#include "timeSelector.H"
#include "argList.H"
#include "Time.H"
#include "polyMesh.H"
......@@ -35,6 +34,7 @@ Description
#include "faceSet.H"
#include "pointSet.H"
#include "globalMeshData.H"
#include "timeSelector.H"
using namespace Foam;
......@@ -114,13 +114,8 @@ int main(int argc, char *argv[])
# include "setRootCase.H"
# include "createTime.H"
instantList timeDirs = timeSelector::select0
(
runTime,
args,
false // not override runTime if no time options
);
instantList timeDirs = timeSelector::selectIfPresent(runTime, args);
# include "createNamedPolyMesh.H"
......@@ -159,14 +154,13 @@ int main(int argc, char *argv[])
IOobject::MUST_READ_IF_MODIFIED,
IOobject::NO_WRITE
)
)
)
);
// Read set construct info from dictionary
PtrList<dictionary> actions(topoSetDict.lookup("actions"));
forAll(timeDirs, timeI)
{
runTime.setTime(timeDirs[timeI], timeI);
......
......@@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2004-2010 OpenCFD Ltd.
\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
......@@ -51,7 +51,7 @@ bool Foam::timeSelector::selected(const instant& value) const
}
Foam::List<bool> Foam::timeSelector::selected(const List<instant>& Times) const
Foam::List<bool> Foam::timeSelector::selected(const instantList& Times) const
{
List<bool> lst(Times.size(), false);
......@@ -97,19 +97,14 @@ Foam::List<bool> Foam::timeSelector::selected(const List<instant>& Times) const
}
Foam::List<Foam::instant> Foam::timeSelector::select
(
const List<instant>& Times
) const
Foam::List<Foam::instant> Foam::timeSelector::select(const instantList& Times)
const
{
return subset(selected(Times), Times);
}
void Foam::timeSelector::inplaceSelect
(
List<instant>& Times
) const
void Foam::timeSelector::inplaceSelect(instantList& Times) const
{
inplaceSubset(selected(Times), Times);
}
......@@ -159,7 +154,7 @@ void Foam::timeSelector::addOptions
Foam::List<Foam::instant> Foam::timeSelector::select
(
const List<instant>& timeDirs,
const instantList& timeDirs,
const argList& args
)
{
......@@ -270,4 +265,29 @@ Foam::List<Foam::instant> Foam::timeSelector::select0
}
Foam::List<Foam::instant> Foam::timeSelector::selectIfPresent
(
Time& runTime,
const argList& args
)
{
if
(
args.optionFound("latestTime")
|| args.optionFound("time")
|| args.optionFound("constant")
|| args.optionFound("noZero")
|| args.optionFound("zeroTime")
)
{
return select0(runTime, args);
}
else
{
// No timeSelector option specified. Do not change runTime.
return instantList(1, instant(runTime.value(), runTime.timeName()));
}
}
// ************************************************************************* //
......@@ -72,7 +72,7 @@ SourceFiles
#define timeSelector_H
#include "scalarRanges.H"
#include "instant.H"
#include "instantList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
......@@ -109,13 +109,13 @@ public:
//- Return the set of selected instants in the given list that are
// within the ranges
List<bool> selected(const List<instant>&) const;
List<bool> selected(const instantList&) const;
//- Select a list of Time values that are within the ranges
List<instant> select(const List<instant>&) const;
instantList select(const instantList&) const;
//- Select a list of Time values that are within the ranges
void inplaceSelect(List<instant>&) const;
void inplaceSelect(instantList&) const;
//- Add the options handled by timeSelector to argList::validOptions
//
......@@ -135,15 +135,24 @@ public:
);
//- Return the set of times selected based on the argList options
static List<instant> select
static instantList select
(
const List<instant>&,
const instantList&,
const argList& args
);
//- Return the set of times selected based on the argList options
// also set the runTime to the first instance
static List<instant> select0
static instantList select0
(
Time& runTime,
const argList& args
);
//- 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
static instantList selectIfPresent
(
Time& runTime,
const argList& args
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment