44 obr.checkOut(
"faBoundaryMesh");
45 obr.checkOut(
"faSchemes");
46 obr.checkOut(
"faSolution");
56 (void)
mesh.areaCentres();
57 (void)
mesh.edgeCentres();
59 (void)
mesh.faceAreaNormals();
60 (void)
mesh.edgeAreaNormals();
61 (void)
mesh.pointAreaNormals();
62 (void)
mesh.faceCurvatures();
63 (void)
mesh.edgeTransformTensors();
71 const bool masterOnlyReading,
135 meshIO.instance() = facesInstance;
139 IOobject cmptIO(meshIO,
"faceLabels", meshSubDir);
142 cmptIO.registerObject(
false);
147 const fileName meshDir =
io.
time().
path()/facesInstance/meshSubDir;
148 bool haveMesh =
isDir(meshDir);
173 cmptIO.rename(
"faceLabels");
180 std::move(faceLabels),
197 const bool isEmptyMesh = (
mesh.faceLabels().
empty());
199 forAll(patchEntries, patchi)
201 const entry&
e = patchEntries[patchi];
202 const word
type(
e.dict().get<word>(
"type"));
203 const word&
name =
e.keyword();
207 type == processorFaPatch::typeName
216 dictionary patchDict(
e.dict());
220 patchDict.set(
"edgeLabels",
labelList());
253 const bool decompose,
312 io.time().
path()/
io.instance()/meshSubDir/
"faceLabels" 334 forAll(patchEntries, patchi)
336 const entry&
e = patchEntries[patchi];
337 const word
type(
e.dict().get<word>(
"type"));
338 const word&
name =
e.keyword();
342 type == processorFaPatch::typeName
351 dictionary patchDict(
e.dict());
352 patchDict.set(
"edgeLabels",
labelList());
369 dummyMesh.addFaPatches(
patches,
false);
400 forAll(patchEntries, patchi)
402 const entry&
e = patchEntries[patchi];
403 const word
type(
e.dict().get<word>(
"type"));
404 const word&
name =
e.keyword();
408 type == processorFaPatch::typeName
417 <<
"Non-processor patches not synchronised." 421 <<
" patches, master has " 433 <<
"Non-processor patches not synchronised." 435 <<
"Master patch " << patchi
439 <<
" patch " << patchi
441 <<
" type:" <<
patches[patchi].type()
PtrList< faPatch > faPatchList
Store lists of faPatch as a PtrList.
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
static autoPtr< faPatch > New(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
Return pointer to a new patch created on freestore from dictionary.
fileName path() const
Return path.
A class for handling file names.
errorManipArg< error, int > exit(error &err, const int errNo=1)
word findInstance(const fileName &dir, const word &name=word::null, IOobjectOption::readOption rOpt=IOobjectOption::MUST_READ, const word &stopInstance=word::null) const
Return time instance (location) of dir that contains the file name (eg, used in reading mesh data)...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const word & name() const noexcept
Return the object name.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static bool & parRun() noexcept
Test if this a parallel run.
autoPtr< fileOperation > fileHandler(std::nullptr_t)
Delete current file handler.
virtual bool init(const bool doInit)
Initialise all non-demand-driven data.
bool checkOut(regIOobject *io) const
Remove a regIOobject from registry and free memory if the object is ownedByRegistry. A nullptr is ignored.
Ignore writing from objectRegistry::writeObject()
static int myProcNo(const label communicator=worldComm)
Number of this process (starting from masterNo() = 0)
static label worldComm
Default world communicator (all processors). May differ from globalComm if local worlds are in use...
static void broadcast(Type &value, const label comm=UPstream::worldComm)
Broadcast content (contiguous or non-contiguous) to all processes in communicator.
#define forAll(list, i)
Loop across all elements in list.
bool isDir(const fileName &name, const bool followLink=true)
Does the name exist as a DIRECTORY in the file system?
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const dimensionedScalar e
Elementary charge.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
bool mkDir(const fileName &pathName, mode_t mode=0777)
Make a directory and return an error if it could not be created.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
Foam::autoPtr< Foam::dynamicFvMesh > meshPtr
label size() const noexcept
The number of elements in the list.
const objectRegistry & db() const noexcept
Return the local objectRegistry.
const globalMeshData & globalData() const
Return parallel info.
const T * set(const label i) const
Return const pointer to element (can be nullptr), or nullptr for out-of-range access (ie...
bool empty() const noexcept
True if the hash table is empty.
fileName path(UMean.rootPath()/UMean.caseName()/"graphs"/UMean.instance())
static fileCheckTypes fileModificationChecking
Type of file modification checking.
void resize(const label newLen)
Adjust size of PtrList.
const fileName & instance() const noexcept
Read access to instance path component.
static void broadcasts(const label comm, Type &arg1, Args &&... args)
Broadcast multiple items to all processes in communicator.
Read and store dictionary entries for finite-area boundary patches.
bool isFile(const fileName &name, const bool checkGzip=true, const bool followLink=true)
Does the name exist as a FILE in the file system?
bool empty() const noexcept
True if the list is empty (ie, size() is zero)
static word meshSubDir
The mesh sub-directory name (usually "faMesh")
const Time & time() const
Return Time associated with the objectRegistry.
static bool master(const label communicator=worldComm)
Am I the master rank.
const polyBoundaryMesh & patches
Automatically write from objectRegistry::writeObject()
Mesh consisting of general polyhedral cells.
List< label > labelList
A List of labels.
Registry of regIOobjects.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
bool returnReduceOr(const bool value, const label comm=UPstream::worldComm)
Perform logical (or) MPI Allreduce on a copy. Uses UPstream::reduceOr.
Defines the attributes of an object for which implicit objectRegistry management is supported...
static const word & regionName(const word ®ion)
The mesh region name or word::null if polyMesh::defaultRegion.
Do not request registration (bool: false)
IOList< label > labelIOList
Label container classes.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.