A topoSetFaceSource to select a set of faces that closes a hole i.e. disconnects zones (specified by locations) from one another. More...
Public Member Functions | |
TypeName ("holeToFace") | |
Runtime type information. More... | |
holeToFace (const polyMesh &mesh, const List< pointField > &zonePoints, const wordList &blockedFaceNames, const wordList &blockedCellNames, const bool erode) | |
Construct from components. More... | |
holeToFace (const polyMesh &mesh, const dictionary &dict) | |
Construct from dictionary. More... | |
holeToFace (const polyMesh &mesh, Istream &is) | |
Construct from Istream. More... | |
virtual | ~holeToFace ()=default |
Destructor. More... | |
virtual void | applyToSet (const topoSetSource::setAction action, topoSet &) const |
Apply specified action to the topoSet. More... | |
void | combine (topoSet &set, const bitSet &isBlockedFace, const bitSet &isActiveCell, const bool add) const |
Optional direct use to generate a faceSet. More... | |
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. More... | |
topoSetFaceSource (const polyMesh &mesh, const dictionary &dict) | |
Construct from mesh, use "verbose" entry if present. More... | |
autoPtr< topoSetFaceSource > | clone () const |
Clone (disallowed) More... | |
virtual | ~topoSetFaceSource ()=default |
Destructor. More... | |
virtual topoSetSource::sourceType | setType () const |
The source category is a faceSet. More... | |
Public Member Functions inherited from topoSetSource | |
TypeName ("topoSetSource") | |
Runtime type information. More... | |
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. More... | |
topoSetSource (const polyMesh &mesh, const dictionary &dict) | |
Construct from mesh, use "verbose" entry if present. More... | |
autoPtr< topoSetSource > | clone () const |
Clone (disallowed) More... | |
virtual | ~topoSetSource ()=default |
Destructor. More... | |
const polyMesh & | mesh () const noexcept |
Reference to the mesh. More... | |
bool | verbose () const noexcept |
Get output verbosity. More... | |
bool | verbose (bool on) noexcept |
Enable/disable verbose output. More... | |
void | verbose (const dictionary &dict) |
Use "verbose" entry (if present) to enable/disable verbose output. More... | |
Static Public Member Functions | |
static autoPtr< mapDistribute > | calcClosure (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. More... | |
Static Public Member Functions inherited from topoSetFaceSource | |
static autoPtr< topoSetFaceSource > | New (const word &sourceType, const polyMesh &mesh, const dictionary &dict) |
Return a reference to the selected source type. More... | |
static autoPtr< topoSetFaceSource > | New (const word &sourceType, const polyMesh &mesh, Istream &is) |
Return a reference to the selected source type. More... | |
Static Public Member Functions inherited from topoSetSource | |
static Istream & | checkIs (Istream &is) |
Check state of stream. More... | |
static bool | isSetSource (const sourceType t) noexcept |
True if a "set" source. More... | |
static bool | isZoneSource (const sourceType t) noexcept |
True if a "zone" source. More... | |
static bool | isCell (const sourceType t) noexcept |
True if "cell" geometric type. More... | |
static bool | isFace (const sourceType t) noexcept |
True if "face" geometric type. More... | |
static bool | isPoint (const sourceType t) noexcept |
True if "point" geometric type. More... | |
static const string & | usage (const word &name) |
static autoPtr< topoSetSource > | New (const word &topoSetSourceType, const polyMesh &mesh, const dictionary &dict) |
Return a reference to the selected topoSetSource. More... | |
static autoPtr< topoSetSource > | New (const word &topoSetSourceType, const polyMesh &mesh, Istream &is) |
Return a reference to the selected topoSetSource. More... | |
static setAction | toAction (const word &actionName) |
Deprecated(2018-07) convert string to action. More... | |
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< setAction > | actionNames |
The setActions enum text. Names: "new", add", "subtract", "subset", "invert",
"clear", "remove", "list", "ignore". More... | |
static const Enum< setAction > | combineNames |
The setAction enum text when combining selections. Names: "use", "add", "subtract", "subset", "invert", "ignore". More... | |
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. More... | |
void | addOrDelete (topoSet &set, const labelUList &labels, const bool add) const |
Add or delete labels from set. Add when 'add' is true. More... | |
void | addOrDelete (topoSet &set, const bitSet &labels, const bool add) const |
Add or delete labels from set. Add when 'add' is true. More... | |
topoSetSource (const topoSetSource &)=delete | |
No copy construct. More... | |
void | operator= (const topoSetSource &)=delete |
No copy assignment. More... | |
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. More... | |
Protected Attributes inherited from topoSetSource | |
const polyMesh & | mesh_ |
Reference to the mesh. More... | |
bool | verbose_ |
Output verbosity (default: true) More... | |
Static Protected Attributes inherited from topoSetSource | |
static const string | illegalSource_ |
static HashTable< string > * | usageTablePtr_ = nullptr |
A table of usage strings. More... | |
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 | Optional blocked faces | no | <empty> |
cellSet | Optional subset of cells to operate in | no | <empty> |
erode | Perform some cleanup on set | no | no |
Limited to max 31 zones.
Definition at line 88 of file holeToFace.H.
holeToFace | ( | const polyMesh & | mesh, |
const List< pointField > & | zonePoints, | ||
const wordList & | blockedFaceNames, | ||
const wordList & | blockedCellNames, | ||
const bool | erode | ||
) |
Construct from components.
Definition at line 1072 of file holeToFace.C.
holeToFace | ( | const polyMesh & | mesh, |
const dictionary & | dict | ||
) |
Construct from dictionary.
Definition at line 1089 of file holeToFace.C.
References dict, dictionary::readEntry(), and dictionary::readIfPresent().
holeToFace | ( | const polyMesh & | mesh, |
Istream & | is | ||
) |
Construct from Istream.
Definition at line 1121 of file holeToFace.C.
|
virtualdefault |
Destructor.
TypeName | ( | "holeToFace" | ) |
Runtime type information.
|
virtual |
Apply specified action to the topoSet.
Implements topoSetSource.
Definition at line 1137 of file holeToFace.C.
References topoSetSource::ADD, Foam::ListListOps::combine(), Foam::endl(), Foam::flatOutput(), Foam::Info, topoSetSource::NEW, topoSetSource::SUBTRACT, and HashTable< T, Key, Hash >::toc().
void combine | ( | topoSet & | set, |
const bitSet & | isBlockedFace, | ||
const bitSet & | isActiveCell, | ||
const bool | add | ||
) | const |
Optional direct use to generate a faceSet.
Definition at line 982 of file holeToFace.C.
References Foam::add(), Foam::ensightOutput::debug, Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, List< T >::setSize(), and UList< T >::size().
Referenced by holeToFace::calcClosure().
|
static |
Optional direct use to generate the set of faces and the method to.
get data from nearby blocked faces. Gets provided with the
Seed edges of closureFaces patch with (global) index of blockedFace
Definition at line 1189 of file holeToFace.C.
References DynamicList< T, SizeMin >::append(), List< T >::clear(), holeToFace::combine(), UList< T >::data(), Foam::constant::electromagnetic::e, UList< T >::empty(), Foam::exit(), f(), polyMesh::faces(), Foam::FatalError, FatalErrorInFunction, UList< T >::fcIndex(), forAll, globalIndex::localSize(), mesh, Foam::constant::atomic::mp, primitiveMesh::nCells(), autoPtr< T >::New(), primitiveMesh::nFaces(), polyMesh::points(), Foam::returnReduce(), Foam::returnReduceAnd(), List< T >::setSize(), UList< T >::size(), HashTable< T, Key, Hash >::sortedToc(), syncTools::syncEdgeMap(), syncTools::syncFaceList(), and globalIndex::toGlobal().
Referenced by meshRefinement::blockLeakFaces().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.