cyclicFaPatch Class Reference

Cyclic-plane patch. More...

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

Public Member Functions

 TypeName ("cyclic")
 Runtime type information. More...
 
 cyclicFaPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
 Construct from dictionary. More...
 
virtual ~cyclicFaPatch ()=default
 Destructor. More...
 
virtual bool master () const
 Is this the master side? Yes: it contains both sets of faces. More...
 
virtual label neighbPatchID () const
 Return neighbour. More...
 
virtual bool owner () const
 
virtual const cyclicLduInterfaceneighbPatch () const
 Return processor number. More...
 
virtual const tensorFieldforwardT () const
 Return face transformation tensor. More...
 
virtual const tensorFieldreverseT () const
 Return neighbour-cell transformation tensor. More...
 
virtual void initGeometry ()
 Initialise the calculation of the patch geometry. More...
 
virtual void calcGeometry ()
 Calculate the patch geometry. More...
 
virtual void initMovePoints (const pointField &)
 Initialise the patches for moving points. More...
 
virtual void movePoints (const pointField &)
 Correct patches after moving points. More...
 
virtual tmp< vectorFielddelta () const
 Return delta (P to N) vectors across coupled patch. More...
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData, const labelUList &edgeFaces) const
 
virtual tmp< labelFieldtransfer (const Pstream::commsTypes commsType, const labelUList &interfaceData) const
 Transfer and return neighbour field. More...
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const
 Return neighbour field. More...
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData, const labelUList &edgeCells) const
 Return neighbour field using edgeCells mapping. More...
 
- Public Member Functions inherited from coupledFaPatch
 TypeName ("coupled")
 Runtime type information. More...
 
 coupledFaPatch (const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex)
 Construct from components. More...
 
 coupledFaPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
 Construct from dictionary. More...
 
virtual ~coupledFaPatch ()=default
 Destructor. More...
 
virtual bool coupled () const
 Return true because this patch is coupled. More...
 
bool separated () const
 Are the coupled planes separated. More...
 
const vectorFieldseparation () const
 Return the offset (distance) vector from one side of the couple. More...
 
const tensorFieldforwardT () const
 Return face transformation tensor. More...
 
const tensorFieldreverseT () const
 Return neighbour-cell transformation tensor. More...
 
bool parallel () const
 Are the cyclic planes parallel. More...
 
virtual const labelUListfaceCells () const
 Return faceCell addressing: lduInterface virtual function. More...
 
virtual void initTransfer (const Pstream::commsTypes commsType, const labelUList &interfaceData) const
 Initialise interface data transfer. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise neighbour field transfer. More...
 
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information. More...
 
 lduInterface ()=default
 Construct null. More...
 
virtual ~lduInterface ()=default
 Destructor. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const
 
