faPatch Class Reference

Finite area patch class. Used for 2-D non-Euclidian finite area method. More...

Inheritance diagram for faPatch:
[legend]
Collaboration diagram for faPatch:
[legend]

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< T >
typedef T value_type
 The value type the list contains. More...
 
typedef Tpointer
 The pointer type for non-const access to value_type items. More...
 
typedef const Tconst_pointer
 The pointer type for const access to value_type items. More...
 
typedef Treference
 The type used for storing into value_type objects. More...
 
typedef const Tconst_reference
 The type used for reading from constant value_type objects. More...
 
typedef Titerator
 Random access iterator for traversing a UList. More...
 
typedef const Tconst_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< iteratorreverse_iterator
 Reverse iterator (non-const access) More...
 
typedef std::reverse_iterator< const_iteratorconst_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< faPatchclone (const faBoundaryMesh &bm) const
 Construct and return a clone, resetting the boundary mesh. More...
 
virtual autoPtr< faPatchclone (const faBoundaryMesh &bm, const labelUList &edgeLabels, const label index, const label nbrPolyPatchi) const
 
virtual ~faPatch ()
 Destructor. More...
 
const labelListedgeLabels () 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 faBoundaryMeshboundaryMesh () 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. More...
 
label whichEdge (const label l) 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. More...
 
virtual void write (Ostream &) const
 Write. More...
 
List< labelPairboundaryConnections () const
 
labelList boundaryProcs () const
 
List< labelPairboundaryProcSizes () const
 
const labelListpointLabels () const
 Return patch point labels. More...
 
const labelListListpointEdges () const
 Return patch point-edge addressing. More...
 
tmp< vectorFieldngbPolyPatchFaceNormals () const
 Return normals of neighbour polyPatch faces. More...
 
tmp< vectorFieldngbPolyPatchPointNormals () const
 Return normals of neighbour polyPatch joined points. More...
 
const labelUListedgeFaces () const
 Return edge-face addressing. More...
 
const vectorFieldedgeCentres () const
 Return edge centres. More...
 
const vectorFieldedgeLengths () const
 Return edge length vectors. More...
 
const scalarFieldmagEdgeLengths () const
 Return edge length magnitudes. More...
 
tmp< vectorFieldedgeNormals () const
 Return edge normals. More...
 
tmp< vectorFieldedgeFaceCentres () const
 Return neighbour face centres. More...
 
virtual tmp< vectorFielddelta () const
 Return cell-centre to face-centre vector. More...
 
virtual void makeWeights (scalarField &) const
 Make patch weighting factors. More...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
virtual void makeDeltaCoeffs (scalarField &) const
 Make patch edge - neighbour face distances. More...
 
void makeCorrectionVectors (vectorField &) const
 
const scalarFielddeltaCoeffs () 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 >
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. More...
 
template<class GeometricField , class Type >
const GeometricField::PatchpatchField (const GeometricField &) const
 Return the corresponding patchField of the named field. More...
 
template<class GeometricField , class Type >
const GeometricField::PatchlookupPatchField (const word &name, const GeometricField *=nullptr, const Type *=nullptr) const
 
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...
 
