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 | 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 > | |
List< T >::subList | patchSlice (const List< T > &l) const |
Slice List to patch, using the virtual patch size. More... | |
template<class T > | |
List< T >::subList | patchRawSlice (const List< T > &l) const |
Slice List to patch, using the number of patch edges. 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. More... | |
const scalarField & | magEdgeLengths () const |
Return edge length magnitudes. More... | |
tmp< vectorField > | edgeNormals () const |
Return edge normals. 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 > &f, const labelUList &edgeFaces, Field< Type > &pfld) const |
Extract internal field next to patch using edgeFaces mapping. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &) const |
Return given internal field next to patch as patch field. More... | |
template<class Type > | |
tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f, const labelUList &edgeFaces) const |
Return given internal field next to patch as patch field using provided addressing. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &, Field< Type > &) const |
Extract internal field next to patch as patch field. 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 > &f) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &f, const labelUList &edgeFaces) 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... | |
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 UList. 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 | found (const label &val, label pos=0) const |
True if the value if found 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 |
Foam::UPstream::commsStruct & | operator[] (const label procID) |
const Foam::UPstream::commsStruct & | operator[] (const label procID) const |
UPstream::commsStruct & | operator[] (const label procID) |
const 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... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin traversing the constant UList. 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 | 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 the UList 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... | |
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 288 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 345 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 524 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, and symmetryFaPatch.
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, and symmetryFaPatch.
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::loadOrCreateMesh(), and 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(), 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().
Referenced by faPatch::patchRawSlice().
|
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 start | ( | ) | const |
Patch start in edge list.
Definition at line 190 of file faPatch.C.
References boundaryMesh::mesh().
Referenced by faMesh::edgeLengthCorrection(), faPatch::patchRawSlice(), faPatch::patchSlice(), and faPatch::whichEdge().
|
inlinevirtual |
Patch size is the number of edge labels, but can be overloaded.
Reimplemented in emptyFaPatch.
Definition at line 385 of file faPatch.H.
References UList< label >::size().
Referenced by faMeshDecomposition::decomposeMesh(), processorFaPatch::interfaceSize(), faPatch::patchSlice(), and faPatchMapper::size().
|
inline |
Return label of edge in patch from global edge label.
Definition at line 393 of file faPatch.H.
References faPatch::start().
Slice List to patch, using the virtual patch size.
Definition at line 402 of file faPatch.H.
References faPatch::size(), and faPatch::start().
Referenced by faFieldDecomposer::reset().
Slice List to patch, using the number of patch edges.
Definition at line 411 of file faPatch.H.
References faPatch::nEdges(), and faPatch::start().
|
virtual |
Write.
Reimplemented in processorFaPatch.
Definition at line 542 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 196 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 216 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 236 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 266 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 376 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 387 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 422 of file faPatch.C.
References mesh.
Referenced by faMeshDecomposition::decomposeMesh(), and coupledFaPatch::faceCells().
const Foam::vectorField & edgeCentres | ( | ) | const |
Return edge centres.
Definition at line 436 of file faPatch.C.
References boundaryMesh::mesh().
const Foam::vectorField & edgeLengths | ( | ) | const |
Return edge length vectors.
Definition at line 442 of file faPatch.C.
References boundaryMesh::mesh().
const Foam::scalarField & magEdgeLengths | ( | ) | const |
Return edge length magnitudes.
Definition at line 448 of file faPatch.C.
References boundaryMesh::mesh().
Foam::tmp< Foam::vectorField > edgeNormals | ( | ) | const |
Return edge normals.
Definition at line 454 of file faPatch.C.
References tmp< T >::New().
Foam::tmp< Foam::vectorField > edgeFaceCentres | ( | ) | const |
|
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 470 of file faPatch.C.
References Foam::mag().
Referenced by cyclicFaPatch::delta(), processorFaPatch::delta(), cyclicFaPatch::makeDeltaCoeffs(), processorFaPatch::makeDeltaCoeffs(), cyclicFaPatch::makeWeights(), and processorFaPatch::makeWeights().
|
virtual |
Make patch weighting factors.
Reimplemented in processorFaPatch, coupledFaPatch, and cyclicFaPatch.
const Foam::scalarField & weights | ( | ) | const |
Return patch weighting factors.
Definition at line 518 of file faPatch.C.
References boundaryMesh::mesh().
|
virtual |
Make patch edge - neighbour face distances.
Reimplemented in processorFaPatch, coupledFaPatch, and cyclicFaPatch.
Definition at line 490 of file faPatch.C.
References delta.
void makeCorrectionVectors | ( | vectorField & | k | ) | const |
Definition at line 496 of file faPatch.C.
References delta, k, and Foam::mag().
const Foam::scalarField & deltaCoeffs | ( | ) | const |
Return patch edge - neighbour face distances.
Definition at line 506 of file faPatch.C.
References boundaryMesh::mesh().
void resetEdges | ( | const labelUList & | newEdges | ) |
void resetEdges | ( | labelList && | newEdges | ) |
|
inline |
Extract internal field next to patch using edgeFaces mapping.
Definition at line 28 of file faPatchTemplates.C.
References f(), forAll, and List< Type >::resize().
Return given internal field next to patch as patch field.
tmp<Foam::Field<Type> > patchInternalField | ( | const UList< Type > & | f, |
const labelUList & | edgeFaces | ||
) | const |
Return given internal field next to patch as patch field using provided addressing.
Extract internal field next to patch as patch field.
Definition at line 70 of file faPatchTemplates.C.
References f().
const GeometricField::Patch & patchField | ( | const GeometricField & | gf | ) | const |
Return the patch field of the GeometricField corresponding to this patch.
Definition at line 81 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 > & | f | ) | const |
Definition at line 45 of file faPatchTemplates.C.
References f(), and Foam::New().
Foam::tmp<Foam::Field<Type> > patchInternalField | ( | const UList< Type > & | f, |
const labelUList & | edgeFaces | ||
) | const |
Definition at line 57 of file faPatchTemplates.C.
References f(), and Foam::New().
|
friend |
The faPatch geometry initialisation is called by faBoundaryMesh.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.