50 void printMesh(
const Time& runTime,
const polyMesh& mesh)
61 template<
class ZoneType>
72 Info<<
"Removing zone " << setName <<
" at index " << zoneID <<
endl;
83 oldToNew[zoneID] = newI;
120 Info<<
"Removing file " <<
object <<
endl;
125 if (setType == cellZoneSet::typeName)
129 const_cast<meshCellZones&>(mesh.
cellZones()),
133 else if (setType == faceZoneSet::typeName)
137 const_cast<meshFaceZones&>(mesh.
faceZones()),
141 else if (setType == pointZoneSet::typeName)
145 const_cast<meshPointZones&>(mesh.
pointZones()),
160 Info<<
" mesh not changed." <<
endl;
165 Info<<
" points moved; topology unchanged." <<
endl;
170 Info<<
" topology changed; patches unchanged." <<
nl 177 Info<<
" topology changed and patches changed." << nl
186 <<
"Illegal mesh update state " 196 int main(
int argc,
char *argv[])
204 "do not synchronise selection across coupled patches" 223 runTime.
setTime(timeDirs[timei], timei);
227 meshReadUpdate(mesh);
250 currentSet =
topoSet::New(setType, mesh, setName, 10000);
251 Info<<
"Created " << currentSet().type() <<
" " 267 Info<<
"Read set " << currentSet().type() <<
" " 268 << setName <<
" with size " 291 source().applyToSet(action, currentSet());
293 if (!noSync) currentSet().sync(mesh);
294 currentSet().write();
317 currentSet().
name() +
"_old2",
322 currentSet().
clear();
326 currentSet().subset(oldSet());
328 if (!noSync) currentSet().sync(mesh);
329 currentSet().write();
335 Info<<
" Clearing " << currentSet().type() <<
endl;
336 currentSet().
clear();
337 currentSet().write();
342 Info<<
" Inverting " << currentSet().type() <<
endl;
343 currentSet().invert(currentSet().maxSize(mesh));
344 currentSet().write();
350 removeSet(mesh, setType, setName);
356 <<
"Unhandled action " << action <<
endl;
360 if (currentSet.
valid())
362 Info<<
" " << currentSet().type() <<
" " 363 << currentSet().name()
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
void reorder(const labelUList &oldToNew)
Reorders elements. Ordering does not have to be done in.
label findZoneID(const word &zoneName) const
Find zone index given a name.
#define forAll(list, i)
Loop across all elements in list.
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 file names.
List of IOobjects with searching and retrieving facilities.
const fileName & facesInstance() const
Return the current instance directory for faces.
const meshCellZones & cellZones() const
Return cell zones.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label nTotalPoints() const
Return total number of points in decomposed mesh. Not.
static word meshSubDir
Return the mesh sub-directory name (usually "polyMesh")
Ostream & endl(Ostream &os)
Add newline and flush stream.
bool optionFound(const word &opt) const
Return true if the named option is found.
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".
label nTotalCells() const
Return total number of cells in decomposed mesh.
IOdictionary systemDict(const word &dictName, const argList &args, const objectRegistry &ob, const word ®ionName=polyMesh::defaultRegion)
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
const meshPointZones & pointZones() const
Return point zones.
void clear()
Delete object (if the pointer is valid) and set pointer to.
label nTotalFaces() const
Return total number of faces in decomposed mesh. Not.
const dictionary & optionalSubDict(const word &) const
Find and return a sub-dictionary if found.
static word timeName(const scalar, const int precision=curPrecision_)
Return time name of given scalar time.
A class for handling words, derived from string.
setAction
Enumeration defining the valid actions.
static const word null
An empty word.
const globalMeshData & globalData() const
Return parallel info.
static instantList selectIfPresent(Time &runTime, const argList &args)
If any time option provided return the set of times (as select0)
virtual void setTime(const Time &)
Reset the time and time-index to those of the given time.
const fileOperation & fileHandler()
Get current file handler.
bool valid() const
Return true if the autoPtr valid (ie, the pointer is set)
errorManip< error > abort(error &err)
void setSize(const label)
Reset size of PtrList. If extending the PtrList, new entries are.
const Time & time() const
Return time.
static autoPtr< topoSetSource > New(const word &topoSetSourceType, const polyMesh &mesh, const dictionary &dict)
Return a reference to the selected topoSetSource.
word name(const complex &)
Return a string representation of a complex.
virtual void flush() const
Forcibly wait until all output done. Flush any cached data.
label size() const
Return the number of elements in the UPtrList.
const boundBox & bounds() const
Return mesh bounding box.
#define WarningInFunction
Report a warning using Foam::Warning.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
word userTimeName() const
Return current user time name with units.
const meshFaceZones & faceZones() const
Return face zones.
static setAction toAction(const word &actionName)
Convert string to action.
T returnReduce(const T &Value, const BinaryOp &bop, const int tag=Pstream::msgType(), const label comm=UPstream::worldComm)
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
static void addBoolOption(const word &opt, const string &usage="")
Add to a bool option to validOptions with usage information.
readUpdateState
Enumeration defining the state of the mesh after a read update.
virtual bool write(const bool write=true) const
Write using setting from DB.
readUpdateState readUpdate()
Update the mesh based on the mesh files saved in.
bool rm(const fileName &)
Remove a file, returning true if successful otherwise false.
Foam::argList args(argc, argv)
void clearAddressing()
Clear addressing.
static void addOptions(const bool constant=true, const bool withZero=false)
Add the options handled by timeSelector to argList::validOptions.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.