52 if (setLayerPairing())
56 Pout<<
"void layerAdditionRemoval::extrusionDir() const "
57 <<
" for object " <<
name() <<
" : "
58 <<
"Using edges for point insertion" <<
endl;
73 Pout<<
"void layerAdditionRemoval::extrusionDir() const "
74 <<
" for object " <<
name() <<
" : "
75 <<
"A valid layer could not be found in front of "
76 <<
"the addition face layer. Using face-based "
77 <<
"point normals for point addition"
81 extrusionDir = minLayerThickness_*masterFaceLayer.pointNormals();
88 void Foam::layerAdditionRemoval::addCellLayer
109 Pout<<
"void layerAdditionRemoval::addCellLayer("
110 <<
"polyTopoChange& ref) const for object " <<
name() <<
" : "
111 <<
"Adding cell layer" <<
endl;
116 const polyMesh&
mesh = topoChanger().mesh();
121 const labelList&
mp = masterFaceLayer.meshPoints();
134 addedPoints[pointi] =
140 + addDelta_*pointOffsets[pointi],
150 Pout<<
"mp: " <<
mp <<
" addedPoints: " << addedPoints <<
endl;
170 label celli = mc[facei];
190 const faceList& zoneFaces = masterFaceLayer.localFaces();
201 const face oldFace = zoneFaces[facei].reverseFace();
203 face newFace(oldFace.size());
207 newFace[pointi] = addedPoints[oldFace[pointi]];
210 bool flipFaceFlux =
false;
216 || mc[facei] == nei[mf[facei]]
242 Pout<<
"adding face: " << newFace
243 <<
" own: " << mc[facei]
244 <<
" nei: " << addedCells[facei]
257 const label curfaceID = mf[facei];
281 Pout<<
"Modifying a boundary face. Face: " << curfaceID
282 <<
" flip: " << mfFlip[facei]
290 else if (sc[facei] == own[curfaceID])
311 Pout<<
"modify face, no flip " << curfaceID
312 <<
" own: " << own[curfaceID]
313 <<
" nei: " << addedCells[facei]
324 faces[curfaceID].reverseFace(),
338 Pout<<
"modify face, with flip " << curfaceID
339 <<
" own: " << own[curfaceID]
340 <<
" nei: " << addedCells[facei]
348 const edgeList& zoneLocalEdges = masterFaceLayer.edges();
350 const labelListList& edgeFaces = masterFaceLayer.edgeFaces();
352 label nInternalEdges = masterFaceLayer.nInternalEdges();
358 for (label curEdgeID = 0; curEdgeID < nInternalEdges; curEdgeID++)
362 newFace[0] =
mp[zoneLocalEdges[curEdgeID].start()];
363 newFace[1] =
mp[zoneLocalEdges[curEdgeID].end()];
364 newFace[2] = addedPoints[zoneLocalEdges[curEdgeID].end()];
365 newFace[3] = addedPoints[zoneLocalEdges[curEdgeID].start()];
372 addedCells[edgeFaces[curEdgeID][0]],
373 addedCells[edgeFaces[curEdgeID][1]],
375 meshEdges[curEdgeID],
386 Pout<<
"Add internal face off edge: " << newFace
387 <<
" own: " << addedCells[edgeFaces[curEdgeID][0]]
388 <<
" nei: " << addedCells[edgeFaces[curEdgeID][1]]
410 label curEdgeID = nInternalEdges;
411 curEdgeID < zoneLocalEdges.size();
416 newFace[0] =
mp[zoneLocalEdges[curEdgeID].start()];
417 newFace[1] =
mp[zoneLocalEdges[curEdgeID].end()];
418 newFace[2] = addedPoints[zoneLocalEdges[curEdgeID].end()];
419 newFace[3] = addedPoints[zoneLocalEdges[curEdgeID].start()];
422 const labelList& curFaces = meshEdgeFaces[meshEdges[curEdgeID]];
429 const label cf = curFaces[facei];
434 if (zoneMesh.whichZone(cf) != faceZoneID_.index())
448 <<
"Cannot find patch for edge " << meshEdges[curEdgeID]
449 <<
". Edge: " <<
mesh.
edges()[meshEdges[curEdgeID]]
458 addedCells[edgeFaces[curEdgeID][0]],
461 meshEdges[curEdgeID],
472 Pout<<
"add boundary face: " << newFace
474 <<
" own: " << addedCells[edgeFaces[curEdgeID][0]]
504 if (zoneMesh.whichZone(curFaces[facei]) != faceZoneID_.index())
506 masterCellFaceMap.insert(curFaces[facei]);
512 Map<label> masterLayerPointMap(2*
mp.size());
516 masterLayerPointMap.insert
524 const labelList masterCellFaces = masterCellFaceMap.toc();
526 forAll(masterCellFaces, facei)
531 const label curFaceID = masterCellFaces[facei];
533 const face& oldFace = faces[curFaceID];
535 face newFace(oldFace.size());
537 bool changed =
false;
541 if (masterLayerPointMap.found(oldFace[pointi]))
545 newFace[pointi] = masterLayerPointMap.find(oldFace[pointi])();
549 newFace[pointi] = oldFace[pointi];
558 bool modifiedFaceZoneFlip =
false;
560 if (modifiedFaceZone >= 0)
562 modifiedFaceZoneFlip =
589 Pout<<
"modifying stick-out face. Internal Old face: "
591 <<
" new face: " << newFace
592 <<
" own: " << own[curFaceID]
593 <<
" nei: " << nei[curFaceID]
618 Pout<<
"modifying stick-out face. Boundary Old face: "
620 <<
" new face: " << newFace
621 <<
" own: " << own[curFaceID]
632 Pout<<
"void layerAdditionRemoval::addCellLayer(polyTopoChange&) const "
633 <<
" for object " <<
name() <<
": "
634 <<
"Finished adding cell layer" <<
endl;