38 #ifndef snappyLayerDriver_H
39 #define snappyLayerDriver_H
52 class addPatchCellLayer;
54 class layerParameters;
104 meshRefinement& meshRefiner_;
121 static void dumpDisplacement
126 const List<extrudeMode>&
130 static tmp<scalarField> avgPointData
138 static void checkManifold
141 pointSet& nonManifoldPoints
145 void checkMeshManifold()
const;
151 static bool unmarkExtrusion
153 const label patchPointi,
156 List<extrudeMode>& extrudeStatus
160 static bool unmarkExtrusion
162 const face& localFace,
165 List<extrudeMode>& extrudeStatus
169 static label constrainFp(
const label sz,
const label fp);
172 void countCommonPoints
181 bool checkCommonOrder
190 void checkCommonOrder
194 const Map<label>& nCommonPoints,
197 List<extrudeMode>& extrudeStatus
202 void handleNonStringConnected
207 List<extrudeMode>& extrudeStatus
211 void handleNonManifolds
218 List<extrudeMode>& extrudeStatus
223 void handleFeatureAngle
227 const scalar minAngle,
230 List<extrudeMode>& extrudeStatus
234 void handleWarpedFaces
237 const scalar faceRatio,
239 const scalar edge0Len,
243 List<extrudeMode>& extrudeStatus
255 List<extrudeMode>& extrudeStatus,
256 label& nIdealAddedCells
266 static tmp<pointVectorField> makeLayerDisplacementField
268 const pointMesh& pMesh,
278 List<extrudeMode>& extrudeStatus
282 void determineSidePatches
284 const globalIndex& globalFaces,
299 void calculateLayerThickness
303 const layerParameters& layerParams,
306 const scalar edge0Len,
317 void syncPatchDisplacement
323 List<extrudeMode>& extrudeStatus
327 void getPatchDisplacement
336 List<extrudeMode>& extrudeStatus
340 bool sameEdgeNeighbour
343 const label myGlobalFacei,
344 const label nbrGlobFacei,
355 const label myGlobFacei,
356 const label nbrGlobFacei,
365 label truncateDisplacement
367 const globalIndex& globalFaces,
371 const faceSet& illegalPatchFaces,
374 List<extrudeMode>& extrudeStatus
383 void setupLayerInfoTruncation
387 const List<extrudeMode>& extrudeStatus,
388 const label nBufferCellsNoExtrude,
394 static bool cellsUseFace
396 const polyMesh&
mesh,
404 static label checkAndUnmark
406 const addPatchCellLayer& addLayer,
407 const dictionary& motionDict,
408 const bool additionalReporting,
409 const List<labelPair>& baffles,
415 List<extrudeMode>& extrudeStatus
419 static label countExtrusion
422 const List<extrudeMode>& extrudeStatus
426 static List<labelPair> getBafflesOnAddedMesh
428 const polyMesh&
mesh,
430 const List<labelPair>& baffles
435 static void getLayerCellsFaces
438 const addPatchCellLayer&,
481 static void averageNeighbours
483 const polyMesh&
mesh,
484 const bitSet& isMasterEdge,
489 const Field<Type>& data,
496 const bitSet& isMasterEdge,
506 const motionSmoother& meshMover,
507 const bitSet& isMasterPoint,
508 const bitSet& isMasterEdge,
511 const label nSmoothDisp,
516 void smoothPatchNormals
518 const motionSmoother& meshMover,
519 const bitSet& isMasterPoint,
520 const bitSet& isMasterEdge,
522 const label nSmoothDisp,
529 const label nSmoothDisp,
530 const bitSet& isMasterPoint,
531 const bitSet& isMasterEdge,
538 void handleFeatureAngleLayerTerminations
541 const bitSet& isMasterPoint,
545 List<extrudeMode>& extrudeStatus,
554 void findIsolatedRegions
556 const scalar minCosLayerTermination,
557 const bitSet& isMasterPoint,
558 const bitSet& isMasterEdge,
563 List<extrudeMode>& extrudeStatus,
570 snappyLayerDriver(
const snappyLayerDriver&) =
delete;
573 void operator=(
const snappyLayerDriver&) =
delete;
586 meshRefinement& meshRefiner,
589 const bool dryRun =
false
598 const layerParameters& layerParams,
599 const dictionary& motionDict,
606 const layerParameters& layerParams,
607 const dictionary& motionDict,
609 const label nAllowableErrors,
610 decompositionMethod& decomposer,
611 fvMeshDistribute& distributor
617 const dictionary& shrinkDict,
618 const dictionary& motionDict,
619 const layerParameters& layerParams,
621 const bool preBalance,
622 decompositionMethod& decomposer,
623 fvMeshDistribute& distributor