50 void printMesh(
const Time& runTime,
const polyMesh& mesh)
61 template<
class ZonesType>
62 void removeZone(ZonesType& zones,
const word& setName)
64 label zoneID = zones.findIndex(setName);
68 Info<<
"Removing zone " << setName <<
" at index " << zoneID <<
endl;
79 oldToNew[zoneID] = newI;
80 zones.reorder(oldToNew);
82 zones.setSize(zones.size()-1);
83 zones.clearAddressing();
116 Info<<
"Removing file " <<
object <<
endl;
121 if (setType == cellZoneSet::typeName)
129 else if (setType == faceZoneSet::typeName)
137 else if (setType == pointZoneSet::typeName)
156 Info<<
" mesh not changed." <<
endl;
161 Info<<
" points moved; topology unchanged." <<
endl;
166 Info<<
" topology changed; patches unchanged." <<
nl
168 printMesh(mesh.
time(), mesh);
173 Info<<
" topology changed and patches changed." <<
nl
175 printMesh(mesh.
time(), mesh);
182 <<
"Illegal mesh update state "
192 int main(
int argc,
char *argv[])
200 "do not synchronise selection across coupled patches"
223 meshReadUpdate(mesh);
246 currentSet =
topoSet::New(setType, mesh, setName, 10000);
247 Info<<
"Created " << currentSet().type() <<
" "
263 Info<<
"Read set " << currentSet().type() <<
" "
264 << setName <<
" with size "
287 source().applyToSet(action, currentSet());
289 if (!noSync) currentSet().sync(mesh);
290 currentSet().write();
313 currentSet().
name() +
"_old2",
318 currentSet().
clear();
322 currentSet().subset(oldSet());
324 if (!noSync) currentSet().sync(mesh);
325 currentSet().write();
331 Info<<
" Clearing " << currentSet().type() <<
endl;
332 currentSet().
clear();
333 currentSet().write();
338 Info<<
" Inverting " << currentSet().type() <<
endl;
339 currentSet().invert(currentSet().maxSize(mesh));
340 currentSet().write();
346 removeSet(mesh, setType, setName);
352 <<
"Unhandled action " << action <<
endl;
356 if (currentSet.
valid())
358 Info<<
" " << currentSet().type() <<
" "
359 << currentSet().name()
#define forAll(list, i)
Loop across all elements in list.
List of IOobjects with searching and retrieving facilities.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
virtual void setTime(const Time &)
Reset the time and time-index to those of the given time.
word findInstance(const fileName &dir, const word &name=word::null, const IOobject::readOption rOpt=IOobject::MUST_READ, const word &stopInstance=word::null) const
Return the location of "dir" containing the file "name".
word userTimeName() const
Return current user time name with units.
label size() const
Return the number of elements in the UPtrList.
static void addBoolOption(const word &opt, const string &usage="")
Add to a bool option to validOptions with usage information.
bool optionFound(const word &opt) const
Return true if the named option is found.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
bool valid() const
Return true if the autoPtr valid (ie, the pointer is set)
void clear()
Delete object (if the pointer is valid) and set pointer to.
A list of keyword definitions, which are a keyword followed by any number of values (e....
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const dictionary & optionalSubDict(const word &) const
Find and return a sub-dictionary if found.
const word & name() const
Return const reference to name.
A class for handling file names.
virtual void flush() const
Forcibly wait until all output done. Flush any cached data.
label nTotalFaces() const
Return total number of faces in decomposed mesh. Not.
label nTotalPoints() const
Return total number of points in decomposed mesh. Not.
label nTotalCells() const
Return total number of cells in decomposed mesh.
const Time & time() const
Return time.
Mesh consisting of general polyhedral cells.
const pointZoneList & pointZones() const
Return point zones.
const fileName & facesInstance() const
Return the current instance directory for faces.
const cellZoneList & cellZones() const
Return cell zones.
readUpdateState
Enumeration defining the state of the mesh after a read update.
const globalMeshData & globalData() const
Return parallel info.
const faceZoneList & faceZones() const
Return face zones.
readUpdateState readUpdate()
Update the mesh based on the mesh files saved in.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
const boundBox & bounds() const
Return mesh bounding box.
static void addOptions(const bool constant=true, const bool withZero=false)
Add the options handled by timeSelector to argList::validOptions.
static instantList selectIfPresent(Time &runTime, const argList &args)
If any time option provided return the set of times (as select0)
static setAction toAction(const word &actionName)
Convert string to action.
setAction
Enumeration defining the valid actions.
static autoPtr< topoSetSource > New(const word &topoSetSourceType, const polyMesh &mesh, const dictionary &dict)
Return a reference to the selected topoSetSource.
static autoPtr< topoSet > New(const word &setType, const polyMesh &mesh, const word &name, readOption r=MUST_READ, writeOption w=NO_WRITE)
Return a pointer to a toposet read from file.
A class for handling words, derived from string.
static const word null
An empty word.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
int main(int argc, char *argv[])
static instantList timeDirs
#define WarningInFunction
Report a warning using Foam::Warning.
const fileOperation & fileHandler()
Get current file handler.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
bool rm(const fileName &)
Remove a file, returning true if successful otherwise false.
IOdictionary systemDict(const word &dictName, const argList &args, const objectRegistry &ob, const word ®ionName=polyMesh::defaultRegion)
Ostream & endl(Ostream &os)
Add newline and flush stream.
word name(const bool)
Return a word representation of a bool.
errorManip< error > abort(error &err)
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
Foam::argList args(argc, argv)