- Public Member Functions inherited from faPatch
 TypeName ("patch")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, faPatch, dictionary,(const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm),(name, dict, index, bm))
 
 faPatch (const word &name, const labelList &edgeLabels, const label index, const faBoundaryMesh &bm, const label ngbPolyPatchIndex)
 Construct from components. More...
 
 faPatch (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
 Construct from dictionary. More...
 
 faPatch (const faPatch &, const faBoundaryMesh &)
 Construct as copy, resetting the boundary mesh. More...
 
virtual autoPtr< faPatchclone (const faBoundaryMesh &bm, const labelList &edgeLabels, const label index, const label ngbPolyPatchIndex) const
 
virtual ~faPatch ()
 Destructor. More...
 
const labelListedgeLabels () const noexcept
 Return the list of edges. More...
 
void edgeLabels (const UList< label > &newEdgeLabels)
 Define new 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...
 
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...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
void makeCorrectionVectors (vectorField &) const
 
const scalarFielddeltaCoeffs () const
 Return patch edge - neighbour face distances. More...
 
void resetEdges (const UList< label > &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< T >
constexpr List () noexcept
 Default construct. More...
 
 List (const label len)
 Construct with given size. More...
 
 List (const label len, const T &val)
 Construct with given size and value for all elements. More...
 
 List (const label len, const Foam::zero)
 Construct with given size initializing all elements to zero. More...
 
 List (const Foam::one, const T &val)
 Construct with length=1, copying the value as the only content. More...
 
 List (const Foam::one, T &&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< T > &a)
 Copy construct from list. More...
 
 List (const UList< T > &a)
 Copy construct contents from list. More...
 
 List (List< T > &a, bool reuse)
 Construct as copy or re-use as specified. More...
 
 List (const UList< T > &list, const labelUList &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const UList< T > &list, const FixedList< label, N > &indices)
 Copy construct subset of list. More...
 
template<unsigned N>
 List (const FixedList< T, N > &list)
 Construct as copy of FixedList<T, N> More...
 
 List (const PtrList< T > &list)
 Construct as copy of PtrList<T> More...
 
 List (const SLList< T > &list)
 Construct as copy of SLList<T> More...
 
template<class Addr >
 List (const IndirectListBase< T, Addr > &list)
 Construct as copy of IndirectList contents. More...
 
 List (std::initializer_list< T > list)
 Construct from an initializer list. More...
 
 List (List< T > &&list)
 Move construct from List. More...
 
template<int SizeMin>
 List (DynamicList< T, SizeMin > &&list)
 Move construct from DynamicList. More...
 
 List (SortableList< T > &&list)
 Move construct from SortableList. More...
 
 List (SLList< T > &&list)
 Move construct from SLList. More...
 
 List (Istream &is)
 Construct from Istream. More...
 
autoPtr< List< T > > clone () const
 Clone. More...
 
 ~List ()
 Destructor. More...
 
void 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 T &val)
 Adjust allocated size of list and set val for new elements. More...
 
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 T &val)
 Alias for resize() More...
 
void append (const T &val)
 Append an element at the end of the list. More...
 
void append (T &&val)
 Move append an element at the end of the list. More...
 
void append (const UList< T > &list)
 Append a List to the end of this list. More...
 
template<class Addr >
void append (const IndirectListBase< T, Addr > &list)
 Append IndirectList contents at the end of this list. More...
 
label appendUniq (const T &val)
 Append an element if not already in the list. More...
 
void transfer (List< T > &list)
 
template<int SizeMin>
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 Assignment to UList operator. Takes linear time. More...
 
void operator= (const List< T > &list)
 Assignment operator. Takes linear time. More...
 
void operator= (const SLList< T > &list)
 Assignment to SLList operator. Takes linear time. More...
 
template<class Addr >
void operator= (const IndirectListBase< T, Addr > &list)
 Assignment from IndirectList. Takes linear time. More...
 
template<unsigned N>
void operator= (const FixedList< T, N > &list)
 Copy assignment from FixedList. More...
 
void operator= (std::initializer_list< T > list)
 Assignment to an initializer list. More...
 
void operator= (const T &val)
 Assignment of all entries to the given value. More...
 
void operator= (const Foam::zero)
 Assignment of all entries to zero. More...
 
void operator= (List< T > &&list)
 Move assignment. Takes constant time. More...
 
template<int SizeMin>
void operator= (DynamicList< T, SizeMin > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SortableList< T > &&list)
 Move assignment. Takes constant time. More...
 
void operator= (SLList< T > &&list)
 Move assignment. Takes constant time. More...
 
IstreamreadList (Istream &is)
 Read List from Istream, discarding contents of existing List. More...
 
void shallowCopy (const UList< T > &)=delete
 No shallowCopy permitted. More...
 
template<class TypeT = T>
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 A bitSet::set() method for a list of bool. More...
 
template<>
IstreamreadList (Istream &is)
 
template<>
void resize (const label newLen)
 
template<>
IstreamreadList (Istream &is)
 
- Public Member Functions inherited from cyclicLduInterface
 TypeName ("cyclicLduInterface")
 Runtime type information. More...
 
 cyclicLduInterface ()=default
 Construct null. More...
 
virtual ~cyclicLduInterface ()=default
 Destructor. More...
 

