Loading...
Searching...
No Matches
holeToFace Class Reference

A topoSetFaceSource to select a set of faces that closes a hole i.e. disconnects zones (specified by locations) from one another. More...

#include <holeToFace.H>

Inheritance diagram for holeToFace:
Collaboration diagram for holeToFace:

Public Member Functions

 TypeName ("holeToFace")
 Runtime type information.
 holeToFace (const polyMesh &mesh, const List< pointField > &zonePoints, const wordList &blockedFaceNames, const wordList &blockedCellNames, const bool erode)
 Construct from components.
 holeToFace (const polyMesh &mesh, const dictionary &dict)
 Construct from dictionary.
 holeToFace (const polyMesh &mesh, Istream &is)
 Construct from Istream.
virtual ~holeToFace ()=default
 Destructor.
virtual void applyToSet (const topoSetSource::setAction action, topoSet &) const
 Apply specified action to the topoSet.
void combine (topoSet &set, const bitSet &isBlockedFace, const bitSet &isActiveCell, const bool add) const
 Optional direct use to generate a faceSet.
Public Member Functions inherited from topoSetFaceSource
 declareRunTimeSelectionTable (autoPtr, topoSetFaceSource, word,(const polyMesh &mesh, const dictionary &dict),(mesh, dict))
 declareRunTimeSelectionTable (autoPtr, topoSetFaceSource, istream,(const polyMesh &mesh, Istream &is),(mesh, is))
 topoSetFaceSource (const polyMesh &mesh)
 Construct from mesh.
 topoSetFaceSource (const polyMesh &mesh, const dictionary &dict)
 Construct from mesh, use "verbose" entry if present.
autoPtr< topoSetFaceSourceclone () const
 Clone (disallowed).
virtual ~topoSetFaceSource ()=default
 Destructor.
virtual topoSetSource::sourceType setType () const
 The source category is a faceSet.
Public Member Functions inherited from topoSetSource
 TypeName ("topoSetSource")
 Runtime type information.
 declareRunTimeSelectionTable (autoPtr, topoSetSource, word,(const polyMesh &mesh, const dictionary &dict),(mesh, dict))
 declareRunTimeSelectionTable (autoPtr, topoSetSource, istream,(const polyMesh &mesh, Istream &is),(mesh, is))
 topoSetSource (const polyMesh &mesh, bool verbose=true)
 Construct from mesh, with preferred verbosity.
 topoSetSource (const polyMesh &mesh, const dictionary &dict)
 Construct from mesh, use "verbose" entry if present.
autoPtr< topoSetSourceclone () const
 Clone (disallowed).
virtual ~topoSetSource ()=default
 Destructor.
const polyMeshmesh () const noexcept
 Reference to the mesh.
bool verbose () const noexcept
 Get output verbosity.
bool verbose (bool on) noexcept
 Enable/disable verbose output.
void verbose (const dictionary &dict)
 Use "verbose" entry (if present) to enable/disable verbose output.
bool hasTransform () const noexcept
 True if coordinate transform is active.
tmp< pointFieldtransform (const pointField &points) const
 Coordinate transform (optionally) coordinates. Returns reference to input data if no transform is active.

Static Public Member Functions

static autoPtr< mapDistributecalcClosure (const polyMesh &mesh, const List< pointField > &zonePoints, const labelList &blockedFaces, const globalIndex &globalBlockedFaces, const bool erode, labelList &closureFaces, labelList &closureToBlocked)
 Optional direct use to generate the set of faces and the method to.
Static Public Member Functions inherited from topoSetFaceSource
static autoPtr< topoSetFaceSourceNew (const word &sourceType, const polyMesh &mesh, const dictionary &dict)
 Return a reference to the selected source type.
static autoPtr< topoSetFaceSourceNew (const word &sourceType, const polyMesh &mesh, Istream &is)
 Return a reference to the selected source type.
Static Public Member Functions inherited from topoSetSource
static IstreamcheckIs (Istream &is)
 Check state of stream.
