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,
238 const scalar edge0Len,
242 List<extrudeMode>& extrudeStatus
254 List<extrudeMode>& extrudeStatus,
255 label& nIdealAddedCells
265 static tmp<pointVectorField> makeLayerDisplacementField
267 const pointMesh& pMesh,
277 List<extrudeMode>& extrudeStatus
281 void determineSidePatches
283 const globalIndex& globalFaces,
298 void calculateLayerThickness
302 const layerParameters& layerParams,
305 const scalar edge0Len,
316 void syncPatchDisplacement
322 List<extrudeMode>& extrudeStatus
326 void getPatchDisplacement
333 List<extrudeMode>& extrudeStatus
337 bool sameEdgeNeighbour
340 const label myGlobalFacei,
341 const label nbrGlobFacei,
352 const label myGlobFacei,
353 const label nbrGlobFacei,
362 label truncateDisplacement
364 const globalIndex& globalFaces,
368 const faceSet& illegalPatchFaces,
371 List<extrudeMode>& extrudeStatus
380 void setupLayerInfoTruncation
384 const List<extrudeMode>& extrudeStatus,
385 const label nBufferCellsNoExtrude,
391 static bool cellsUseFace
393 const polyMesh&
mesh,
401 static label checkAndUnmark
403 const addPatchCellLayer& addLayer,
404 const dictionary& motionDict,
405 const bool additionalReporting,
406 const List<labelPair>& baffles,
412 List<extrudeMode>& extrudeStatus
416 static label countExtrusion
419 const List<extrudeMode>& extrudeStatus
423 static List<labelPair> getBafflesOnAddedMesh
425 const polyMesh&
mesh,
427 const List<labelPair>& baffles
432 static void getLayerCellsFaces
435 const addPatchCellLayer&,
478 static void averageNeighbours
480 const polyMesh&
mesh,
481 const bitSet& isMasterEdge,
486 const Field<Type>& data,
493 const bitSet& isMasterEdge,
503 const motionSmoother& meshMover,
504 const bitSet& isMasterPoint,
505 const bitSet& isMasterEdge,
508 const label nSmoothDisp,
513 void smoothPatchNormals
515 const motionSmoother& meshMover,
516 const bitSet& isMasterPoint,
517 const bitSet& isMasterEdge,
519 const label nSmoothDisp,
526 const label nSmoothDisp,
527 const bitSet& isMasterPoint,
528 const bitSet& isMasterEdge,
535 void handleFeatureAngleLayerTerminations
538 const bitSet& isMasterPoint,
542 List<extrudeMode>& extrudeStatus,
551 void findIsolatedRegions
553 const scalar minCosLayerTermination,
554 const bitSet& isMasterPoint,
555 const bitSet& isMasterEdge,
560 List<extrudeMode>& extrudeStatus,
567 snappyLayerDriver(
const snappyLayerDriver&) =
delete;
570 void operator=(
const snappyLayerDriver&) =
delete;
583 meshRefinement& meshRefiner,
586 const bool dryRun =
false
595 const layerParameters& layerParams,
596 const dictionary& motionDict,
603 const layerParameters& layerParams,
604 const dictionary& motionDict,
606 const label nAllowableErrors,
607 decompositionMethod& decomposer,
608 fvMeshDistribute& distributor
614 const dictionary& shrinkDict,
615 const dictionary& motionDict,
616 const layerParameters& layerParams,
618 const bool preBalance,
619 decompositionMethod& decomposer,
620 fvMeshDistribute& distributor