67 inputMeshFaces_.clear();
68 boundaryToCompact_.clear();
76 return boundaryToCompact_.size();
80 return inputMeshFaces_.size();
87 inputMeshFaces_.clear();
88 boundaryToCompact_.clear();
90 const auto& procConnections = areaMesh.boundaryConnections();
96 inputMeshFaces_.resize(procConnections.size());
98 forAll(procConnections, connecti)
101 const auto& tuple = procConnections[connecti];
103 const label nbrFacei = tuple.second();
105 inputMeshFaces_[connecti] = nbrFacei;
137 forAll(connectivity, connecti)
139 labelList& edgeFaces = connectivity[connecti];
146 const auto& tuple = procConnections[connecti];
147 const label nbrProci = tuple.first();
148 const label nbrFacei = tuple.second();
150 if (myRank == nbrProci)
153 localUsed.insert(nbrFacei);
157 edgeFaces[0] = globalFaceNum.toGlobal(insideFaces[connecti]);
158 edgeFaces[1] = globalFaceNum.toGlobal(nbrProci, nbrFacei);
174 inputMeshFaces_ = localUsed.sortedToc();
176 boundaryToCompact_.clear();
177 boundaryToCompact_.resize(connectivity.size());
183 forAll(connectivity, connecti)
185 const labelList& edgeFaces = connectivity[connecti];
187 const label face1 = edgeFaces[1];
189 boundaryToCompact_[connecti] = face1;
bool insert(const Key &key)
Insert a new entry, not overwriting existing entries.
List< Key > sortedToc() const
The table of contents (the keys) in sorted order.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
void resize(const label len)
Adjust allocated size of list.
A HashTable to objects of type <T> with a label key.
A List with indirect addressing. Like IndirectList but does not store addressing.
void size(const label n)
Older name for setAddressableSize.
static int myProcNo(const label communicator=worldComm)
Rank of this process in the communicator (starting from masterNo()). Negative if the process is not a...
static bool parRun(const bool on) noexcept
Set as parallel run on/off.
static int & msgType() noexcept
Message tag of standard messages.
static label nProcs(const label communicator=worldComm)
Number of ranks in parallel run (for given communicator). It is 1 for serial run.
static bool & parRun() noexcept
Test if this a parallel run.
Mesh data needed to do the Finite Area discretisation.
Class for obtaining halo face data for the boundary edges. The ordering follows that natural edge ord...
faMeshBoundaryHalo(const label comm=UPstream::worldComm)
Default construct.
void reset(const faMesh &mesh)
Redefine map and connectivity for a mesh.
void clear()
Clear out all parameters.
label haloSize() const
The local data size (output).
Finite area mesh (used for 2-D non-Euclidian finite area method) defined using a patch of faces on a ...
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
label toGlobal(const label proci, const label i) const
From local to global on proci.
Class containing processor-to-processor mapping information.
mapDistributeBase() noexcept
Default construct (uses worldComm).
label comm() const noexcept
The communicator used.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
limits reset(1/(limits.max()+VSMALL), 1/(limits.min()+VSMALL))
List< labelList > labelListList
List of labelList.
List< label > labelList
A List of labels.
HashSet< label, Hash< label > > labelHashSet
A HashSet of labels, uses label hasher.
#define forAll(list, i)
Loop across all elements in list.