Public Member Functions | Private Member Functions | Private Attributes
refineBoundaryLayers::refineEdgeHexCell Class Reference
Collaboration diagram for refineBoundaryLayers::refineEdgeHexCell:
Collaboration graph
[legend]

Public Member Functions

 refineEdgeHexCell (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 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 locatiol direction j More...
 
DynList< DynList< DynList< label, 4 >, 6 >, 256 > cellsFromCell_
 container for new cells More...
 
const refineBoundaryLayersbndLayers_
 const 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 > >, 2 > cellPoints_
 points on cross-split faces More...
 

Detailed Description

Definition at line 194 of file refineBoundaryLayers.H.

Constructor & Destructor Documentation

◆ refineEdgeHexCell()

refineEdgeHexCell ( const label  cellI,
const refineBoundaryLayers ref 
)

construct from cell label and the refineBoundaryLayers

Definition at line 633 of file refineBoundaryLayersCells.C.

Member Function Documentation

◆ determineFacesInDirections()

void determineFacesInDirections ( )
private

populate faceInDirection_nad wrongFaceOrientation_

find the number of layers for this cell

set the number of newly create cells

find the shared edge between the boundary faces

faces at i = const in the local coordinate system

faces k = const in the local coordinate system

find the face attached to the starting point of the edge and the face attached to the end point of the edge

check the orientation of faces

checking face at direction k = 0

checking face in direction k = 1

set orientation flag for face in direction j = 0

checking face in direction j = nLayersJ_

set orientation flag for face in direction i = 0

checking face in direction i = nLayersI_

Definition at line 307 of file refineBoundaryLayersCells.C.

References refineBoundaryLayers::refineEdgeHexCell::bndLayers_, Foam::constant::universal::c, refineBoundaryLayers::refineEdgeHexCell::cellI_, refineBoundaryLayers::refineEdgeHexCell::cellsFromCell_, edge::end(), Foam::endl(), refineBoundaryLayers::refineEdgeHexCell::faceInDirection_, refineBoundaryLayers::refineEdgeHexCell::faceOrientation_, forAll, mesh, refineBoundaryLayers::mesh_, refineBoundaryLayers::nLayersAtBndFace_, refineBoundaryLayers::refineEdgeHexCell::nLayersI_, refineBoundaryLayers::refineEdgeHexCell::nLayersJ_, Foam::help::positionOfEdgeInFace(), Foam::Pout, Foam::help::shareAnEdge(), Foam::help::sharedEdge(), List::size(), and edge::start().

Here is the call graph for this function:

◆ populateExistingFaces()

void populateExistingFaces ( )
private

populate new cells with new faces generated from already existing faces

store new faces at k = 0

store new faces at k = 1

store new faces at j = 0

store faces at j = nLayersJ

store new faces at i = 0

store new faces at i = nLayersI

Definition at line 444 of file refineBoundaryLayersCells.C.

References Foam::constant::universal::c, Foam::endl(), forAll, forAllRow, Foam::Pout, and VRWGraph::setSize().

Here is the call graph for this function:

◆ generateMissingFaces()

void generateMissingFaces ( )
private

generate new internal faces and tore them to new cells

fill up the matrix of points for this cell the matrix is used for generation of new cells

fill in the data for a cross-split faces

generate new internal faces for this cell generate faces with normal in the i direction

generate a quad face

populate the points form cellPoints

generate faces with the normal in j direction

generate a quad face

populate the points form cellPoints

Definition at line 508 of file refineBoundaryLayersCells.C.

References DynList< T, staticSize >::append(), Foam::constant::universal::c, Foam::endl(), Foam::Pout, Foam::help::reverseFace(), and FixedList::size().

Here is the call graph for this function:

◆ newCells()

const DynList<DynList<DynList<label, 4>, 6>, 256>& newCells ( ) const
inline

Definition at line 246 of file refineBoundaryLayers.H.

References refineBoundaryLayers::refineEdgeHexCell::cellsFromCell_.

Referenced by refineBoundaryLayers::generateNewCells().

Here is the caller graph for this function:

Field Documentation

◆ cellI_

const label cellI_
private

◆ nLayersI_

label nLayersI_
private

number of cells in local direction i

Definition at line 201 of file refineBoundaryLayers.H.

Referenced by refineBoundaryLayers::refineEdgeHexCell::determineFacesInDirections().

◆ nLayersJ_

label nLayersJ_
private

number of cells in locatiol direction j

Definition at line 204 of file refineBoundaryLayers.H.

Referenced by refineBoundaryLayers::refineEdgeHexCell::determineFacesInDirections().

◆ cellsFromCell_

DynList<DynList<DynList<label, 4>, 6>, 256> cellsFromCell_
private

◆ bndLayers_

const refineBoundaryLayers& bndLayers_
private

const reference to the boundary layer class

Definition at line 210 of file refineBoundaryLayers.H.

Referenced by refineBoundaryLayers::refineEdgeHexCell::determineFacesInDirections().

◆ faceInDirection_

FixedList<label, 6> faceInDirection_
private

faces sorted into directions of a hex shape

Definition at line 213 of file refineBoundaryLayers.H.

Referenced by refineBoundaryLayers::refineEdgeHexCell::determineFacesInDirections().

◆ faceOrientation_

FixedList<bool, 6> faceOrientation_
private

information about orientation of faces false means the orientation as expected true means wrong orientation

Definition at line 218 of file refineBoundaryLayers.H.

Referenced by refineBoundaryLayers::refineEdgeHexCell::determineFacesInDirections().

◆ cellPoints_

FixedList<DynList<DynList<label> >, 2> cellPoints_
private

points on cross-split faces

Definition at line 221 of file refineBoundaryLayers.H.


The documentation for this class was generated from the following files: