41 "syncTools<class T>::swapBoundaryCellPositions" 42 "(const polyMesh&, const UList<T>&, List<T>&)" 43 ) <<
"Number of cell values " << cellData.
size()
44 <<
" is not equal to the number of cells in the mesh " 52 neighbourCellData.
setSize(nBnd);
61 neighbourCellData[bFaceI] = cellData[faceCells[i]];
64 syncTools::swapBoundaryFacePositions(mesh, neighbourCellData);
74 const labelList& meshPoints = globalData.coupledPatch().meshPoints();
77 globalData.globalPointTransformedSlaves();
79 forAll(meshPoints, coupledPointI)
81 label meshPointI = meshPoints[coupledPointI];
85 slaves[coupledPointI].size()
86 + transformedSlaves[coupledPointI].size()
91 isMasterPoint[meshPointI] =
true;
93 donePoint[meshPointI] =
true;
102 if (!donePoint[pointI])
104 isMasterPoint[pointI] =
true;
108 return isMasterPoint;
118 const labelList& meshEdges = globalData.coupledPatchMeshEdges();
121 globalData.globalEdgeTransformedSlaves();
123 forAll(meshEdges, coupledEdgeI)
125 label meshEdgeI = meshEdges[coupledEdgeI];
129 slaves[coupledEdgeI].size()
130 + transformedSlaves[coupledEdgeI].size()
135 isMasterEdge[meshEdgeI] =
true;
137 doneEdge[meshEdgeI] =
true;
146 if (!doneEdge[edgeI])
148 isMasterEdge[edgeI] =
true;
164 if (patches[patchI].coupled())
167 refCast<const coupledPolyPatch>(patches[patchI]);
173 isMasterFace.unset(pp.
start()+i);
198 if (!refCast<const coupledPolyPatch>(pp).owner())
202 isMasterFace.unset(pp.
start()+i);
210 isMasterFace.unset(pp.
start()+i);
236 isMasterFace.unset(pp.
start()+i);
static PackedBoolList getMasterFaces(const polyMesh &)
Get per face whether it is uncoupled or a master of a.
virtual bool coupled() const
Return true if this patch is geometrically coupled (i.e. faces and.
static PackedBoolList getInternalOrMasterFaces(const polyMesh &)
Get per face whether it is internal or a master of a.
const labelUList & faceCells() const
Return face-cell addressing.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static PackedBoolList getMasterEdges(const polyMesh &)
Get per edge whether it is uncoupled or a master of a.
static PackedBoolList getMasterPoints(const polyMesh &)
Get per point whether it is uncoupled or a master of a.
static PackedBoolList getInternalOrCoupledFaces(const polyMesh &)
Get per face whether it is internal or coupled.
A patch is a list of labels that address the faces in the global face list.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
static void swapBoundaryCellPositions(const polyMesh &mesh, const UList< point > &cellData, List< point > &neighbourCellData)
Swap to obtain neighbour cell positions for all boundary faces.
void setSize(const label)
Reset size of List.
label size() const
Return the number of elements in the UList.
errorManip< error > abort(error &err)
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
Various mesh related information for a parallel run. Upon construction, constructs all info using par...
label start() const
Return start label of this patch in the polyMesh face list.
label nInternalFaces() const
Mesh consisting of general polyhedral cells.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
virtual bool owner() const =0
Does this side own the patch ?
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
const globalMeshData & globalData() const
Return parallel info.