diff --git a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.H b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.H index 6dfe8607e95708557eaa90521a2955135b774792..f015f01e0f26dd62ad62c16525597c652111c049 100644 --- a/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.H +++ b/src/mesh/snappyHexMesh/snappyHexMeshDriver/snappyLayerDriver.H @@ -3,7 +3,7 @@ \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation - \\/ M anipulation | + \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. ------------------------------------------------------------------------------- License This file is part of OpenFOAM. @@ -159,6 +159,48 @@ private: List<extrudeMode>& extrudeStatus ); + //- Truncate index in face + static label constrainFp(const label sz, const label fp); + + //- Count common points between face and its neighbours + void countCommonPoints + ( + const indirectPrimitivePatch&, + const label facei, + Map<label>& + ) const; + + //- Check if any common points form single string. Return + // false if not. + bool checkCommonOrder + ( + const label nCommon, + const face& curFace, + const face& nbFace + ) const; + + //- Check if any common points form single string; unmark + // points on face if not + void checkCommonOrder + ( + const indirectPrimitivePatch& pp, + const label facei, + const Map<label>& nCommonPoints, + pointField& patchDisp, + labelList& patchNLayers, + List<extrudeMode>& extrudeStatus + ) const; + + //- Check if any common points form single string; unmark + // points on face if not + void handleNonStringConnected + ( + const indirectPrimitivePatch& pp, + pointField& patchDisp, + labelList& patchNLayers, + List<extrudeMode>& extrudeStatus + ) const; + //- No extrusion at non-manifold points. void handleNonManifolds (