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 labelList & | shells () 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 boolListList & | gapSelf () 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 vectorField & | smoothDirection () const |
Per shell the smoothing direction. More... | |
const labelList & | nSmoothExpansion () const |
Per shell the directional smoothing iterations. More... | |
const labelList & | nSmoothPosition () const |
Per shell the positional smoothing iterations. More... | |
Encapsulates queries for volume refinement ('refine all cells within shell').
Definition at line 57 of file shellSurfaces.H.
enum refineMode |
Volume refinement controls.
Enumerator | |
---|---|
INSIDE | |
OUTSIDE | |
DISTANCE |
Definition at line 64 of file shellSurfaces.H.
shellSurfaces | ( | const searchableSurfaces & | allGeometry, |
const dictionary & | shellsDict, | ||
const bool | dryRun = false |
||
) |
Construct from geometry and dictionary.
Definition at line 592 of file shellSurfaces.C.
References dict, entry::dict(), Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, dictionary::findEntry(), forAll, dictionary::found(), Enum< EnumType >::get(), dictionary::getOrDefault(), Foam::Info, shellSurfaces::INSIDE, IOWarningInFunction, entry::keyword(), Foam::labelMax, Foam::labelMin, dictionary::lookup(), volumeType::MIXED, searchableSurfaces::names(), shellSurfaces::OUTSIDE, Istream::readBegin(), Istream::readEnd(), dictionary::readEntry(), keyType::REGEX, regionNames, List< T >::setSize(), FixedList< T, N >::size(), UList< T >::size(), entry::stream(), dictionary::subDict(), dictionary::toc(), and WarningInFunction.
|
inline |
Indices of surfaces that are shells.
Definition at line 186 of file shellSurfaces.H.
Per shell, per region the small-gap level specification.
Definition at line 192 of file shellSurfaces.H.
|
inline |
Per shell, per region the small-gap level specification.
Definition at line 198 of file shellSurfaces.H.
|
inline |
Per shell, per region whether to test for gap with same surface.
Definition at line 204 of file shellSurfaces.H.
Foam::label maxLevel | ( | ) | const |
Highest shell level.
Definition at line 826 of file shellSurfaces.C.
References forAll, and Foam::max().
Referenced by snappyVoxelMeshDriver::snappyVoxelMeshDriver().
Foam::labelList maxGapLevel | ( | ) | const |
Highest shell gap level.
Definition at line 837 of file shellSurfaces.C.
References forAll, Foam::max(), and Foam::Zero.
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.
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.
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().
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.
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().
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().
const Foam::vectorField & smoothDirection | ( | ) | const |
Per shell the smoothing direction.
Definition at line 870 of file shellSurfaces.C.
const Foam::labelList & nSmoothExpansion | ( | ) | const |
Per shell the directional smoothing iterations.
Definition at line 864 of file shellSurfaces.C.
const Foam::labelList & nSmoothPosition | ( | ) | const |
Per shell the positional smoothing iterations.
Definition at line 876 of file shellSurfaces.C.