Public Member Functions | |
refineCornerHexCell (const label cellI, const refineBoundaryLayers &ref) | |
construct from cell label and the refineBoundaryLayers More... | |
const DynList< DynList< DynList< label, 4 >, 6 >, 256 > & | newCells () const |
Private Member Functions | |
void | determineFacesInDirections () |
populate faceInDirection_nad wrongFaceOrientation_ More... | |
void | populateExistingFaces () |
void | generateNewPoints () |
generate missing points inside the cell More... | |
void | generateMissingFaces () |
generate new internal faces and tore them to new cells More... | |
Private Attributes | |
const label | cellI_ |
label of cell More... | |
label | nLayersI_ |
number of cells in local direction i More... | |
label | nLayersJ_ |
number of cells in local direction j More... | |
label | nLayersK_ |
number of cells in local direction k More... | |
FixedList< label, 3 > | splitEdgeInDirection_ |
split edge in directions More... | |
DynList< DynList< DynList< label, 4 >, 6 >, 256 > | cellsFromCell_ |
container for new cells More... | |
const refineBoundaryLayers & | bndLayers_ |
reference to the boundary layer class More... | |
FixedList< label, 6 > | faceInDirection_ |
faces sorted into directions of a hex shape More... | |
FixedList< bool, 6 > | faceOrientation_ |
FixedList< DynList< DynList< label > >, 6 > | facePoints_ |
points on cross-split faces More... | |
DynList< DynList< DynList< label > > > | cellPoints_ |
points inside the cell More... | |
Definition at line 252 of file refineBoundaryLayers.H.
refineCornerHexCell | ( | const label | cellI, |
const refineBoundaryLayers & | ref | ||
) |
construct from cell label and the refineBoundaryLayers
Definition at line 1297 of file refineBoundaryLayersCells.C.
|
private |
populate faceInDirection_nad wrongFaceOrientation_
find the number of layers for this cell
find a common point for all three boundary faces
find the position of the common point in each boundary face
find split edges starting at the commonPoints
this edge is in j direction
this edge is in i diretion
this point is in k direction
this situation is not allowed
find the direction od other boundary faces in the local coordinate system
find the number of layers and a split in each direction
determine the directions of cell faces store boundary faces first. Their normals point in the wrong direction face at k = 0
face at j = 0
face at i = 0
find directions of other faces and thrie orientation
face at k = nLayersK_
face at j = nLayersJ_
face at i = nLayersI_
Definition at line 656 of file refineBoundaryLayersCells.C.
References Foam::abort(), Foam::constant::universal::c, Foam::endl(), face::faceEdge(), Foam::FatalError, FatalErrorIn, forAll, forAllRow, mesh, Foam::help::positionOfEdgeInFace(), Foam::Pout, Foam::help::shareAnEdge(), Foam::help::sharedVertex(), List::size(), VRWGraph::sizeOfRow(), and face::which().
|
private |
populate new cells with new faces generated from already existing faces
set the number of cells
add new faces from existing faces into new cells
Definition at line 848 of file refineBoundaryLayersCells.C.
References Foam::constant::universal::c, Foam::endl(), forAll, and Foam::Pout.
|
private |
generate missing points inside the cell
allocate space for points generated inside the cell
collect information about points generated on faces of the cell
fill in cellPoints at the boundary
useful data for generating missing points
const references to vertices of the cell ordered in a local i, j, k coordinate system
calculate coordinates of the new vertex
add the point to the mesh
Definition at line 875 of file refineBoundaryLayersCells.C.
References Foam::constant::universal::c, edge::end(), Foam::endl(), forAll, k, edge::mag(), Foam::mag(), points, Foam::Pout, edge::start(), and w().
|
private |
generate new internal faces and tore them to new cells
generate face in direction i
generate quad faces
skip generating last face because it might not be a quad
generate faces which might not be a quads
this face might not be a quad add points fom the last face in direction j
add points from the last face in direction k
generate faces in direction j
generate quad faces
skip generating late face because it might not be a quad
generate a face which might not be a quad
add points from the last face in direction k
add points from the last face in direction i
generate faces in direction k
generate quad faces
skip the last face because it might not be a quad
generate a face which might not be a quad
this face might not be a quad add points from the last face in direction i
add points from the last face in direction j
Definition at line 1024 of file refineBoundaryLayersCells.C.
References Foam::abort(), DynList< T, staticSize >::append(), DynList< T, staticSize >::containsAtPosition(), Foam::e, Foam::endl(), f(), f1, Foam::FatalError, forAll, k, Foam::pos(), Foam::Pout, Foam::help::reverseFace(), and DynList< T, staticSize >::size().
Definition at line 316 of file refineBoundaryLayers.H.
References refineBoundaryLayers::refineCornerHexCell::cellsFromCell_.
Referenced by refineBoundaryLayers::generateNewCells().
|
private |
label of cell
Definition at line 256 of file refineBoundaryLayers.H.
|
private |
number of cells in local direction i
Definition at line 259 of file refineBoundaryLayers.H.
|
private |
number of cells in local direction j
Definition at line 262 of file refineBoundaryLayers.H.
|
private |
number of cells in local direction k
Definition at line 265 of file refineBoundaryLayers.H.
split edge in directions
Definition at line 268 of file refineBoundaryLayers.H.
container for new cells
Definition at line 271 of file refineBoundaryLayers.H.
Referenced by refineBoundaryLayers::refineCornerHexCell::newCells().
|
private |
reference to the boundary layer class
Definition at line 274 of file refineBoundaryLayers.H.
faces sorted into directions of a hex shape
Definition at line 277 of file refineBoundaryLayers.H.
|
private |
information about orientation of faces false means the orientation as expected true means wrong orientation
Definition at line 282 of file refineBoundaryLayers.H.
points on cross-split faces
Definition at line 285 of file refineBoundaryLayers.H.
points inside the cell
Definition at line 288 of file refineBoundaryLayers.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.