44#ifndef Foam_faBoundaryMesh_H
45#define Foam_faBoundaryMesh_H
86 bool hasGroupIDs()
const;
89 void calcGroupIDs()
const;
92 void clearLocalAddressing();
99 bool readIOcontents(
const bool allowOptionalRead);
233 const bool useGroups =
true
242 const bool useGroups =
true
257 const bool useGroups =
true
268 const word& patchName,
269 const bool allowNotFound =
true
277 label
whichPatch(
const label edgeIndex)
const;
323 const bool writeOnProc =
true
338 return indices(key, useGroups);
A HashTable similar to std::unordered_map.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
A simple container for options an IOstream can normally have.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
constexpr PtrList() noexcept
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
label size() const noexcept
The number of entries in the list.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A keyword and a list of tokens is an 'entry'.
Finite area boundary mesh, which is a faPatch list with registered IO, a reference to the associated ...
UPtrList< const labelUList > edgeFaces() const
Return a list of edgeFaces for each patch.
bool checkDefinition(const bool report=false) const
Check boundary definition.
label nNonProcessor() const
The number of patches before the first processor patch.
void calcGeometry()
Calculate the geometry for the patches.
const faPatch * cfindPatch(const word &patchName) const
Find patch by name and return const pointer.
const HashTable< labelList > & groupPatchIDs() const
The patch indices per patch group.
labelList patchStarts() const
Return a list of patch start indices.
lduInterfacePtrsList interfaces() const
Return a list of pointers for each patch with only those pointing to interfaces being set.
~faBoundaryMesh()=default
Destructor.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc=true) const
Write using stream options, but always UNCOMPRESSED.
void operator=(const faBoundaryMesh &)=delete
No copy assignment.
const faMesh & mesh() const noexcept
Return the mesh reference.
labelRange range() const
The edge range for all boundary edges.
wordList types() const
Return a list of patch types.
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
friend Ostream & operator<<(Ostream &, const faBoundaryMesh &)
virtual bool writeData(Ostream &os) const
The writeData member function required by regIOobject.
TypeName("faBoundaryMesh")
Runtime type information.
void setGroup(const word &groupName, const labelUList &patchIDs)
Set/add group with patches.
List< labelRange > patchRanges() const
Return a list of patch ranges.
faBoundaryMesh(const faBoundaryMesh &)=delete
No copy construct.
labelList findIndices(const wordRe &key, bool useGroups=true) const
Identical to the indices() method (AUG-2018).
label whichPatch(const label edgeIndex) const
Return patch index for a given edge label.
void movePoints(const pointField &)
Correct faBoundaryMesh after moving points.
void writeEntry(Ostream &os) const
Write as a plain list of entries.
labelList patchSizes() const
Return a list of patch sizes (number of edges in each patch).
void clear()
Clear the patch list and all demand-driven data.
wordList groupNames() const
A list of the group names (if any).
wordList names() const
Return a list of patch names.
bool checkParallelSync(const bool report=false) const
Check whether all procs have all patches and in same order.
void updateMesh()
Correct faBoundaryMesh after topology update.
label nProcessorPatches() const
The number of processorFaPatch patches.
UPtrList< const labelUList > edgeLabels() const
Return a list of edgeLabels for each patch.
label nNonProcessorEdges() const
The number of boundary edges before the first processor patch.
labelList indices(const wordRe &matcher, const bool useGroups=true) const
The (sorted) patch indices for all matches, optionally matching patch groups.
label nEdges() const
The number of boundary edges for the underlying mesh.
label findIndex(const wordRe &key) const
Return patch index for the first match, return -1 if not found.
label start() const
The start label of the edges in the faMesh edges list.
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Finite area patch class. Used for 2-D non-Euclidian finite area method.
A range or interval of labels defined by a start and a size.
regIOobject(const IOobject &io, const bool isTimeObject=false)
Construct from IOobject. The optional flag adds special handling if the object is the top-level regIO...
A wordRe is a Foam::word, but can contain a regular expression for matching words or strings.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
OBJstream os(runTime.globalPath()/outputName)
List< word > wordList
List of word.
List< label > labelList
A List of labels.
UPtrList< const lduInterface > lduInterfacePtrsList
Store lists of lduInterface as a UPtrList.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
vectorField pointField
pointField is a vectorField.
PtrList< faPatch > faPatchList
Store lists of faPatch as a PtrList.
UList< label > labelUList
A UList of labels.
Calculate the matrix for the second temporal derivative.
#define FOAM_DEPRECATED_FOR(since, replacement)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.