static bool isSetSource (const sourceType t) noexcept
 True if a "set" source.
static bool isZoneSource (const sourceType t) noexcept
 True if a "zone" source.
static bool isCell (const sourceType t) noexcept
 True if "cell" geometric type.
static bool isFace (const sourceType t) noexcept
 True if "face" geometric type.
static bool isPoint (const sourceType t) noexcept
 True if "point" geometric type.
static const stringusage (const word &name)
static autoPtr< topoSetSourceNew (const word &topoSetSourceType, const polyMesh &mesh, const dictionary &dict)
 Return a reference to the selected topoSetSource.
static autoPtr< topoSetSourceNew (const word &topoSetSourceType, const polyMesh &mesh, Istream &is)
 Return a reference to the selected topoSetSource.
static setAction toAction (const word &actionName)
 Deprecated(2018-07) convert string to action.
static bool readNames (const dictionary &dict, wordList &names)
 Helper: extract wordList of patches/zones from dictionary. Returns.

Additional Inherited Members

Public Types inherited from topoSetSource
enum  sourceType {
  UNKNOWN_SOURCE = 0 , CELL_TYPE = 0x1 , FACE_TYPE = 0x2 , POINT_TYPE = 0x4 ,
  SET_SOURCE = 0x10 , CELLSET_SOURCE = (CELL_TYPE | SET_SOURCE) , FACESET_SOURCE = (FACE_TYPE | SET_SOURCE) , POINTSET_SOURCE = (POINT_TYPE | SET_SOURCE) ,
  ZONE_SOURCE = 0x20 , CELLZONE_SOURCE = (CELL_TYPE | ZONE_SOURCE) , FACEZONE_SOURCE = (FACE_TYPE | ZONE_SOURCE) , POINTZONE_SOURCE = (POINT_TYPE | ZONE_SOURCE) ,
  CELLSETSOURCE = CELLSET_SOURCE , FACESETSOURCE = FACESET_SOURCE , POINTSETSOURCE = POINTSET_SOURCE , CELLZONESOURCE = CELLZONE_SOURCE ,
  FACEZONESOURCE = FACEZONE_SOURCE , POINTZONESOURCE = POINTZONE_SOURCE
}
 Enumeration defining the types of sources. More...
enum  setAction {
  ADD , SUBTRACT , NEW , SUBSET ,
  INVERT , CLEAR , REMOVE , LIST ,
  IGNORE , DELETE = SUBTRACT
}
 Enumeration defining various actions. More...
Static Public Attributes inherited from topoSetSource
static const Enum< setActionactionNames
 The setActions enum text. Names: "new", add", "subtract", "subset", "invert", "clear", "remove", "list", "ignore".
static const Enum< setActioncombineNames
 The setAction enum text when combining selections. Names: "use", "add", "subtract", "subset", "invert", "ignore".
Protected Member Functions inherited from topoSetSource
void addOrDelete (topoSet &set, const label id, const bool add) const
 Add or delete id from set. Add when 'add' is true.
void addOrDelete (topoSet &set, const labelUList &labels, const bool add) const
 Add or delete labels from set. Add when 'add' is true.
void addOrDelete (topoSet &set, const bitSet &labels, const bool add) const
 Add or delete labels from set. Add when 'add' is true.
 topoSetSource (const topoSetSource &)=delete
 No copy construct.
void operator= (const topoSetSource &)=delete
 No copy assignment.
Static Protected Member Functions inherited from topoSetSource
static bool check (labelList &list, const label maxLabel)
 Detect and remove any values less than 0 or ge maxLabel.
Protected Attributes inherited from topoSetSource
const polyMeshmesh_
 Reference to the mesh.
bool verbose_
 Output verbosity (default: true).
autoPtr< solidBodyMotionFunctiontransformPtr_
 Optional transformation for geometric data.
Static Protected Attributes inherited from topoSetSource
static const string illegalSource_
static HashTable< string > * usageTablePtr_ = nullptr
 A table of usage strings.

Detailed Description