Protected Member Functions

void makeWeights (scalarField &) const
 Make patch weighting factors. More...
 
void makeDeltaCoeffs (scalarField &) const
 Make patch face - neighbour cell distances. More...
 
- Protected Member Functions inherited from coupledFaPatch
void calcTransformTensors (const vector &Cf, const vector &Cr, const vector &nf, const vector &nr) const
 Calculate the uniform transformation tensors. More...
 
void calcTransformTensors (const vectorField &Cf, const vectorField &Cr, const vectorField &nf, const vectorField &nr) const
 Calculate the transformation tensors. More...
 
- Protected Member Functions inherited from faPatch
void calcPointLabels () const
 Calculate patch point labels. More...
 
void calcPointEdges () const
 Calculate patch point-edge addressing. More...
 
virtual void initUpdateMesh ()
 Initialise the update of the patch topology. More...
 
virtual void updateMesh ()
 Update of the patch topology. More...
 

Static Protected Attributes

static const scalar matchTol_ = 1e-3
 Relative tolerance (for geometric matching). Is factor of. More...
 

Additional Inherited Members

- Public Types inherited from faPatch
typedef faBoundaryMesh BoundaryMesh
 
- Public Types inherited from List< T >
typedef SubList< TsubList
 Declare type of subList. More...
 
- Static Public Member Functions inherited from faPatch
static autoPtr< faPatchNew (const word &name, const dictionary &dict, const label index, const faBoundaryMesh &bm)
 
- 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< T >
static const List< T > & null ()
 Return a null List. More...
 

Detailed Description

Cyclic-plane patch.

Author Zeljko Tukovic, FMENA Hrvoje Jasak, Wikki Ltd.

Source files

Definition at line 57 of file cyclicFaPatch.H.

Constructor & Destructor Documentation

◆ cyclicFaPatch()

cyclicFaPatch ( const word name,
const dictionary dict,
const label  index,
const faBoundaryMesh bm 
)
inline

Construct from dictionary.

Definition at line 94 of file cyclicFaPatch.H.

◆ ~cyclicFaPatch()

virtual ~cyclicFaPatch ( )
virtualdefault

Destructor.

Member Function Documentation

◆ makeWeights()

void makeWeights ( scalarField w) const
protectedvirtual

Make patch weighting factors.

Implements coupledFaPatch.

Definition at line 152 of file cyclicFaPatch.C.

References Foam::abort(), faPatch::delta(), Foam::FatalError, FatalErrorInFunction, Foam::mag(), Foam::max(), Foam::name(), and Foam::nl.

Here is the call graph for this function:

◆ makeDeltaCoeffs()

void makeDeltaCoeffs ( scalarField dc) const
protectedvirtual

Make patch face - neighbour cell distances.

Implements coupledFaPatch.

Definition at line 207 of file cyclicFaPatch.C.

References faPatch::delta().

Here is the call graph for this function:

◆ TypeName()

TypeName ( "cyclic"  )

Runtime type information.

◆ master()

virtual bool master ( ) const
inlinevirtual

Is this the master side? Yes: it contains both sets of faces.

Definition at line 114 of file cyclicFaPatch.H.

Referenced by cyclicFaPatch::owner().

Here is the caller graph for this function:

◆ neighbPatchID()

virtual label neighbPatchID ( ) const
inlinevirtual

Return neighbour.

Implements cyclicLduInterface.

Definition at line 120 of file cyclicFaPatch.H.

References patchIdentifier::index(), and NotImplemented.

Here is the call graph for this function:

◆ owner()

virtual bool owner ( ) const
inlinevirtual

Implements cyclicLduInterface.

Definition at line 126 of file cyclicFaPatch.H.

References cyclicFaPatch::master().

Here is the call graph for this function:

◆ neighbPatch()

virtual const cyclicLduInterface& neighbPatch ( ) const
inlinevirtual

Return processor number.

Implements cyclicLduInterface.

Definition at line 132 of file cyclicFaPatch.H.

