49 surfaceEngine_(surfaceEngine)
73 surfaceEngine_.mesh_.points()[surfaceEngine_.boundaryPoints()[bpI]] = newP;
82 const labelList& bPoints = surfaceEngine_.boundaryPoints();
84 points[bPoints[bpI]] = newP;
86 if( surfaceEngine_.faceCentresPtr_ )
88 vectorField& faceCentres = *surfaceEngine_.faceCentresPtr_;
96 faceCentres[bfI] = bFaces[bfI].centre(
points);
100 if( surfaceEngine_.faceNormalsPtr_ )
102 vectorField& faceNormals = *surfaceEngine_.faceNormalsPtr_;
110 faceNormals[bfI] = bFaces[bfI].normal(
points);
114 if( surfaceEngine_.pointNormalsPtr_ )
116 const vectorField& faceNormals = *surfaceEngine_.faceNormalsPtr_;
118 const VRWGraph& pPoints = surfaceEngine_.pointPoints();
120 vectorField& pn = *surfaceEngine_.pointNormalsPtr_;
123 n += faceNormals[
pFaces(bpI, pfI)];
125 const scalar l =
mag(
n);
140 const label bpJ = pPoints(bpI, ppI);
143 n += faceNormals[
pFaces(bpJ, pfI)];
145 const scalar d =
mag(
n);
182 const VRWGraph& bpAtProcs = surfaceEngine_.bpAtProcs();
184 surfaceEngine_.globalBoundaryPointLabel();
186 surfaceEngine_.globalToLocalBndPointAddressing();
188 const labelList& bPoints = surfaceEngine_.boundaryPoints();
191 std::map<label, LongList<labelledPoint> > exchangeData;
201 const label bpI = syncNodes[snI];
207 moveBoundaryVertexNoUpdate(bpI,
p);
211 const label neiProc = bpAtProcs(bpI, i);
229 moveBoundaryVertexNoUpdate(bpI, newP);
241 const labelList& bp = surfaceEngine_.bp();
245 # pragma omp parallel for if( updateBndNodes.size() > 1000 )
249 const label bpI = updateBndNodes[i];
251 updateFaces[
pFaces(bpI, j)] =
true;
254 if( surfaceEngine_.faceCentresPtr_ )
256 vectorField& faceCentres = *surfaceEngine_.faceCentresPtr_;
259 # pragma omp parallel for if( updateFaces.size() > 1000 ) \
260 schedule(dynamic, 100)
264 if( updateFaces[bfI] )
265 faceCentres[bfI] = bFaces[bfI].centre(
points);
269 if( surfaceEngine_.faceNormalsPtr_ )
271 vectorField& faceNormals = *surfaceEngine_.faceNormalsPtr_;
274 # pragma omp parallel for if( updateFaces.size() > 1000 ) \
275 schedule(dynamic, 100)
279 if( updateFaces[bfI] )
280 faceNormals[bfI] = bFaces[bfI].normal(
points);
284 if( surfaceEngine_.pointNormalsPtr_ )
286 const vectorField& faceNormals = surfaceEngine_.faceNormals();
290 # pragma omp parallel for schedule(dynamic, 50)
294 const label bpI = updateBndNodes[i];
301 updateBndPoint[bp[bf[pI]]] =
true;
305 vectorField& pn = *surfaceEngine_.pointNormalsPtr_;
307 # pragma omp parallel for schedule(dynamic, 100)
309 forAll(updateBndPoint, bpI)
311 if( !updateBndPoint[bpI] )
316 n += faceNormals[
pFaces(bpI, pfI)];
318 const scalar l =
mag(
n);
335 surfaceEngine_.globalToLocalBndPointAddressing();
336 const VRWGraph& bpAtProcs = surfaceEngine_.bpAtProcs();
340 std::map<label, labelLongList> exchangeNodeLabels;
342 exchangeNodeLabels[neiProcs[i]].clear();
346 const label bpI = it();
348 if( updateBndPoint[bpI] )
352 const label neiProc = bpAtProcs(bpI, i);
357 exchangeNodeLabels[neiProc].append(it.key());
366 updateBndPoint[globalToLocal[receivedNodes[i]]] =
true;
370 std::map<label, LongList<labelledPoint> > exchangeData;
372 exchangeData[neiProcs[i]].clear();
377 const label bpI = iter();
379 if( !updateBndPoint[bpI] )
386 n += faceNormals[
pFaces(bpI, pfI)];
390 const label neiProc = bpAtProcs(bpI, procI);
404 const label bpI = globalToLocal[receivedData[i].pointLabel()];
405 pn[bpI] += receivedData[i].coordinates();
411 const label bpI = it();
413 if( !updateBndPoint[bpI] )
438 # pragma omp parallel for if( updateBndNodes.size() > 10000 )
440 forAll(updateBndNodes, bpI)
441 updateBndNodes[bpI] = bpI;