patchIdentifieroperator= (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 wordname () const noexcept
 The patch name. More...
 
wordname () 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 wordphysicalType () const noexcept
 The (optional) physical type of the patch. More...
 
wordphysicalType () noexcept
 Modifiable (optional) physical type of the patch. More...
 
const wordListinGroups () const noexcept
 The (optional) groups that the patch belongs to. More...
 
wordListinGroups () 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
 
- 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 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...
 
void transfer (List< label > &list)
 
void transfer (DynamicList< label, SizeMin > &list)
 
label & newElmt (const label i)
 
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...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
IstreamreadList (Istream &is)
 
IstreamreadList (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...
 
- Public Member Functions inherited from UList< T >
 UList (const UList< T > &)=default
 Copy construct. More...
 
constexpr UList () noexcept
 Default construct, zero-sized and nullptr. More...
 
 UList (T *__restrict__ v, const label len) noexcept
 Construct from components. More...
 
label fcIndex (const label i) const noexcept
 
label rcIndex (const label i) const noexcept
 
const TfcValue (const label i) const
 Return forward circular value (ie, next value in the list) More...
 
TfcValue (const label i)
 Return forward circular value (ie, next value in the list) More...
 
const TrcValue (const label i) const
 Return reverse circular value (ie, previous value in the list) More...
 
TrcValue (const label i)
 Return reverse circular value (ie, previous value in the list) More...
 
const Tcdata () const noexcept
 Return pointer to the underlying array serving as data storage. More...
 
Tdata () 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...
 
Tfirst ()
 Return the first element of the list. More...
 
const Tfirst () const
 Return first element of the list. More...
 
Tlast ()
 Return the last element of the list. More...
 
const Tlast () const
 Return the last element of the list. More...
 
std::streamsize size_bytes () const noexcept
 Number of contiguous bytes for the List data. More...
 
std::streamsize byteSize () const
 
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 T &val, label pos=0) const
 Find index of the first occurrence of the value. More...
 
label rfind (const T &val, label pos=-1) const
 Find index of the last occurrence of the value. More...
 
bool found (const T &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< T > &list)
 Copy the pointer and size held by the given UList. More...
 
void deepCopy (const UList< T > &list)
 Copy elements of the given UList. Sizes must match! More...
 
template<class Addr >
void deepCopy (const IndirectListBase< T, Addr > &list)
 Copy elements of the given indirect list. Sizes must match! More...
 
SubList< Tslice (const label pos, label len=-1)
 Return SubList slice (non-const access) - no range checking. More...
 
const SubList< Tslice (const label pos, label len=-1) const
 Return SubList slice (const access) - no range checking. More...
 
SubList< Tslice (const labelRange &range)
 Return SubList slice (non-const access) - with range checking. More...
 
const SubList< Tslice (const labelRange &range) const
 Return SubList slice (const access) - with range checking. More...
 
Toperator[] (const label i)
 Return element of UList. More...
 
const Toperator[] (const label i) const
 Return element of constant UList. More...
 
 operator const Foam::List< T > & () const
 Allow cast to a const List<T>&. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
iterator begin () noexcept
 Return an iterator to begin traversing the UList. More...
 
iterator end () noexcept
 Return an iterator to end traversing the 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...
 
const_iterator begin () const noexcept
 Return const_iterator to begin traversing the constant UList. More...
 
const_iterator end () 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...
 
reverse_iterator rend ()
 Return 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...
 
const_reverse_iterator rbegin () const
 Return const_reverse_iterator to begin reverse traversing the UList. More...
 
const_reverse_iterator rend () const
 Return const_reverse_iterator to end reverse traversing the UList. More...
 
label size () const noexcept
 The number of elements in the UList. More...
 
bool empty () const noexcept
 True if the UList is empty (ie, size() is zero) More...
 
void swap (UList< T > &list)
 Swap content with another UList of the same type in constant time. More...
 
bool operator== (const UList< T > &a) const
 Equality operation on ULists of the same type. More...
 
bool operator!= (const UList< T > &a) const
 The opposite of the equality operation. Takes linear time. More...
 
bool operator< (const UList< T > &list) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator> (const UList< T > &a) const
 Compare two ULists lexicographically. Takes linear time. More...
 
bool operator<= (const UList< T > &a) const
 Return true if !(a > b). Takes linear time. More...
 
bool operator>= (const UList< T > &a) const
 Return true if !(a < b). Takes linear time. More...
 
IstreamreadList (Istream &is)
 Read List contents from Istream. More...
 
void writeEntry (const word &keyword, Ostream &os) const
 Write the List as a dictionary entry with keyword. More...
 
OstreamwriteList (Ostream &os, const label shortLen=0) const
 Write List, with line-breaks in ASCII when length exceeds shortLen. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type test (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type get (const label i) const
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type unset (const label i)
 
IstreamreadList (Istream &is)
 
OstreamwriteList (Ostream &os, const label) const
 
const booloperator[] (const label i) const
 
Foam::UPstream::commsStructoperator[] (const label procID)
 
const Foam::UPstream::commsStructoperator[] (const label procID) const
 
UPstream::commsStructoperator[] (const label procID)
 
const UPstream::commsStructoperator[] (const label procID) const
 
OstreamwriteList (Ostream &os, const label) const
 
IstreamreadList (Istream &is)
 

Static Public Member Functions

static autoPtr< faPatchNew (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< faPatchNew (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 &pt)
 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< T >
static const UList< T > & 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< T >
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...
 
labelRange validateRange (const labelRange &requestedRange) const
 
UList< T > & operator= (const UList< T > &)=delete
 No copy assignment (default: shallow copy) More...
 
void writeEntry (Ostream &os) const
 
void writeEntry (Ostream &os) const
 

Friends

class faBoundaryMesh
 The faPatch geometry initialisation is called by faBoundaryMesh. More...
 
Ostreamoperator<< (Ostream &, const faPatch &)
 

Detailed Description

Finite area patch class. Used for 2-D non-Euclidian finite area method.

Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.

Source files

Definition at line 74 of file faPatch.H.

Member Typedef Documentation

◆ BoundaryMesh

The boundary type associated with the patch.

Definition at line 149 of file faPatch.H.

Constructor & Destructor Documentation

◆ faPatch() [1/4]

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 96 of file faPatch.C.

References List< T >::appendUniq(), faPatch::constraintType(), and patchIdentifier::inGroups().

Here is the call graph for this function:

◆ faPatch() [2/4]

faPatch ( const word name,
const dictionary dict,
const label  index,
const faBoundaryMesh bm,
const word patchType 
)

Construct from dictionary.

Definition at line 121 of file faPatch.C.

References List< T >::appendUniq(), faPatch::constraintType(), and patchIdentifier::inGroups().

Here is the call graph for this function:

◆ faPatch() [3/4]

faPatch ( const faPatch p,
const faBoundaryMesh bm 
)

Copy construct, resetting the boundary mesh.

Definition at line 164 of file faPatch.C.

◆ faPatch() [4/4]

faPatch ( const faPatch p,
const faBoundaryMesh bm,
const label  index,
const labelUList edgeLabels,
const label  nbrPolyPatchi 
)

Copy construct, resetting boundary mesh and addressing.

Definition at line 145 of file faPatch.C.

◆ ~faPatch()

~faPatch ( )
virtual

Destructor.

Definition at line 183 of file faPatch.C.

Member Function Documentation

◆ calcPointLabels()

void calcPointLabels ( ) const
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 295 of file faPatch.C.

References DynamicList< T, SizeMin >::append(), e, UList< T >::first(), HashSet< Key, Hash >::insert(), mesh, and UList< T >::size().

Here is the call graph for this function:

◆ calcPointEdges()

void calcPointEdges ( ) const
protected

Calculate patch point-edge addressing.

Definition at line 352 of file faPatch.C.

References List< T >::append(), e, UList< T >::find(), UList< T >::first(), forAll, mesh, pointLabels(), and UList< T >::size().

Here is the call graph for this function:

◆ initGeometry()

virtual void initGeometry ( PstreamBuffers )
inlineprotectedvirtual

Initialise the calculation of the patch geometry.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 123 of file faPatch.H.

Referenced by cyclicFaPatch::initGeometry().

Here is the caller graph for this function:

◆ calcGeometry()

virtual void calcGeometry ( PstreamBuffers )
inlineprotectedvirtual

Calculate the patch geometry.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 127 of file faPatch.H.

◆ initMovePoints()

virtual void initMovePoints ( PstreamBuffers ,
const pointField  
)
inlineprotectedvirtual

Initialise the patches for moving points.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 131 of file faPatch.H.

◆ movePoints()

void movePoints ( PstreamBuffers ,
const pointField  
)
protectedvirtual

Correct patch after moving points.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 534 of file faPatch.C.

◆ initUpdateMesh()

virtual void initUpdateMesh ( PstreamBuffers )
inlineprotectedvirtual

Initialise the update of the patch topology.

Reimplemented in processorFaPatch.

Definition at line 138 of file faPatch.H.

Referenced by processorFaPatch::initUpdateMesh().

Here is the caller graph for this function:

◆ updateMesh()

virtual void updateMesh ( PstreamBuffers )
inlineprotectedvirtual

Update of the patch topology.

Reimplemented in processorFaPatch.

Definition at line 142 of file faPatch.H.

◆ TypeName()

TypeName ( "patch"  )

Runtime type information.

◆ declareRunTimeSelectionTable()

declareRunTimeSelectionTable ( autoPtr  ,
faPatch  ,
dictionary  ,
(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm, const word &patchType)  ,
(name, dict, index, bm, patchType)   
)

◆ clone() [1/2]

virtual autoPtr< faPatch > clone ( const faBoundaryMesh bm) const
inlinevirtual

Construct and return a clone, resetting the boundary mesh.

Reimplemented in emptyFaPatch, and symmetryFaPatch.

Definition at line 211 of file faPatch.H.

References Time::New().

Here is the call graph for this function:

◆ clone() [2/2]

virtual autoPtr< faPatch > clone ( const faBoundaryMesh bm,
const labelUList edgeLabels,
const label  index,
const label  nbrPolyPatchi 
) const
inlinevirtual

Construct and return a clone, resetting the edge list and boundary mesh

Reimplemented in symmetryFaPatch, and emptyFaPatch.

Definition at line 218 of file faPatch.H.

References faPatch::edgeLabels(), patchIdentifier::index(), and Time::New().

Here is the call graph for this function:

◆ New() [1/2]

Foam::autoPtr< Foam::faPatch > New ( const word name,
const dictionary dict,
const label  index,
const faBoundaryMesh bm 
)
static

Return pointer to a new patch created on freestore from dictionary.

Definition at line 34 of file faPatchNew.C.

References dict, dictionary::get(), patchIdentifier::index(), patchIdentifier::name(), and Time::New().

Here is the call graph for this function:

◆ New() [2/2]

Foam::autoPtr< Foam::faPatch > New ( const word patchType,
const word name,
const dictionary dict,
const label  index,
const faBoundaryMesh bm 
)
static

Return pointer to a new patch created on freestore from dictionary.

Definition at line 49 of file faPatchNew.C.

References DebugInFunction, dict, Foam::endl(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInLookup, and Foam::name().

Here is the call graph for this function:

◆ constraintType()

bool constraintType ( const word pt)
static

Return true if the given type is a constraint type.

Definition at line 53 of file faPatch.C.

References cyclicACMIPointPatch::constraintType().

Referenced by faPatch::faPatch().

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

◆ constraintTypes()

Foam::wordList constraintTypes ( )
static

Return a list of all the constraint patch types.

Definition at line 62 of file faPatch.C.

References forAllConstIters, and List< T >::resize().

Here is the call graph for this function:

◆ edgeLabels()

const labelList & edgeLabels ( ) const
inlinenoexcept

Return the list of edges.

Definition at line 275 of file faPatch.H.

Referenced by faPatchData::assign(), symmetryFaPatch::clone(), faPatch::clone(), and faMeshDistributor::distribute().

Here is the caller graph for this function:

◆ nPoints()

label nPoints ( ) const
inline

Number of patch points.

Definition at line 281 of file faPatch.H.

References faPatch::pointLabels(), and UList< T >::size().

Here is the call graph for this function:

◆ nEdges()

label nEdges ( ) const
inlinenoexcept

Number of edge labels (boundary edges) addressed by this patch.

Definition at line 287 of file faPatch.H.

References interfaceDefinitions::size().

Here is the call graph for this function:

◆ ngbPolyPatchIndex()

label ngbPolyPatchIndex ( ) const
inlinenoexcept

The neighbour polyPatch index.

Definition at line 293 of file faPatch.H.

Referenced by faPatchData::assign(), symmetryFaPatch::symmetryFaPatch(), and wedgeFaPatch::wedgeFaPatch().

Here is the caller graph for this function:

◆ boundaryMesh()

const Foam::faBoundaryMesh & boundaryMesh ( ) const
noexcept

Return boundaryMesh reference.

Definition at line 191 of file faPatch.C.

Referenced by faPatch::lookupPatchField().

Here is the caller graph for this function:

◆ coupled()

virtual bool coupled ( ) const
inlinevirtual

Return true if this patch is coupled.

Reimplemented in coupledFaPatch, and processorFaPatch.

Definition at line 302 of file faPatch.H.

◆ start()

Foam::label start ( ) const

Patch start in edge list.

Definition at line 197 of file faPatch.C.

References boundaryMesh::mesh().

Referenced by faPatch::patchSlice(), and faPatch::whichEdge().

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

◆ size()

virtual label size ( ) const
inlinevirtual

Patch size is the number of edge labels.

Reimplemented in emptyFaPatch.

Definition at line 311 of file faPatch.H.

References interfaceDefinitions::size().

Referenced by faMeshDecomposition::decomposeMesh(), processorFaPatch::interfaceSize(), faPatch::patchSlice(), faPatchMapper::size(), and emptyFaPatchField< Type >::updateCoeffs().

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

◆ whichEdge()

label whichEdge ( const label  l) const
inline

Return label of edge in patch from global edge label.

Definition at line 317 of file faPatch.H.

References faPatch::start().

Here is the call graph for this function:

◆ patchSlice()

List< T >::subList patchSlice ( const List< T > &  l) const
inline

Slice list to patch.

Definition at line 324 of file faPatch.H.

References faPatch::size(), and faPatch::start().

Referenced by faFieldDecomposer::reset().

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

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented in processorFaPatch.

Definition at line 552 of file faPatch.C.

References os(), Foam::type(), ObukhovLength::write(), Ostream::writeEntry(), and UList< T >::writeEntry().

Here is the call graph for this function:

◆ boundaryConnections()

Foam::List< Foam::labelPair > boundaryConnections ( ) const

List of proc/face for the boundary edge neighbours in locally reordered edge numbering.

Definition at line 203 of file faPatch.C.

References boundaryMesh::mesh(), nEdges(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), and Foam::output().

Here is the call graph for this function:

◆ boundaryProcs()

Foam::labelList boundaryProcs ( ) const

Boundary edge neighbour processors (does not include own proc)

Definition at line 223 of file faPatch.C.

References HashTable< T, Key, Hash >::erase(), HashSet< Key, Hash >::insert(), boundaryMesh::mesh(), processorFaPatch::myProcNo(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), PstreamBuffers::nProcs(), and HashTable< T, Key, Hash >::sortedToc().

Here is the call graph for this function:

◆ boundaryProcSizes()

Foam::List< Foam::labelPair > boundaryProcSizes ( ) const

List of proc/size for the boundary edge neighbour processors (does not include own proc)

Definition at line 243 of file faPatch.C.

References HashTable< T, Key, Hash >::erase(), boundaryMesh::mesh(), processorFaPatch::myProcNo(), PrimitivePatch< FaceList, PointField >::nInternalEdges(), PstreamBuffers::nProcs(), Foam::output(), HashTable< T, Key, Hash >::size(), and HashTable< T, Key, Hash >::sortedToc().

Here is the call graph for this function:

◆ pointLabels()

const Foam::labelList & pointLabels ( ) const

Return patch point labels.

Definition at line 273 of file faPatch.C.

Referenced by faPatch::nPoints(), and faGlobalMeshData::updateMesh().

Here is the caller graph for this function:

◆ pointEdges()

const Foam::labelListList & pointEdges ( ) const

Return patch point-edge addressing.

Definition at line 284 of file faPatch.C.

◆ ngbPolyPatchFaceNormals()

Foam::tmp< Foam::vectorField > ngbPolyPatchFaceNormals ( ) const

Return normals of neighbour polyPatch faces.

Same as faMesh::haloFaceNormals()

Definition at line 383 of file faPatch.C.

References boundaryMesh::mesh(), and Time::New().

Here is the call graph for this function:

◆ ngbPolyPatchPointNormals()

Foam::tmp< Foam::vectorField > ngbPolyPatchPointNormals ( ) const

Return normals of neighbour polyPatch joined points.

Definition at line 394 of file faPatch.C.

References faceNormals(), forAll, mesh, n, Time::New(), UList< T >::size(), and Foam::Zero.

Here is the call graph for this function:

◆ edgeFaces()

const Foam::labelUList & edgeFaces ( ) const

Return edge-face addressing.

Definition at line 429 of file faPatch.C.

References mesh.

Referenced by faMeshDecomposition::decomposeMesh(), coupledFaPatch::faceCells(), and faPatch::patchInternalField().

Here is the caller graph for this function:

◆ edgeCentres()

const Foam::vectorField & edgeCentres ( ) const

Return edge centres.

Definition at line 443 of file faPatch.C.

References boundaryMesh::mesh().

Here is the call graph for this function:

◆ edgeLengths()

const Foam::vectorField & edgeLengths ( ) const

Return edge length vectors.

Definition at line 449 of file faPatch.C.

References boundaryMesh::mesh().

Here is the call graph for this function:

◆ magEdgeLengths()

const Foam::scalarField & magEdgeLengths ( ) const

Return edge length magnitudes.

Definition at line 455 of file faPatch.C.

References boundaryMesh::mesh().

Here is the call graph for this function:

◆ edgeNormals()

Foam::tmp< Foam::vectorField > edgeNormals ( ) const

Return edge normals.

Definition at line 461 of file faPatch.C.

References n, and Time::New().

Here is the call graph for this function:

◆ edgeFaceCentres()

Foam::tmp< Foam::vectorField > edgeFaceCentres ( ) const

Return neighbour face centres.

Definition at line 474 of file faPatch.C.

References forAll, boundaryMesh::mesh(), and Time::New().

Here is the call graph for this function:

◆ delta()

Foam::tmp< Foam::vectorField > delta ( ) 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 cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 494 of file faPatch.C.

Referenced by cyclicFaPatch::delta(), processorFaPatch::delta(), cyclicFaPatch::makeDeltaCoeffs(), processorFaPatch::makeDeltaCoeffs(), cyclicFaPatch::makeWeights(), and processorFaPatch::makeWeights().

Here is the caller graph for this function:

◆ makeWeights()

void makeWeights ( scalarField w) const
virtual

Make patch weighting factors.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 522 of file faPatch.C.

References faPatch::makeWeights().

Referenced by faPatch::makeWeights().

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

◆ weights()

const Foam::scalarField & weights ( ) const

Return patch weighting factors.

Definition at line 528 of file faPatch.C.

References boundaryMesh::mesh().

Here is the call graph for this function:

◆ makeDeltaCoeffs()

void makeDeltaCoeffs ( scalarField dc) const
virtual

Make patch edge - neighbour face distances.

Reimplemented in cyclicFaPatch, processorFaPatch, and coupledFaPatch.

Definition at line 500 of file faPatch.C.

References delta, and faPatch::makeDeltaCoeffs().

Referenced by faPatch::makeDeltaCoeffs().

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

◆ makeCorrectionVectors()

void makeCorrectionVectors ( vectorField k) const

Definition at line 506 of file faPatch.C.

References delta, k, Foam::mag(), and faPatch::makeCorrectionVectors().

Referenced by faPatch::makeCorrectionVectors().

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

◆ deltaCoeffs()

const Foam::scalarField & deltaCoeffs ( ) const

Return patch edge - neighbour face distances.

Definition at line 516 of file faPatch.C.

References boundaryMesh::mesh().

Here is the call graph for this function:

◆ resetEdges() [1/2]

void resetEdges ( const labelUList newEdges)

Reset the list of edges (use with caution)

Definition at line 538 of file faPatch.C.

◆ resetEdges() [2/2]

void resetEdges ( labelList &&  newEdges)

Reset the list of edges (use with caution)

Definition at line 545 of file faPatch.C.

◆ patchInternalField() [1/4]

tmp< Field< Type > > patchInternalField ( const UList< Type > &  ) const

Return given internal field next to patch as patch field.

Referenced by faPatch::patchInternalField().

Here is the caller graph for this function:

◆ patchInternalField() [2/4]

tmp< Foam::Field< Type > > patchInternalField ( const UList< Type > &  f,
const labelUList edgeFaces 
) const

Return given internal field next to patch as patch field.

providing addressing

◆ patchField()

const GeometricField::Patch & patchField ( const GeometricField gf) const

Return the corresponding patchField of the named field.

Definition at line 63 of file faPatchTemplates.C.

References GeometricField< Type, PatchField, GeoMesh >::boundaryField().

Here is the call graph for this function:

◆ lookupPatchField()

const GeometricField::Patch & lookupPatchField ( const word name,
const GeometricField = nullptr,
const Type *  = nullptr 
) const

Lookup and return the patchField of the named field from the local objectRegistry.

N.B. The dummy pointer arguments are used if this function is instantiated within a templated function to avoid a bug in gcc. See inletOutletFvPatchField.C and outletInletFvPatchField.C

Definition at line 34 of file faPatchFaMeshTemplates.C.

References faPatch::boundaryMesh(), mesh, and patchIdentifier::name().

Here is the call graph for this function:

◆ patchInternalField() [3/4]

Foam::tmp< Foam::Field< Type > > patchInternalField ( const UList< Type > &  f) const

Definition at line 34 of file faPatchTemplates.C.

References faPatch::edgeFaces(), f(), and faPatch::patchInternalField().

Here is the call graph for this function:

◆ patchInternalField() [4/4]

Foam::tmp< Foam::Field< Type > > patchInternalField ( const UList< Type > &  f,
const labelUList edgeFaces 
) const

Definition at line 44 of file faPatchTemplates.C.

References f(), forAll, and Foam::New().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ faBoundaryMesh

friend class faBoundaryMesh
friend

The faPatch geometry initialisation is called by faBoundaryMesh.

Definition at line 114 of file faPatch.H.

◆ operator<<

Ostream & operator<< ( Ostream ,
const faPatch  
)
friend

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