40 Foam::faGlobalMeshData::faGlobalMeshData(
const faMesh&
mesh)
45 sharedPointLabels_(0),
68 label polyMeshNGlobalPoints = mesh_().globalData().nGlobalPoints();
70 const labelList& polyMeshSharedPointLabels =
71 mesh_().globalData().sharedPointLabels();
73 const labelList& polyMeshSharedPointAddr =
74 mesh_().globalData().sharedPointAddr();
80 forAll(mesh_.boundary(), patchI)
82 const faPatch& fap = mesh_.boundary()[patchI];
84 if (isA<processorFaPatch>(fap))
88 forAll(localPointLabels, pointI)
91 mesh_.patch().meshPoints()[localPointLabels[pointI]];
93 const label sharedPolyMeshPoint =
94 polyMeshSharedPointLabels.find(polyMeshPoint);
98 sharedPolyMeshPoint != -1
99 && !sharedPointLabels.found(localPointLabels[pointI])
102 globalList[polyMeshSharedPointAddr[sharedPolyMeshPoint]]
105 sharedPointLabels.
insert(localPointLabels[pointI]);
111 sharedPointLabels_ = sharedPointLabels.toc();
116 for (label i=0; i<globalList.size(); ++i)
118 if (globalList[i] > 0)
120 globalList[i] = ++nGlobalPoints_;
124 sharedPointAddr_.setSize(sharedPointLabels_.size());
125 forAll(sharedPointAddr_, pointI)
127 const label polyMeshSharedPointIndex =
128 polyMeshSharedPointLabels.find
130 mesh_.patch().meshPoints()[sharedPointLabels_[pointI]]
133 sharedPointAddr_[pointI] =
134 globalList[polyMeshSharedPointAddr[polyMeshSharedPointIndex]]