Public Member Functions | |
detectBoundaryLayers (const meshSurfacePartitioner &meshSurface, const bool is2DMesh=false) | |
~detectBoundaryLayers () | |
const edgeLongList & | hairEdges () const |
return hair edges found in the detection process More... | |
const VRWGraph & | hairEdgesAtBndPoint () const |
hair edges attached to a boundary point More... | |
label | nDistinctLayers () const |
number of distinct layers which are at the boundary of the mesh More... | |
const labelList & | faceInLayer () const |
index of a layer to which a boundary faces belong to More... | |
Private Member Functions | |
void | analyseLayers () |
analyse layers to check their topology More... | |
bool | findHairsForFace (const label, DynList< edge > &hairEdges) const |
provide hair edges in a cell above a boundary face More... | |
void | generateHairEdges () |
generate hair edges for all boundary points More... | |
detectBoundaryLayers (const detectBoundaryLayers &) | |
Disallow bitwise copy construct. More... | |
void | operator= (const detectBoundaryLayers &) |
Disallow bitwise assignment. More... | |
Private Attributes | |
const meshSurfacePartitioner & | meshSurface_ |
Reference to the meshSurfacePartitioner. More... | |
label | nFirstLayers_ |
labelList | layerAtBndFace_ |
information about the existing boundary layer at a boundary face More... | |
List< DynList< label > > | layerAtPatch_ |
layer at a boundary patch More... | |
edgeLongList | hairEdges_ |
hair edges found in the mesh More... | |
VRWGraph | hairEdgesAtBoundaryPoint_ |
hair edges at a boudary point More... | |
const bool | is2DMesh_ |
is it a 2D mesh More... | |
Definition at line 59 of file detectBoundaryLayers.H.
|
private |
Disallow bitwise copy construct.
detectBoundaryLayers | ( | const meshSurfacePartitioner & | meshSurface, |
const bool | is2DMesh = false |
||
) |
Construct from meshSurfacePartitioner and a bool providing information whether the mesh is a 2D mesh. The default is false.
Definition at line 40 of file detectBoundaryLayers.C.
References Foam::endl(), and Foam::Info.
~detectBoundaryLayers | ( | ) |
Definition at line 64 of file detectBoundaryLayers.C.
|
private |
analyse layers to check their topology
allocate data needed in parallel loops
find layers in patch
check the number of layer found at a patch
all faces of a patch must be in the same layer
set the layer ID to -1 for all faces where the patch is set to -1
Definition at line 333 of file detectBoundaryLayersFunctions.C.
References polyMeshGenCells::addCellSubset(), polyMeshGenCells::addCellToSubset(), meshSurfacePartitioner::boundaryFacePatches(), meshSurfaceEngine::boundaryFaces(), meshSurfaceEngine::boundaryPointEdges(), meshSurfaceEngine::edgeFaces(), meshSurfaceEngine::edges(), Foam::endl(), meshSurfaceEngine::faceEdges(), meshSurfaceEngine::faceOwners(), forAll, Foam::help::groupMarking(), Foam::Info, detectBoundaryLayers::is2DMesh_, detectBoundaryLayers::layerAtBndFace_, detectBoundaryLayers::layerAtPatch_, mesh, meshSurfaceEngine::mesh(), detectBoundaryLayers::meshSurface_, detectBoundaryLayers::nFirstLayers_, Foam::help::scalarToText(), PtrList::size(), meshSurfacePartitioner::surfaceEngine(), polyMeshGen2DEngine::zMaxPoints(), and polyMeshGen2DEngine::zMinPoints().
provide hair edges in a cell above a boundary face
check cell topology
check does the base face exist and is the number of faces in the cell corresponding to a prism cell
check if all faces attached to the base face are quads
find the face attached to the edge after the current point
find the face attached to the edge before the current point
there exists a common edge which shall be used as a hair
Definition at line 461 of file detectBoundaryLayersFunctions.C.
References DynList< T, staticSize >::append(), Foam::constant::universal::c, primitiveMesh::cells(), DynList< T, staticSize >::containsAtPosition(), Foam::e, f(), meshSurfaceEngine::faceOwners(), polyMesh::faces(), forAll, mesh, meshSurfaceEngine::mesh(), Foam::pos(), DynList< T, staticSize >::setSize(), faceListPMG::size(), List::size(), and DynList< T, staticSize >::size().
Referenced by detectBoundaryLayers::generateHairEdges().
|
private |
generate hair edges for all boundary points
find hair edges for this face
store hair edges in a list
just transfer the data to splitEdges_
filter out duplicate edges
create point to split edges addressing
Definition at line 570 of file detectBoundaryLayersFunctions.C.
References Foam::abort(), LongList< T, Offset >::append(), VRWGraph::append(), meshSurfaceEngine::boundaryFaces(), meshSurfaceEngine::bp(), LongList< T, Offset >::clear(), VRWGraph::clear(), meshSurfaceEngine::faceOwners(), Foam::FatalError, FatalErrorIn, detectBoundaryLayers::findHairsForFace(), forAll, forAllRow, detectBoundaryLayers::hairEdges(), detectBoundaryLayers::hairEdges_, detectBoundaryLayers::hairEdgesAtBoundaryPoint_, he, detectBoundaryLayers::layerAtBndFace_, detectBoundaryLayers::meshSurface_, pFaces, meshSurfaceEngine::pointFaces(), VRWGraph::reverseAddressing(), LongList< T, Offset >::setSize(), VRWGraph::setSize(), LongList< T, Offset >::size(), VRWGraph::sizeOfRow(), meshSurfacePartitioner::surfaceEngine(), and LongList< T, Offset >::transfer().
|
private |
Disallow bitwise assignment.
|
inline |
return hair edges found in the detection process
Definition at line 116 of file detectBoundaryLayers.H.
References detectBoundaryLayers::hairEdges_.
Referenced by refineBoundaryLayers::analyseLayers(), boundaryLayerOptimisation::calculateHairEdges(), and detectBoundaryLayers::generateHairEdges().
|
inline |
hair edges attached to a boundary point
Definition at line 122 of file detectBoundaryLayers.H.
References detectBoundaryLayers::hairEdgesAtBoundaryPoint_.
Referenced by boundaryLayerOptimisation::calculateHairEdges().
|
inline |
number of distinct layers which are at the boundary of the mesh
Definition at line 128 of file detectBoundaryLayers.H.
References detectBoundaryLayers::nFirstLayers_.
Referenced by refineBoundaryLayers::analyseLayers().
|
inline |
index of a layer to which a boundary faces belong to
Definition at line 134 of file detectBoundaryLayers.H.
References detectBoundaryLayers::layerAtBndFace_.
Referenced by refineBoundaryLayers::analyseLayers(), and boundaryLayerOptimisation::calculateHairEdges().
|
private |
Reference to the meshSurfacePartitioner.
Definition at line 62 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::analyseLayers(), and detectBoundaryLayers::generateHairEdges().
|
private |
find the number of distinct layers in the mesh at the boundary of the mesh
Definition at line 66 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::analyseLayers(), and detectBoundaryLayers::nDistinctLayers().
|
private |
information about the existing boundary layer at a boundary face
Definition at line 69 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::analyseLayers(), detectBoundaryLayers::faceInLayer(), and detectBoundaryLayers::generateHairEdges().
layer at a boundary patch
Definition at line 72 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::analyseLayers().
|
private |
hair edges found in the mesh
Definition at line 75 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::generateHairEdges(), and detectBoundaryLayers::hairEdges().
|
private |
hair edges at a boudary point
Definition at line 78 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::generateHairEdges(), and detectBoundaryLayers::hairEdgesAtBndPoint().
|
private |
is it a 2D mesh
Definition at line 81 of file detectBoundaryLayers.H.
Referenced by detectBoundaryLayers::analyseLayers().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.