shellSurfaces Class Reference

Encapsulates queries for volume refinement ('refine all cells within shell'). More...

Public Types

enum  refineMode { INSIDE , OUTSIDE , DISTANCE }
 Volume refinement controls. More...
 

Public Member Functions

 shellSurfaces (const searchableSurfaces &allGeometry, const dictionary &shellsDict, const bool dryRun=false)
 Construct from geometry and dictionary. More...
 
const labelListshells () const
 Indices of surfaces that are shells. More...
 
const List< List< FixedList< label, 3 > > > & extendedGapLevel () const
 Per shell, per region the small-gap level specification. More...
 
const List< List< volumeType > > & extendedGapMode () const
 Per shell, per region the small-gap level specification. More...
 
const boolListListgapSelf () const
 Per shell, per region whether to test for gap with same surface. More...
 
label maxLevel () const
 Highest shell level. More...
 
labelList maxGapLevel () const
 Highest shell gap level. More...
 
labelPairList directionalSelectLevel () const
 Min and max cell level for directional refinement. More...
 
void findHigherLevel (const pointField &pt, const labelList &ptLevel, labelList &maxLevel) const
 Find shell level higher than ptLevel. More...
 
void findHigherGapLevel (const pointField &pt, const labelList &ptLevel, labelList &gapShell, List< FixedList< label, 3 > > &gapInfo, List< volumeType > &gapMode) const
 Find a shell whose minimum gap level is >= ptLevel. More...
 
void findHigherGapLevel (const pointField &pt, const labelList &ptLevel, List< FixedList< label, 3 > > &gapInfo, List< volumeType > &gapMode) const
 Find a shell whose minimum gap level is >= ptLevel. gapInfo. More...
 
void findLevel (const pointField &pt, const labelList &ptLevel, labelList &shell) const
 Find first shell (or -1) with level equal or lower than ptLevel. More...
 
void findDirectionalLevel (const pointField &pt, const labelList &ptLevel, const labelList &dirLevel, const direction dir, labelList &shell) const
 Find any shell (or -1) with higher wanted directional level. More...
 
const vectorFieldsmoothDirection () const
 Per shell the smoothing direction. More...
 
const labelListnSmoothExpansion () const
 Per shell the directional smoothing iterations. More...
 
const labelListnSmoothPosition () const
 Per shell the positional smoothing iterations. More...
 

Detailed Description

Encapsulates queries for volume refinement ('refine all cells within shell').

Source files

Definition at line 57 of file shellSurfaces.H.

Member Enumeration Documentation

◆ refineMode

enum refineMode

Volume refinement controls.

Enumerator
INSIDE 
OUTSIDE 
DISTANCE 

Definition at line 64 of file shellSurfaces.H.

Constructor & Destructor Documentation

◆ shellSurfaces()

Member Function Documentation

◆ shells()

const labelList & shells ( ) const
inline

Indices of surfaces that are shells.

Definition at line 186 of file shellSurfaces.H.

◆ extendedGapLevel()

const List< List< FixedList< label, 3 > > > & extendedGapLevel ( ) const
inline

Per shell, per region the small-gap level specification.

Definition at line 192 of file shellSurfaces.H.

◆ extendedGapMode()

const List< List< volumeType > > & extendedGapMode ( ) const
inline

Per shell, per region the small-gap level specification.

Definition at line 198 of file shellSurfaces.H.

◆ gapSelf()

const boolListList & gapSelf ( ) const
inline

Per shell, per region whether to test for gap with same surface.

Definition at line 204 of file shellSurfaces.H.

◆ maxLevel()

Foam::label maxLevel ( ) const

Highest shell level.

Definition at line 826 of file shellSurfaces.C.

References forAll, and Foam::max().

Referenced by snappyVoxelMeshDriver::snappyVoxelMeshDriver().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ maxGapLevel()

Foam::labelList maxGapLevel ( ) const

Highest shell gap level.

Definition at line 837 of file shellSurfaces.C.

References forAll, Foam::max(), and Foam::Zero.

Here is the call graph for this function:

◆ directionalSelectLevel()

Foam::labelPairList directionalSelectLevel ( ) const

Min and max cell level for directional refinement.

Definition at line 853 of file shellSurfaces.C.

References UList< T >::first(), and forAll.

Here is the call graph for this function:

◆ findHigherLevel()

void findHigherLevel ( const pointField pt,
const labelList ptLevel,
labelList maxLevel 
) const

Find shell level higher than ptLevel.

Definition at line 882 of file shellSurfaces.C.

References forAll.

◆ findHigherGapLevel() [1/2]

void findHigherGapLevel ( const pointField pt,
const labelList ptLevel,
labelList gapShell,
List< FixedList< label, 3 > > &  gapInfo,
List< volumeType > &  gapMode 
) const

Find a shell whose minimum gap level is >= ptLevel.

Definition at line 899 of file shellSurfaces.C.

References forAll, volumeType::MIXED, List< T >::setSize(), and UList< T >::size().

Here is the call graph for this function:

◆ findHigherGapLevel() [2/2]

void findHigherGapLevel ( const pointField pt,
const labelList ptLevel,
List< FixedList< label, 3 > > &  gapInfo,
List< volumeType > &  gapMode 
) const

Find a shell whose minimum gap level is >= ptLevel. gapInfo.

is (0 0 0) if no shell found

Definition at line 924 of file shellSurfaces.C.

◆ findLevel()

void findLevel ( const pointField pt,
const labelList ptLevel,
labelList shell 
) const

Find first shell (or -1) with level equal or lower than ptLevel.

Definition at line 937 of file shellSurfaces.C.

References forAll, List< T >::setSize(), and UList< T >::size().

Here is the call graph for this function:

◆ findDirectionalLevel()

void findDirectionalLevel ( const pointField pt,
const labelList ptLevel,
const labelList dirLevel,
const direction  dir,
labelList shell 
) const

Find any shell (or -1) with higher wanted directional level.

Definition at line 956 of file shellSurfaces.C.

References DynamicList< T, SizeMin >::append(), DynamicList< T, SizeMin >::clear(), FixedList< T, N >::first(), forAll, volumeType::INSIDE, volumeType::OUTSIDE, Pair< T >::second(), List< T >::setSize(), and UList< T >::size().

Here is the call graph for this function:

◆ smoothDirection()

const Foam::vectorField & smoothDirection ( ) const

Per shell the smoothing direction.

Definition at line 870 of file shellSurfaces.C.

◆ nSmoothExpansion()

const Foam::labelList & nSmoothExpansion ( ) const

Per shell the directional smoothing iterations.

Definition at line 864 of file shellSurfaces.C.

◆ nSmoothPosition()

const Foam::labelList & nSmoothPosition ( ) const

Per shell the positional smoothing iterations.

Definition at line 876 of file shellSurfaces.C.


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