References NotImplemented.

◆ forwardT()

virtual const tensorField& forwardT ( ) const
inlinevirtual

Return face transformation tensor.

Implements cyclicLduInterface.

Definition at line 139 of file cyclicFaPatch.H.

References coupledFaPatch::forwardT().

Referenced by cyclicFaPatchField< Type >::forwardT().

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

◆ reverseT()

virtual const tensorField& reverseT ( ) const
inlinevirtual

Return neighbour-cell transformation tensor.

Implements cyclicLduInterface.

Definition at line 145 of file cyclicFaPatch.H.

References coupledFaPatch::reverseT().

Referenced by cyclicFaPatchField< Type >::reverseT().

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

◆ initGeometry()

void initGeometry ( )
virtual

Initialise the calculation of the patch geometry.

Implements coupledFaPatch.

Definition at line 223 of file cyclicFaPatch.C.

References faPatch::initGeometry().

Here is the call graph for this function:

◆ calcGeometry()

void calcGeometry ( )
virtual

Calculate the patch geometry.

Implements coupledFaPatch.

Definition at line 229 of file cyclicFaPatch.C.

References faPatch::calcGeometry().

Here is the call graph for this function:

◆ initMovePoints()

void initMovePoints ( const pointField p)
virtual

Initialise the patches for moving points.

Implements coupledFaPatch.

Definition at line 236 of file cyclicFaPatch.C.

References faPatch::initMovePoints(), and p.

Here is the call graph for this function:

◆ movePoints()

void movePoints ( const pointField p)
virtual

Correct patches after moving points.

Implements coupledFaPatch.

Definition at line 242 of file cyclicFaPatch.C.

References faPatch::movePoints(), and p.

Here is the call graph for this function:

◆ delta()

Foam::tmp< Foam::vectorField > delta ( ) const
virtual

Return delta (P to N) vectors across coupled patch.

Implements coupledFaPatch.

Definition at line 249 of file cyclicFaPatch.C.

References faPatch::delta(), tmp< T >::New(), and Foam::transform().

Here is the call graph for this function:

◆ interfaceInternalField() [1/2]

Foam::tmp< Foam::labelField > interfaceInternalField ( const labelUList internalData) const
virtual

Return the values of the given internal data adjacent to the interface as a field

Implements coupledFaPatch.

Definition at line 286 of file cyclicFaPatch.C.

◆ interfaceInternalField() [2/2]

Foam::tmp< Foam::labelField > interfaceInternalField ( const labelUList internalData,
const labelUList edgeFaces 
) const
virtual

Return the values of the given internal data adjacent to the interface as a field using edgeFace mapping

Implements lduInterface.

Definition at line 295 of file cyclicFaPatch.C.

◆ transfer()

Foam::tmp< Foam::labelField > transfer ( const Pstream::commsTypes  commsType,
const labelUList interfaceData 
) const
virtual

Transfer and return neighbour field.

Implements coupledFaPatch.

Definition at line 305 of file cyclicFaPatch.C.

References tmp< T >::New().

Here is the call graph for this function:

◆ internalFieldTransfer() [1/2]

Foam::tmp< Foam::labelField > internalFieldTransfer ( const Pstream::commsTypes  commsType,
const labelUList internalData 
) const
virtual

Return neighbour field.

Implements coupledFaPatch.

Definition at line 326 of file cyclicFaPatch.C.

◆ internalFieldTransfer() [2/2]

Foam::tmp< Foam::labelField > internalFieldTransfer ( const Pstream::commsTypes  commsType,
const labelUList internalData,
const labelUList edgeCells 
) const
virtual

Return neighbour field using edgeCells mapping.

Definition at line 336 of file cyclicFaPatch.C.

References tmp< T >::New().

Here is the call graph for this function:

Member Data Documentation

◆ matchTol_

const Foam::scalar matchTol_ = 1e-3
staticprotected

Relative tolerance (for geometric matching). Is factor of.

maximum edge length per face.

Definition at line 72 of file cyclicFaPatch.H.


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