52 dict.readIfPresent(
"cellSet", cellSetName)
53 && cellSetName ==
"none"
60 if (!cellSetName.empty())
62 Info<<
"Applying motion to cellSet: " << cellSetName << endl;
64 cellIDs = cellSet(mesh, cellSetName).toc();
73 dict.readIfPresent(
"cellZone", cellZoneName)
74 && cellZoneName ==
"none"
81 if (!cellZoneName.empty())
83 Info<<
"Applying motion to cellZone: " << cellZoneName << endl;
86 zoneIDs = mesh.cellZones().indices(cellZoneName);
90 FatalIOErrorInFunction(dict)
91 <<
"No matching cellZones: " << cellZoneName << nl
93 << flatOutput(mesh.cellZones().names()) << nl
95 << flatOutput(mesh.cellZones().groupNames())
97 << exit(FatalIOError);
101 if (!cellSetName.empty() || !cellZoneName.empty())
103 bitSet movePts(mesh.nPoints());
106 for (const label zoneID : zoneIDs)
108 for (const label celli : mesh.cellZones()[zoneID])
110 for (const label facei : mesh.cells()[celli])
112 movePts.set(mesh.faces()[facei]);
118 for (
const label celli : cellIDs)
120 for (
const label facei :
mesh.cells()[celli])
122 movePts.set(
mesh.faces()[facei]);
128 pointIDs_ = movePts.sortedToc();
138 Info<<
"Applying motion to entire mesh" <<
endl;
for(const label curEdgei :curPointEdges)
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh consisting of general polyhedral cells.
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings.
A class for handling words, derived from Foam::string.
zoneMotion(const dictionary &dict, const polyMesh &mesh)
Construct from dictionary.
const labelIOList & zoneIDs
List< label > labelList
A List of labels.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
bool returnReduceAnd(const bool value, const int communicator=UPstream::worldComm)
Perform logical (and) MPI Allreduce on a copy. Uses UPstream::reduceAnd.