Finite area patch class. Used for 2-D non-Euclidian finite area method. More...
Public Types | |
typedef faBoundaryMesh | BoundaryMesh |
The boundary type associated with the patch. More... | |
Public Types inherited from List< label > | |
typedef SubList< label > | subList |
Declare type of subList. More... | |
Public Types inherited from UList< label > | |
typedef label | value_type |
The value type the list contains. More... | |
typedef label * | pointer |
The pointer type for non-const access to value_type items. More... | |
typedef const label * | const_pointer |
The pointer type for const access to value_type items. More... | |
typedef label & | reference |
The type used for storing into value_type objects. More... | |
typedef const label & | const_reference |
The type used for reading from constant value_type objects. More... | |
typedef label * | iterator |
Random access iterator for traversing a UList. More... | |
typedef const label * | const_iterator |
Random access iterator for traversing a UList. More... | |
typedef label | size_type |
The type to represent the size of a UList. More... | |
typedef label | difference_type |
The difference between iterator objects. More... | |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Reverse iterator (non-const access) More... | |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
Reverse iterator (const access) More... | |
Public Member Functions | |
TypeName ("patch") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, faPatch, dictionary,(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm, const word &patchType),(name, dict, index, bm, patchType)) | |
faPatch (const word &name, const labelUList &edgeLabels, const label index, const faBoundaryMesh &bm, const label nbrPolyPatchi, const word &patchType) | |
Construct from components. More... | |
faPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm, const word &patchType) | |
Construct from dictionary. More... | |
faPatch (const faPatch &p, const faBoundaryMesh &bm) | |
Copy construct, resetting the boundary mesh. More... | |
faPatch (const faPatch &p, const faBoundaryMesh &bm, const label index, const labelUList &edgeLabels, const label nbrPolyPatchi) | |
Copy construct, resetting boundary mesh and addressing. More... | |
virtual autoPtr< faPatch > | clone (const faBoundaryMesh &bm) const |
Construct and return a clone, resetting the boundary mesh. More... | |
virtual autoPtr< faPatch > | clone (const faBoundaryMesh &bm, const labelUList &edgeLabels, const label index, const label nbrPolyPatchi) const |
Construct and return a clone, resetting the edge list and boundary mesh. More... | |
virtual | ~faPatch () |
Destructor. More... | |
const labelList & | edgeLabels () const noexcept |
Return the list of edges. More... | |
label | nPoints () const |
Number of patch points. More... | |
label | nEdges () const noexcept |
Number of edge labels (boundary edges) addressed by this patch. More... | |
label | ngbPolyPatchIndex () const noexcept |
The neighbour polyPatch index. More... | |
const faBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
virtual bool | coupled () const |
Return true if this patch is coupled. More... | |
label | offset () const |
The offset where this patch starts in the boundary edge list. More... | |
label | start () const |
Patch start in edge list. More... | |
virtual label | size () const |
Patch size is the number of edge labels, but can be overloaded. More... | |
label | whichEdge (const label edgei) const |
Return label of edge in patch from global edge label. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const List< T > &values) const |
This patch slice from the complete list of values, which has size mesh::nEdges(), using the virtual patch size. More... | |
template<class T > | |
const List< T >::subList | boundarySlice (const List< T > &values) const |
This patch slice from the list of boundary values, which has size mesh::nBoundaryEdges(), using the virtual patch size. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
List< labelPair > | boundaryConnections () const |
List of proc/face for the boundary edge neighbours in locally reordered edge numbering. More... | |
labelList | boundaryProcs () const |
Boundary edge neighbour processors (does not include own proc) More... | |
List< labelPair > | boundaryProcSizes () const |
List of proc/size for the boundary edge neighbour processors (does not include own proc) More... | |
const labelList & | pointLabels () const |
Return patch point labels. More... | |
const labelListList & | pointEdges () const |
Return patch point-edge addressing. More... | |
tmp< vectorField > | ngbPolyPatchFaceNormals () const |
Return normals of neighbour polyPatch faces. More... | |
tmp< vectorField > | ngbPolyPatchPointNormals () const |
Return normals of neighbour polyPatch joined points. More... | |
const labelUList & | edgeFaces () const |
Return edge-face addressing. More... | |
const vectorField & | edgeCentres () const |
Return edge centres. More... | |
const vectorField & | edgeLengths () const |
Return edge length vectors, like the faMesh::Le() method. More... | |
const scalarField & | magEdgeLengths () const |
Return edge length magnitudes, like the faMesh::magLe() method. More... | |
tmp< vectorField > | edgeNormals () const |
Return edge unit normals, like the faMesh::unitLe() method. More... | |
tmp< vectorField > | edgeFaceCentres () const |
Return neighbour face centres. More... | |
virtual tmp< vectorField > | delta () const |
Return cell-centre to face-centre vector. More... | |
virtual void | makeWeights (scalarField &) const |
Make patch weighting factors. More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
virtual void | makeDeltaCoeffs (scalarField &) const |
Make patch edge - neighbour face distances. More... | |
void | makeCorrectionVectors (vectorField &) const |
const scalarField & | deltaCoeffs () const |
Return patch edge - neighbour face distances. More... | |
void | resetEdges (const labelUList &newEdges) |
Reset the list of edges (use with caution) More... | |
void | resetEdges (labelList &&newEdges) |
Reset the list of edges (use with caution) More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, const labelUList &addressing, Field< Type > &pfld) const |
Extract internal field next to patch using specified addressing. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, Field< Type > &pfld) const |
Extract internal field next to patch as patch field using edgeFaces() mapping. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
Return given internal field next to patch as patch field using edgeFaces() mapping. More... | |
template<class GeometricField , class AnyType = bool> | |
const GeometricField::Patch & | patchField (const GeometricField &gf) const |
Return the patch field of the GeometricField corresponding to this patch. More... | |
template<class GeometricField , class AnyType = bool> | |
const GeometricField::Patch & | lookupPatchField (const word &name, const GeometricField *=nullptr, const AnyType *=nullptr) const |
Lookup the named field from the local registry and return the patch field corresponding to this patch. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
Public Member Functions inherited from patchIdentifier | |
patchIdentifier (const patchIdentifier &)=default | |
Copy construct. More... | |
patchIdentifier & | operator= (const patchIdentifier &)=default |
Copy assignment. More... | |
virtual | ~patchIdentifier ()=default |
Destructor. More... | |
patchIdentifier () | |
Default construct. Uses name="", index=0. More... | |
patchIdentifier (const word &name, const label index) | |
Construct from mandatory components. More... | |
patchIdentifier (const word &name, const label index, const word &physicalType, const wordList &inGroups=wordList()) | |
Construct from components. More... | |
patchIdentifier (const word &name, const dictionary &dict, const label index) | |
Construct from dictionary. More... | |
patchIdentifier (const patchIdentifier &ident, const label index) | |
Copy construct, resetting the index. More... | |
const word & | name () const noexcept |
The patch name. More... | |
word & | name () noexcept |
Modifiable patch name. More... | |
label | index () const noexcept |
The index of this patch in the boundaryMesh. More... | |
label & | index () noexcept |
Modifiable index of this patch in the boundaryMesh. More... | |
const word & | physicalType () const noexcept |
The (optional) physical type of the patch. More... | |
word & | physicalType () noexcept |
Modifiable (optional) physical type of the patch. More... | |
const wordList & | inGroups () const noexcept |
The (optional) groups that the patch belongs to. More... | |
wordList & | inGroups () noexcept |
Modifiable (optional) groups that the patch belongs to. More... | |
bool | inGroup (const word &name) const |
True if given name is in a group. More... | |
void | write (Ostream &os) const |
Write (physicalType, inGroups) dictionary entries (without surrounding braces) More... | |
Public Member Functions inherited from List< label > | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const label &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const label &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, label &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< label > &a) | |
Copy construct from list. More... | |
List (const UList< label > &a) | |
Copy construct contents from list. More... | |
List (List< label > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< label > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
List (const UList< label > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
List (const FixedList< label, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< label > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< label > &list) | |
Construct as copy of SLList<T> More... | |
List (const IndirectListBase< label, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< label > list) | |
Construct from an initializer list. More... | |
List (List< label > &&list) | |
Move construct from List. More... | |
List (DynamicList< label, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SLList< label > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< label > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const label &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize (const label newLen) |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const label &val) |
Alias for resize() More... | |
void | transfer (List< label > &list) |
Transfer the contents of the argument List into this list and annul the argument list. More... | |
void | transfer (DynamicList< label, SizeMin > &list) |
Transfer the contents of the argument List into this list and annul the argument list. More... | |
label & | newElmt (const label i) |
Return subscript-checked element of UList and resizing the list if required. More... | |
label & | emplace_back (Args &&... args) |
Construct an element at the end of the list, return reference to the new list element. More... | |
void | push_back (const label &val) |
Append an element at the end of the list. More... | |
void | push_back (label &&val) |
Move append an element at the end of the list. More... | |
void | push_back (const UList< label > &list) |
Append a List to the end of this list. More... | |
void | push_back (const IndirectListBase< label, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | push_uniq (const label &val) |
Append an element if not already in the list. More... | |
void | pop_back (label n=1) |
Reduce size by 1 or more elements. Can be called on an empty list. More... | |
void | operator= (const UList< label > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< label > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< label > &list) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const IndirectListBase< label, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
void | operator= (const FixedList< label, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< label > list) |
Assignment to an initializer list. More... | |
void | operator= (const label &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< label > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (DynamicList< label, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< label > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
Istream & | readList (Istream &is) |
Specialized list reading for character lists which always uses binary format. More... | |
Istream & | readList (Istream &is) |
void | shallowCopy (const UList< label > &)=delete |
No shallowCopy permitted. More... | |
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... | |
void | append (const label &val) |
Append an element at the end of the list. More... | |
void | append (label &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< label > &list) |
Append a List to the end of this list. More... | |
void | append (const IndirectListBase< label, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const label &val) |
Append an element if not already in the list. More... | |
Public Member Functions inherited from UList< label > | |
label | size () const noexcept |
The number of elements in the List. More... | |
void | writeEntry (const word &keyword, Ostream &os) const |
Write the List as a dictionary entry with keyword. More... | |
void | operator= (const label &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
UList (const UList< label > &)=default | |
Copy construct. More... | |
constexpr | UList () noexcept |
Default construct, zero-sized and nullptr. More... | |
UList (label *__restrict__ v, const label len) noexcept | |
Construct from components. More... | |
label | fcIndex (const label i) const noexcept |
The forward circular index. The next index in the list which returns to the first at the end of the list. More... | |
label | rcIndex (const label i) const noexcept |
The reverse circular index. The previous index in the list which returns to the last at the beginning of the list. More... | |
const label & | fcValue (const label i) const |
Return forward circular value (ie, next value in the list) More... | |
label & | fcValue (const label i) |
Return forward circular value (ie, next value in the list) More... | |
const label & | rcValue (const label i) const |
Return reverse circular value (ie, previous value in the list) More... | |
label & | rcValue (const label i) |
Return reverse circular value (ie, previous value in the list) More... | |
const label * | cdata () const noexcept |
Return pointer to the underlying array serving as data storage. More... | |
label * | data () noexcept |
Return pointer to the underlying array serving as data storage. More... | |
const char * | cdata_bytes () const noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
char * | data_bytes () noexcept |
Return pointer to the underlying array serving as data storage,. More... | |
label & | front () |
Access first element of the list, position [0]. More... | |
const label & | front () const |
Access first element of the list. More... | |
label & | back () |
Access last element of the list, position [size()-1]. More... | |
const label & | back () const |
Access last element of the list, position [size()-1]. More... | |
std::streamsize | size_bytes () const noexcept |
Number of contiguous bytes for the List data. More... | |
std::streamsize | byteSize () const |
Number of contiguous bytes for the List data, runtime FatalError if type is not contiguous. More... | |
void | checkStart (const label start) const |
Check start is within valid range [0,size) More... | |
void | checkSize (const label size) const |
Check size is within valid range [0,size]. More... | |
void | checkRange (const label start, const label len) const |
Check that start and length define a valid range. More... | |
void | checkIndex (const label i) const |
Check index is within valid range [0,size) More... | |
bool | uniform () const |
True if all entries have identical values, and list is non-empty. More... | |
label | find (const label &val, label pos=0) const |
Find index of the first occurrence of the value. More... | |
label | rfind (const label &val, label pos=-1) const |
Find index of the last occurrence of the value. More... | |
bool | contains (const label &val, label pos=0) const |
Is the value contained in the list? More... | |
void | moveFirst (const label i) |
Move element to the first position. More... | |
void | moveLast (const label i) |
Move element to the last position. More... | |
void | swapFirst (const label i) |
Swap element with the first element. Fatal on an empty list. More... | |
void | swapLast (const label i) |
Swap element with the last element. Fatal on an empty list. More... | |
void | shallowCopy (const UList< label > &list) |
Copy the pointer and size held by the given UList. More... | |
void | deepCopy (const UList< label > &list) |
Copy elements of the given UList. Sizes must match! More... | |
void | deepCopy (const IndirectListBase< label, Addr > &list) |
Copy elements of the given indirect list. Sizes must match! More... | |
SubList< label > | slice (const label pos, label len=-1) |
Return SubList slice (non-const access) - no range checking. More... | |
const SubList< label > | slice (const label pos, label len=-1) const |
Return SubList slice (const access) - no range checking. More... | |
SubList< label > | slice (const labelRange &range) |
Return SubList slice (non-const access) - with range checking. More... | |
const SubList< label > | slice (const labelRange &range) const |
Return SubList slice (const access) - with range checking. More... | |
label & | operator[] (const label i) |
Return element of UList. More... | |
const label & | operator[] (const label i) const |
Return element of constant UList. More... | |
const bool & | operator[] (const label i) const |
UPstream::commsStruct & | operator[] (const label procID) |
const UPstream::commsStruct & | operator[] (const label procID) const |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
operator const Foam::List< label > & () const | |
Allow cast to a const List<T>&. More... | |
iterator | begin () noexcept |
Return an iterator to begin traversing the UList. More... | |
iterator | begin (const label i) noexcept |
Return iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | begin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. More... | |
iterator | end () noexcept |
Return an iterator to end traversing the UList. More... | |
const_iterator | end () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin traversing the constant UList. More... | |
const_iterator | cbegin (const label i) const noexcept |
Return const_iterator at offset i from begin, clamped to [0,size] range. More... | |
const_iterator | cend () const noexcept |
Return const_iterator to end traversing the constant UList. More... | |
reverse_iterator | rbegin () |
Return reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | rbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
reverse_iterator | rend () |
Return reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | rend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
const_reverse_iterator | crbegin () const |
Return const_reverse_iterator to begin reverse traversing the UList. More... | |
const_reverse_iterator | crend () const |
Return const_reverse_iterator to end reverse traversing the UList. More... | |
bool | empty () const noexcept |
True if List is empty (ie, size() is zero) More... | |
void | swap (UList< label > &list) |
Swap content with another UList of the same type in constant time. More... | |
bool | operator== (const UList< label > &a) const |
Equality operation on ULists of the same type. More... | |
bool | operator!= (const UList< label > &a) const |
The opposite of the equality operation. Takes linear time. More... | |
bool | operator< (const UList< label > &list) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator> (const UList< label > &a) const |
Compare two ULists lexicographically. Takes linear time. More... | |
bool | operator<= (const UList< label > &a) const |
Return true if !(a > b). Takes linear time. More... | |
bool | operator>= (const UList< label > &a) const |
Return true if !(a < b). Takes linear time. More... | |
Istream & | readList (Istream &is) |
Read List contents from Istream. More... | |
Istream & | readList (Istream &is) |
Specialized list reading for character lists which always uses binary format. More... | |
Istream & | readList (Istream &is) |
Ostream & | writeList (Ostream &os, const label shortLen=0) const |
Write List, with line-breaks in ASCII when length exceeds shortLen. More... | |
Ostream & | writeList (Ostream &os, const label) const |
Specialized writeList for character lists which always uses binary format. More... | |
Ostream & | writeList (Ostream &os, const label) const |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | test (const label i) const |
Test bool value at specified position, always false for out-of-range access. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | get (const label i) const |
Return bool value at specified position, always false for out-of-range access. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | unset (const label i) |
Unset the bool entry at specified position, always false for out-of-range access. More... | |
label & | first () |
Access first element of the list, position [0]. More... | |
const label & | first () const |
Access first element of the list. More... | |
label & | last () |
Access last element of the list, position [size()-1]. More... | |
const label & | last () const |
Access last element of the list, position [size()-1]. More... | |
bool | found (const label &val, label pos=0) const |
Same as contains() More... | |
Static Public Member Functions | |
static autoPtr< faPatch > | New (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static autoPtr< faPatch > | New (const word &patchType, const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm) |
Return pointer to a new patch created on freestore from dictionary. More... | |
static bool | constraintType (const word &patchType) |
Return true if the given type is a constraint type. More... | |
static wordList | constraintTypes () |
Return a list of all the constraint patch types. More... | |
Static Public Member Functions inherited from patchIdentifier | |
static word | defaultName (const label n=-1) |
Default patch name: "patch" or "patchN". More... | |
Static Public Member Functions inherited from List< label > | |
static const List< label > & | null () |
Return a null List. More... | |
Static Public Member Functions inherited from UList< label > | |
static const UList< label > & | null () |
Return a UList reference to a nullObject. More... | |
static constexpr label | max_size () noexcept |
The size of the largest possible UList. More... | |
Protected Member Functions | |
void | calcPointLabels () const |
Calculate patch point labels. More... | |
void | calcPointEdges () const |
Calculate patch point-edge addressing. More... | |
virtual void | initGeometry (PstreamBuffers &) |
Initialise the calculation of the patch geometry. More... | |
virtual void | calcGeometry (PstreamBuffers &) |
Calculate the patch geometry. More... | |
virtual void | initMovePoints (PstreamBuffers &, const pointField &) |
Initialise the patches for moving points. More... | |
virtual void | movePoints (PstreamBuffers &, const pointField &) |
Correct patch after moving points. More... | |
virtual void | initUpdateMesh (PstreamBuffers &) |
Initialise the update of the patch topology. More... | |
virtual void | updateMesh (PstreamBuffers &) |
Update of the patch topology. More... | |
Protected Member Functions inherited from UList< label > | |
void | setAddressableSize (const label n) noexcept |
Set addressed size to be inconsistent with allocated storage. More... | |
void | size (const label n) |
Older name for setAddressableSize. More... | |
void | writeEntry (Ostream &os) const |
Write the UList with its compound type. More... | |
void | writeEntry (Ostream &os) const |
Specialized writeEntry for character lists which always uses binary format. More... | |
void | writeEntry (Ostream &os) const |
labelRange | validateRange (const labelRange &requestedRange) const |
Return a validated (start,size) subset range, which means that it always addresses a valid section of the list. More... | |
UList< label > & | operator= (const UList< label > &)=delete |
No copy assignment (default: shallow copy) More... | |
Friends | |
class | faBoundaryMesh |
The faPatch geometry initialisation is called by faBoundaryMesh. More... | |
Ostream & | operator<< (Ostream &, const faPatch &) |
Finite area patch class. Used for 2-D non-Euclidian finite area method.
typedef faBoundaryMesh BoundaryMesh |
faPatch | ( | const word & | name, |
const labelUList & | edgeLabels, | ||
const label | index, | ||
const faBoundaryMesh & | bm, | ||
const label | nbrPolyPatchi, | ||
const word & | patchType | ||
) |
Construct from components.
Definition at line 90 of file faPatch.C.
References List< T >::appendUniq().
faPatch | ( | const word & | name, |
const dictionary & | dict, | ||
const label | index, | ||
const faBoundaryMesh & | bm, | ||
const word & | patchType | ||
) |
Construct from dictionary.
Definition at line 115 of file faPatch.C.
References List< T >::appendUniq().
faPatch | ( | const faPatch & | p, |
const faBoundaryMesh & | bm | ||
) |
faPatch | ( | const faPatch & | p, |
const faBoundaryMesh & | bm, | ||
const label | index, | ||
const labelUList & | edgeLabels, | ||
const label | nbrPolyPatchi | ||
) |
|
protected |
Calculate patch point labels.
const labelList& edgePoints = *pointLabelsPtr_;
// Cannot use invertManyToMany - we have non-local edge numbering
// Intermediate storage for pointEdges. // Points on the boundary will normally connect 1 or 2 edges only. List<DynamicList<label,2>> dynPointEdges(edgePoints.size());
forAll(edges, edgei) { const edge& e = edges[edgei];
dynPointEdges[markedPoints[e.first()]].append(edgei); dynPointEdges[markedPoints[e.second()]].append(edgei); }
// Flatten to regular list pointEdgesPtr_ = new labelListList(edgePoints.size()); auto& pEdges = *pointEdgesPtr_;
forAll(pEdges, pointi) { pEdges[pointi] = std::move(dynPointEdges[pointi]); }
Definition at line 299 of file faPatch.C.
References DynamicList< T, SizeMin >::append(), Foam::constant::electromagnetic::e, mesh, and UList< T >::size().
|
protected |
Calculate patch point-edge addressing.
Definition at line 356 of file faPatch.C.
References append(), Foam::constant::electromagnetic::e, UList< T >::find(), forAll, mesh, pointLabels(), and UList< T >::size().
|
inlineprotectedvirtual |
Initialise the calculation of the patch geometry.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 145 of file faPatch.H.
Referenced by cyclicFaPatch::initGeometry().
|
inlineprotectedvirtual |
Calculate the patch geometry.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 151 of file faPatch.H.
Referenced by cyclicFaPatch::calcGeometry().
|
inlineprotectedvirtual |
Initialise the patches for moving points.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 157 of file faPatch.H.
Referenced by cyclicFaPatch::initMovePoints().
|
protectedvirtual |
Correct patch after moving points.
Reimplemented in coupledFaPatch, cyclicFaPatch, and processorFaPatch.
Definition at line 539 of file faPatch.C.
Referenced by processorFaPatch::initMovePoints(), and cyclicFaPatch::movePoints().
|
inlineprotectedvirtual |
Initialise the update of the patch topology.
Reimplemented in processorFaPatch.
Definition at line 168 of file faPatch.H.
Referenced by processorFaPatch::initUpdateMesh().
|
inlineprotectedvirtual |
Update of the patch topology.
Reimplemented in processorFaPatch.
Definition at line 174 of file faPatch.H.
Referenced by processorFaPatch::updateMesh().
TypeName | ( | "patch" | ) |
Runtime type information.
declareRunTimeSelectionTable | ( | autoPtr | , |
faPatch | , | ||
dictionary | , | ||
(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm, const word &patchType) | , | ||
(name, dict, index, bm, patchType) | |||
) |
|
inlinevirtual |
Construct and return a clone, resetting the boundary mesh.
Reimplemented in emptyFaPatch, symmetryFaPatch, and ignoreFaPatch.
Definition at line 257 of file faPatch.H.
References autoPtr< T >::New().
|
inlinevirtual |
Construct and return a clone, resetting the edge list and boundary mesh.
Reimplemented in emptyFaPatch, symmetryFaPatch, and ignoreFaPatch.
Definition at line 267 of file faPatch.H.
References faPatch::edgeLabels(), patchIdentifier::index(), and autoPtr< T >::New().
|
static |
Return pointer to a new patch created on freestore from dictionary.
Definition at line 28 of file faPatchNew.C.
References dict, Foam::name(), and Foam::New().
Referenced by faMeshTools::newMesh().
|
static |
Return pointer to a new patch created on freestore from dictionary.
Definition at line 43 of file faPatchNew.C.
References DebugInFunction, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::name().
|
static |
Return true if the given type is a constraint type.
Definition at line 46 of file faPatch.C.
References polyPatch::constraintType().
|
static |
Return a list of all the constraint patch types.
Definition at line 55 of file faPatch.C.
References forAllConstIters().
|
inlinenoexcept |
Return the list of edges.
Definition at line 335 of file faPatch.H.
Referenced by faPatchData::assign(), ignoreFaPatch::clone(), emptyFaPatch::clone(), symmetryFaPatch::clone(), faPatch::clone(), and faMeshDistributor::distribute().
|
inline |
Number of patch points.
Definition at line 343 of file faPatch.H.
References faPatch::pointLabels(), and UList< T >::size().
|
inlinenoexcept |
Number of edge labels (boundary edges) addressed by this patch.
Definition at line 351 of file faPatch.H.
References UList< label >::size().
|
inlinenoexcept |
The neighbour polyPatch index.
Definition at line 359 of file faPatch.H.
Referenced by faPatchData::assign().
|
noexcept |
Return boundaryMesh reference.
|
inlinevirtual |
Return true if this patch is coupled.
Reimplemented in processorFaPatch, and coupledFaPatch.
Foam::label offset | ( | ) | const |
The offset where this patch starts in the boundary edge list.
The value is the same as patch.start() - mesh.nInternalEdges()
Definition at line 190 of file faPatch.C.
References Foam::max(), and mesh.
Referenced by faPatch::boundarySlice().
Foam::label start | ( | ) | const |
Patch start in edge list.
Definition at line 201 of file faPatch.C.
References boundaryMesh::mesh().
Referenced by faMesh::edgeLengthCorrection(), faPatch::patchSlice(), and faPatch::whichEdge().
|
inlinevirtual |
Patch size is the number of edge labels, but can be overloaded.
Reimplemented in emptyFaPatch.
Definition at line 392 of file faPatch.H.
References UList< label >::size().
Referenced by faPatch::boundarySlice(), faMeshDecomposition::decomposeMesh(), processorFaPatch::interfaceSize(), faPatch::patchSlice(), and faPatchMapper::size().
|
inline |
Return label of edge in patch from global edge label.
Definition at line 400 of file faPatch.H.
References faPatch::start().
This patch slice from the complete list of values, which has size mesh::nEdges(), using the virtual patch size.
Definition at line 410 of file faPatch.H.
References faPatch::size(), faPatch::start(), and Foam::HashTableOps::values().
Referenced by faFieldDecomposer::reset().
This patch slice from the list of boundary values, which has size mesh::nBoundaryEdges(), using the virtual patch size.
Definition at line 421 of file faPatch.H.
References faPatch::offset(), faPatch::size(), and Foam::HashTableOps::values().
|
virtual |
Write.
Reimplemented in processorFaPatch.
Definition at line 557 of file faPatch.C.
References os(), Foam::type(), patchIdentifier::write(), UList< T >::writeEntry(), and Ostream::writeEntry().
Referenced by processorFaPatch::write().
Foam::List< Foam::labelPair > boundaryConnections | ( | ) | const |
List of proc/face for the boundary edge neighbours in locally reordered edge numbering.
Definition at line 207 of file faPatch.C.
References Foam::BitOps::count(), boundaryMesh::mesh(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), and Foam::output().
Foam::labelList boundaryProcs | ( | ) | const |
Boundary edge neighbour processors (does not include own proc)
Definition at line 227 of file faPatch.C.
References HashTable< T, Key, Hash >::erase(), HashSet< Key, Hash >::insert(), boundaryMesh::mesh(), UPstream::myProcNo(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), UPstream::nProcs(), and HashTable< T, Key, Hash >::sortedToc().
Foam::List< Foam::labelPair > boundaryProcSizes | ( | ) | const |
List of proc/size for the boundary edge neighbour processors (does not include own proc)
Definition at line 247 of file faPatch.C.
References Foam::BitOps::count(), HashTable< T, Key, Hash >::erase(), boundaryMesh::mesh(), UPstream::myProcNo(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), UPstream::nProcs(), Foam::output(), HashTable< T, Key, Hash >::size(), and HashTable< T, Key, Hash >::sortedToc().
const Foam::labelList & pointLabels | ( | ) | const |
Return patch point labels.
Definition at line 277 of file faPatch.C.
Referenced by faPatch::nPoints(), and faGlobalMeshData::updateMesh().
const Foam::labelListList & pointEdges | ( | ) | const |
Foam::tmp< Foam::vectorField > ngbPolyPatchFaceNormals | ( | ) | const |
Return normals of neighbour polyPatch faces.
Same as faMesh::haloFaceNormals()
Definition at line 387 of file faPatch.C.
References boundaryMesh::mesh(), and tmp< T >::New().
Foam::tmp< Foam::vectorField > ngbPolyPatchPointNormals | ( | ) | const |
Return normals of neighbour polyPatch joined points.
Definition at line 398 of file faPatch.C.
References forAll, mesh, n, tmp< T >::New(), UList< T >::size(), and Foam::Zero.
const Foam::labelUList & edgeFaces | ( | ) | const |
Return edge-face addressing.
Definition at line 433 of file faPatch.C.
References mesh.
Referenced by faMeshDecomposition::decomposeMesh(), and coupledFaPatch::faceCells().
const Foam::vectorField & edgeCentres | ( | ) | const |
Return edge centres.
Definition at line 447 of file faPatch.C.
References boundaryMesh::mesh().
Referenced by coupledFaPatch::delta().
const Foam::vectorField & edgeLengths | ( | ) | const |
Return edge length vectors, like the faMesh::Le() method.
Definition at line 453 of file faPatch.C.
References boundaryMesh::mesh().
const Foam::scalarField & magEdgeLengths | ( | ) | const |
Return edge length magnitudes, like the faMesh::magLe() method.
Definition at line 459 of file faPatch.C.
References boundaryMesh::mesh().
Foam::tmp< Foam::vectorField > edgeNormals | ( | ) | const |
Return edge unit normals, like the faMesh::unitLe() method.
Definition at line 465 of file faPatch.C.
References tmp< T >::New().
Foam::tmp< Foam::vectorField > edgeFaceCentres | ( | ) | const |
Return neighbour face centres.
Definition at line 475 of file faPatch.C.
References mesh.
Referenced by coupledFaPatch::delta().
|
virtual |
Return cell-centre to face-centre vector.
except for coupled patches for which the cell-centre to coupled-cell-centre vector is returned
Reimplemented in processorFaPatch, coupledFaPatch, and cyclicFaPatch.
Definition at line 481 of file faPatch.C.
References Foam::constant::electromagnetic::e, and edgeCentres().
|
virtual |
Make patch weighting factors.
Reimplemented in processorFaPatch, coupledFaPatch, and cyclicFaPatch.
const Foam::scalarField & weights | ( | ) | const |
Return patch weighting factors.
Definition at line 533 of file faPatch.C.
References boundaryMesh::mesh().
|
virtual |
Make patch edge - neighbour face distances.
Reimplemented in processorFaPatch, coupledFaPatch, and cyclicFaPatch.
Definition at line 505 of file faPatch.C.
References delta.
void makeCorrectionVectors | ( | vectorField & | k | ) | const |
Definition at line 511 of file faPatch.C.
References delta, k, and Foam::mag().
const Foam::scalarField & deltaCoeffs | ( | ) | const |
Return patch edge - neighbour face distances.
Definition at line 521 of file faPatch.C.
References boundaryMesh::mesh().
void resetEdges | ( | const labelUList & | newEdges | ) |
void resetEdges | ( | labelList && | newEdges | ) |
|
inline |
Extract internal field next to patch using specified addressing.
internalData | The internal field to extract from | |
addressing | Addressing from patch into internal field | |
[out] | pfld | The extracted patch field. It is always resized according to the patch size(), which can be smaller than the addressing size |
Definition at line 28 of file faPatchTemplates.C.
References List< Type >::resize_nocopy().
Extract internal field next to patch as patch field using edgeFaces() mapping.
internalData | The internal field to extract from | |
[out] | pfld | The extracted patch field. It is always resized according to the patch size(), which can be smaller than the edgeFaces() size |
Definition at line 47 of file faPatchTemplates.C.
Return given internal field next to patch as patch field using edgeFaces() mapping.
internalData | The internal field to extract from |
const GeometricField::Patch & patchField | ( | const GeometricField & | gf | ) | const |
Return the patch field of the GeometricField corresponding to this patch.
Definition at line 70 of file faPatchTemplates.C.
References GeometricField< Type, PatchField, GeoMesh >::boundaryField().
const GeometricField::Patch & lookupPatchField | ( | const word & | name, |
const GeometricField * | = nullptr , |
||
const AnyType * | = nullptr |
||
) | const |
Lookup the named field from the local registry and return the patch field corresponding to this patch.
N.B. The dummy pointer arguments are used if this function is instantiated within a templated function to avoid a bug in gcc.
Definition at line 28 of file faPatchFaMeshTemplates.C.
References boundaryMesh::mesh(), and Foam::name().
Foam::tmp<Foam::Field<Type> > patchInternalField | ( | const UList< Type > & | internalData | ) | const |
Definition at line 58 of file faPatchTemplates.C.
References Foam::New().
|
friend |
The faPatch geometry initialisation is called by faBoundaryMesh.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.