A subset of mesh faces organised as a primitive patch. More...
Public Member Functions | |
TypeName ("faceZone") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, faceZone, dictionary,(const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm),(name, dict, index, zm)) | |
faceZone (const word &name, const label index, const faceZoneMesh &zm) | |
Construct an empty zone. More... | |
faceZone (const word &name, const labelUList &addr, const bool flipMapValue, const label index, const faceZoneMesh &zm) | |
Construct from components with uniform flip map value. More... | |
faceZone (const word &name, labelList &&addr, const bool flipMapValue, const label index, const faceZoneMesh &zm) | |
faceZone (const word &name, const labelUList &addr, const boolUList &fm, const label index, const faceZoneMesh &zm) | |
Construct from components. More... | |
faceZone (const word &name, labelList &&addr, boolList &&fm, const label index, const faceZoneMesh &zm) | |
Construct from components, transferring addressing. More... | |
faceZone (const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm) | |
Construct from dictionary. More... | |
faceZone (const faceZone &origZone, const labelUList &addr, const boolUList &fm, const label index, const faceZoneMesh &zm) | |
faceZone (const faceZone &origZone, labelList &&addr, boolList &&fm, const label index, const faceZoneMesh &zm) | |
virtual autoPtr< faceZone > | clone (const faceZoneMesh &zm) const |
Construct and return a clone, resetting the zone mesh. More... | |
virtual autoPtr< faceZone > | clone (const labelUList &addr, const boolUList &fm, const label index, const faceZoneMesh &zm) const |
virtual | ~faceZone () |
Destructor. More... | |
const faceZoneMesh & | zoneMesh () const |
Return zoneMesh reference. More... | |
const boolList & | flipMap () const |
Return face flip map. More... | |
label | whichFace (const label globalCellID) const |
Helper function to re-direct to zone::localID(...) More... | |
const primitiveFacePatch & | operator() () const |
Return reference to primitive patch. More... | |
const labelList & | masterCells () const |
const labelList & | slaveCells () const |
Return labels of slave cells. More... | |
const labelList & | meshEdges () const |
Return global edge index for local edges. More... | |
virtual void | clearAddressing () |
Clear addressing. More... | |
virtual void | resetAddressing (const labelUList &addr, const bool flipMapValue) |
Reset addressing - use uniform flip map value. More... | |
virtual void | resetAddressing (const labelUList &addr, const boolUList &flipMap) |
Reset addressing and flip map. More... | |
virtual void | resetAddressing (labelList &&addr, const bool flipMapValue) |
Move reset addressing - use uniform flip map value. More... | |
virtual bool | checkDefinition (const bool report=false) const |
Check zone definition. Return true if in error. More... | |
virtual bool | checkParallelSync (const bool report=false) const |
Check whether all procs have faces synchronised. More... | |
virtual void | movePoints (const pointField &pts) |
Correct patch after moving points. More... | |
virtual void | updateMesh (const mapPolyMesh &mpm) |
Update for changes in topology. More... | |
virtual void | write (Ostream &os) const |
Write. More... | |
virtual void | writeDict (Ostream &os) const |
Write dictionary. More... | |
Public Member Functions inherited from zone | |
TypeName ("zone") | |
Runtime type information. More... | |
zone (const word &name, const label index) | |
Construct an empty zone. More... | |
zone (const word &name, const labelUList &addr, const label index) | |
Copy construct from components. More... | |
zone (const word &name, labelList &&addr, const label index) | |
Move construct from components. More... | |
zone (const word &name, const dictionary &dict, const word &labelsName, const label index) | |
Construct from dictionary. More... | |
zone (const zone &origZone, const labelUList &addr, const label index) | |
zone (const zone &origZone, labelList &&addr, const label index) | |
virtual | ~zone () |
Destructor. More... | |
const word & | name () const |
Return name. More... | |
label | localID (const label globalID) const |
Map storing the local index for every global index. Used to find. More... | |
label | index () const |
Return the index of this zone in zone list. More... | |
const Map< label > & | lookupMap () const |
Return a reference to the look-up map. More... | |
virtual bool | checkDefinition (const label maxSize, const bool report=false) const |
Check zone definition with max size given. Return true if in error. More... | |
Public Member Functions inherited from List< T > | |
constexpr | List () noexcept |
Null constructor. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const T &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const one, const T &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const one, T &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const one, const zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< T > &a) | |
Copy construct from list. More... | |
List (const UList< T > &a) | |
Copy construct contents from list. More... | |
List (List< T > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< T > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
template<unsigned N> | |
List (const UList< T > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
template<class InputIterator > | |
List (InputIterator begIter, InputIterator endIter) | |
Construct given begin/end iterators. More... | |
template<unsigned N> | |
List (const FixedList< T, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< T > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< T > &list) | |
Construct as copy of SLList<T> More... | |
template<class Addr > | |
List (const IndirectListBase< T, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< T > list) | |
Construct from an initializer list. More... | |
List (List< T > &&list) | |
Move construct from List. More... | |
template<int SizeMin> | |
List (DynamicList< T, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< T > &&list) | |
Move construct from SortableList. More... | |
List (SLList< T > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< T > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | resize (const label newSize) |
Adjust allocated size of list. More... | |
void | resize (const label newSize, const T &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | setSize (const label newSize) |
Alias for resize(const label) More... | |
void | setSize (const label newSize, const T &val) |
Alias for resize(const label, const T&) More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | append (const T &val) |
Append an element at the end of the list. More... | |
void | append (T &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< T > &list) |
Append a List to the end of this list. More... | |
template<class Addr > | |
void | append (const IndirectListBase< T, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
void | transfer (List< T > &list) |
template<int SizeMin> | |
void | transfer (DynamicList< T, SizeMin > &list) |
void | transfer (SortableList< T > &list) |
T & | newElmt (const label i) |
void | operator= (const UList< T > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< T > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< T > &list) |
Assignment to SLList operator. Takes linear time. More... | |
template<class Addr > | |
void | operator= (const IndirectListBase< T, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
template<unsigned N> | |
void | operator= (const FixedList< T, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< T > list) |
Assignment to an initializer list. More... | |
void | operator= (const T &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< T > &&list) |
Move assignment. Takes constant time. More... | |
template<int SizeMin> | |
void | operator= (DynamicList< T, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< T > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< T > &&list) |
Move assignment. Takes constant time. More... | |
void | shallowCopy (const UList< T > &)=delete |
No shallowCopy permitted. More... | |
template<class TypeT = T> | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
template<> | |
void | resize (const label newSize) |
Static Public Member Functions | |
static autoPtr< faceZone > | New (const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm) |
Static Public Member Functions inherited from List< T > | |
static const List< T > & | null () |
Return a null List. More... | |
Static Public Attributes | |
static const char *const | labelsName = "faceLabels" |
The name associated with the zone-labels dictionary entry. More... | |
Protected Member Functions | |
void | calcFaceZonePatch () const |
Build primitive patch. More... | |
void | calcCellLayers () const |
Calculate master and slave face layer. More... | |
void | checkAddressing () const |
Check addressing. More... | |
Protected Member Functions inherited from zone | |
void | calcLookupMap () const |
Construct the look-up map. More... | |
Protected Attributes | |
boolList | flipMap_ |
Flip map for all faces in the zone. More... | |
const faceZoneMesh & | zoneMesh_ |
Reference to zone list. More... | |
primitiveFacePatch * | patchPtr_ |
Primitive patch made out of correctly flipped faces. More... | |
labelList * | masterCellsPtr_ |
Master cell layer. More... | |
labelList * | slaveCellsPtr_ |
Slave cell layer. More... | |
labelList * | mePtr_ |
Global edge addressing. More... | |
Protected Attributes inherited from zone | |
word | name_ |
Name of zone. More... | |
label | index_ |
Index of zone. More... | |
Map< label > * | lookupMapPtr_ |
Map of labels in zone for fast location lookup. More... | |
Friends | |
Ostream & | operator<< (Ostream &os, const faceZone &zn) |
Ostream Operator. More... | |
Additional Inherited Members | |
Public Types inherited from List< T > | |
typedef SubList< T > | subList |
Declare type of subList. More... | |
A subset of mesh faces organised as a primitive patch.
For quick check whether a face belongs to the zone use the lookup mechanism in faceZoneMesh, where all the zoned faces are registered with their zone number.
Definition at line 65 of file faceZone.H.
faceZone | ( | const word & | name, |
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct an empty zone.
Definition at line 199 of file faceZone.C.
faceZone | ( | const word & | name, |
const labelUList & | addr, | ||
const bool | flipMapValue, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct from components with uniform flip map value.
Definition at line 216 of file faceZone.C.
References List< T >::setSize().
faceZone | ( | const word & | name, |
labelList && | addr, | ||
const bool | flipMapValue, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct from components with uniform flip map value, transferring addressing.
Definition at line 238 of file faceZone.C.
References List< T >::setSize().
faceZone | ( | const word & | name, |
const labelUList & | addr, | ||
const boolUList & | fm, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct from components.
Definition at line 260 of file faceZone.C.
faceZone | ( | const word & | name, |
labelList && | addr, | ||
boolList && | fm, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct from components, transferring addressing.
Definition at line 281 of file faceZone.C.
faceZone | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct from dictionary.
Definition at line 302 of file faceZone.C.
faceZone | ( | const faceZone & | origZone, |
const labelUList & | addr, | ||
const boolUList & | fm, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct with a new index and zone mesh information, the name of the original zone, resetting the face addressing and flip-map.
Definition at line 322 of file faceZone.C.
faceZone | ( | const faceZone & | origZone, |
labelList && | addr, | ||
boolList && | fm, | ||
const label | index, | ||
const faceZoneMesh & | zm | ||
) |
Construct with a new index and zone mesh information, the name of the original zone, (move) resetting the face addressing and flip-map.
Definition at line 343 of file faceZone.C.
|
virtual |
Destructor.
Definition at line 365 of file faceZone.C.
|
protected |
Build primitive patch.
Definition at line 70 of file faceZone.C.
References Foam::abort(), DebugInfo, DebugInFunction, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, forAll, mesh, Foam::foamVersion::patch, and points.
|
protected |
Calculate master and slave face layer.
Definition at line 111 of file faceZone.C.
References Foam::abort(), DebugInFunction, Foam::endl(), Foam::FatalError, FatalErrorInFunction, and forAll.
|
protected |
Check addressing.
Definition at line 167 of file faceZone.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, and WarningInFunction.
TypeName | ( | "faceZone" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
faceZone | , | ||
dictionary | , | ||
(const word &name, const dictionary &dict, const label index, const faceZoneMesh &zm) | , | ||
(name, dict, index, zm) | |||
) |
|
inlinevirtual |
Construct and return a clone, resetting the zone mesh.
Definition at line 229 of file faceZone.H.
References faceZone::flipMap(), zone::index(), and autoPtr< T >::New().
|
inlinevirtual |
Construct and return a clone, resetting the face list and zone mesh
Definition at line 237 of file faceZone.H.
References zone::index(), and autoPtr< T >::New().
|
static |
Return a pointer to a new face zone created on freestore from dictionary
Definition at line 35 of file faceZoneNew.C.
References DebugInFunction, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::name().
const Foam::faceZoneMesh & zoneMesh | ( | ) | const |
Return zoneMesh reference.
Definition at line 373 of file faceZone.C.
|
inline |
Return face flip map.
Definition at line 271 of file faceZone.H.
References faceZone::flipMap_.
Referenced by repatchPolyTopoChanger::changeAnchorPoint(), repatchPolyTopoChanger::changePatchID(), faceZone::clone(), ensightMesh::correct(), directionalPressureGradientExplicitSource::correct(), meshRefinement::createZoneBaffles(), meshRefinement::doSplitFaces(), faceZoneSet::faceZoneSet(), fluxSummary::initialiseFaceZone(), meshRefinement::mergeBaffles(), polyMeshAdder::mergePoints(), duplicatePoints::setRefinement(), removeCells::setRefinement(), perfectInterface::setRefinement(), combineFaces::setRefinement(), tetDecomposer::setRefinement(), edgeCollapser::setRefinement(), addPatchCellLayer::setRefinement(), combineFaces::setUnrefinement(), and meshRefinement::splitFacesUndo().
Foam::label whichFace | ( | const label | globalCellID | ) | const |
Helper function to re-direct to zone::localID(...)
Definition at line 379 of file faceZone.C.
References zone::localID().
Referenced by repatchPolyTopoChanger::changeAnchorPoint(), repatchPolyTopoChanger::changePatchID(), meshRefinement::doSplitFaces(), edgeCollapser::markFaceZoneEdges(), meshRefinement::mergeBaffles(), polyMeshAdder::mergePoints(), duplicatePoints::setRefinement(), removeCells::setRefinement(), perfectInterface::setRefinement(), combineFaces::setRefinement(), tetDecomposer::setRefinement(), edgeCollapser::setRefinement(), addPatchCellLayer::setRefinement(), combineFaces::setUnrefinement(), and meshRefinement::splitFacesUndo().
const Foam::primitiveFacePatch & operator() | ( | ) | const |
Return reference to primitive patch.
Definition at line 385 of file faceZone.C.
const Foam::labelList & masterCells | ( | ) | const |
Return labels of master cells (cells next to the master face zone in the prescribed direction)
Definition at line 396 of file faceZone.C.
Referenced by layerAdditionRemoval::changeTopology(), directionalPressureGradientExplicitSource::correct(), and snappyLayerDriver::doLayers().
const Foam::labelList & slaveCells | ( | ) | const |
Return labels of slave cells.
Definition at line 407 of file faceZone.C.
Referenced by directionalPressureGradientExplicitSource::correct(), and snappyLayerDriver::doLayers().
const Foam::labelList & meshEdges | ( | ) | const |
Return global edge index for local edges.
Definition at line 418 of file faceZone.C.
References mesh.
|
virtual |
Clear addressing.
Reimplemented from zone.
Definition at line 437 of file faceZone.C.
References zone::clearAddressing(), and Foam::deleteDemandDrivenData().
|
virtual |
Reset addressing - use uniform flip map value.
Clears demand-driven data.
Definition at line 451 of file faceZone.C.
References List< label >::operator=().
|
virtual |
Reset addressing and flip map.
Clears demand-driven data.
Definition at line 463 of file faceZone.C.
References List< label >::operator=().
Move reset addressing - use uniform flip map value.
Clears demand-driven data.
Definition at line 475 of file faceZone.C.
References List< label >::transfer().
Check zone definition. Return true if in error.
Implements zone.
Definition at line 516 of file faceZone.C.
References zone::checkDefinition(), and mesh.
Check whether all procs have faces synchronised.
Definition at line 522 of file faceZone.C.
References polyMesh::boundaryMesh(), Foam::endl(), forAll, primitiveMesh::isInternalFace(), mesh, IOobject::name(), Foam::name(), primitiveMesh::nBoundaryFaces(), primitiveMesh::nInternalFaces(), Foam::Pout, Foam::returnReduce(), syncTools::swapBoundaryFaceList(), and polyBoundaryMesh::whichPatch().
|
virtual |
Correct patch after moving points.
Reimplemented from zone.
Definition at line 611 of file faceZone.C.
|
virtual |
Update for changes in topology.
Definition at line 486 of file faceZone.C.
References Foam::faceMap(), forAll, mapPolyMesh::reverseFaceMap(), and List< T >::setSize().
|
virtual |
Write.
Reimplemented from zone.
Definition at line 619 of file faceZone.C.
References Foam::name(), and Foam::nl.
Referenced by Foam::operator<<().
|
virtual |
Write dictionary.
Implements zone.
Definition at line 627 of file faceZone.C.
References token::BEGIN_BLOCK, token::END_BLOCK, token::END_STATEMENT, Foam::endl(), Foam::name(), Foam::nl, Foam::type(), and UList< T >::writeEntry().
|
protected |
Flip map for all faces in the zone.
Use true if the face needs flipping for the correct orientation.
Definition at line 87 of file faceZone.H.
Referenced by faceZone::flipMap().
|
protected |
Reference to zone list.
Definition at line 90 of file faceZone.H.
|
mutableprotected |
Primitive patch made out of correctly flipped faces.
Definition at line 96 of file faceZone.H.
|
mutableprotected |
Master cell layer.
Definition at line 99 of file faceZone.H.
|
mutableprotected |
Slave cell layer.
Definition at line 102 of file faceZone.H.
|
mutableprotected |
Global edge addressing.
Definition at line 105 of file faceZone.H.
|
static |
The name associated with the zone-labels dictionary entry.
Definition at line 125 of file faceZone.H.