A topoSetFaceSource to select a set of faces that closes a hole i.e. disconnects zones (specified by locations) from one another.

Algorithm roughly according to "A 3D-Hole Closing Algorithm", Zouina Aktouf et al


Dictionary parameters

Property Description Required Default
points Per zone the list of points yes
faceSet(s) Set(s) of blocked faces yes
cellSet(s) Set(s) of cells to operate in yes <empty>
erode Perform some cleanup on set no no

Limited to max 31 zones.

Source files

Definition at line 88 of file holeToFace.H.

Constructor & Destructor Documentation

◆ holeToFace() [1/3]

holeToFace ( const polyMesh & mesh,
const List< pointField > & zonePoints,
const wordList & blockedFaceNames,
const wordList & blockedCellNames,
const bool erode )

Construct from components.

Definition at line 1071 of file holeToFace.C.

References topoSetSource::mesh(), and topoSetFaceSource::topoSetFaceSource().

Referenced by calcClosure().

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

◆ holeToFace() [2/3]

holeToFace ( const polyMesh & mesh,
const dictionary & dict )

Construct from dictionary.

Definition at line 1088 of file holeToFace.C.

References dict, topoSetSource::mesh(), and topoSetFaceSource::topoSetFaceSource().

Here is the call graph for this function:

◆ holeToFace() [3/3]

holeToFace ( const polyMesh & mesh,
Istream & is )

Construct from Istream.

Definition at line 1121 of file holeToFace.C.

References topoSetSource::checkIs(), topoSetSource::mesh(), and topoSetFaceSource::topoSetFaceSource().

Here is the call graph for this function:

◆ ~holeToFace()

virtual ~holeToFace ( )
virtualdefault

Destructor.

References Foam::add(), isBlockedFace(), and topoSetSource::mesh().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "holeToFace" )

Runtime type information.

References dict, and topoSetSource::mesh().

Here is the call graph for this function:

◆ applyToSet()

◆ combine()

void combine ( topoSet & set,
const bitSet & isBlockedFace,
const bitSet & isActiveCell,
const bool add ) const

Optional direct use to generate a faceSet.

Definition at line 981 of file holeToFace.C.

References Foam::add(), topoSetSource::addOrDelete(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, topoSetSource::mesh_, List< T >::setSize(), and UList< T >::size().

Referenced by applyToSet(), and calcClosure().

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

◆ calcClosure()

Foam::autoPtr< Foam::mapDistribute > calcClosure ( const polyMesh & mesh,
const List< pointField > & zonePoints,
const labelList & blockedFaces,
const globalIndex & globalBlockedFaces,
const bool erode,
labelList & closureFaces,
labelList & closureToBlocked )
static

Optional direct use to generate the set of faces and the method to.

get data from nearby blocked faces. Gets provided with the

  • set of points per 'zone'
  • set of blocked faces
  • global numbering for these blocked faces Returns
  • the set of faces to disconnect zones from one another (closureFaces)
  • a nullptr or the maps from closureFaces to nearest blocked face (mapDistribute and closureToBlocked). Note: closureToBlocked (index into the map) can contain -1 if no nearby valid blocked face could be found (from an edge-face-edge walk)

Seed edges of closureFaces patch with (global) index of blockedFace

Definition at line 1189 of file holeToFace.C.

References allFaceInfo(), DynamicList< T, SizeMin >::append(), HashTable< T, Key, Hash >::cfind(), List< T >::clear(), combine(), e, UList< T >::empty(), Foam::exit(), f(), Foam::FatalError, FatalErrorInFunction, forAll, holeToFace(), HashTable< T, Key, Hash >::insert(), isBlockedFace(), globalIndex::localSize(), topoSetSource::mesh(), autoPtr< T >::New(), pp(), List< T >::resize_nocopy(), Foam::returnReduce(), Foam::returnReduceAnd(), UList< T >::size(), HashTable< T, Key, Hash >::sortedToc(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), and globalIndex::toGlobal().

Referenced by meshRefinement::blockLeakFaces().

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

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