coupledFvPatch Class Referenceabstract

An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links. More...

Inheritance diagram for coupledFvPatch:
Collaboration diagram for coupledFvPatch:

Public Member Functions

 TypeName (coupledPolyPatch::typeName_())
 Runtime type information. More...
 
 coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch. More...
 
virtual ~coupledFvPatch ()
 Destructor. More...
 
virtual bool coupled () const
 Return true because this patch is coupled. More...
 
virtual bool owner () const
 Does this side own the patch ? More...
 
virtual bool neighbour () const
 Does the coupled side own the patch ? More...
 
virtual const transformertransform () const =0
 Return transformation between the coupled patches. More...
 
virtual const labelUListfaceCells () const
 Return faceCell addressing. More...
 
virtual void makeWeights (scalarField &w) const =0
 Make patch weighting factors. More...
 
virtual tmp< vectorFielddelta () const =0
 Return delta (P to N) vectors across coupled patch. More...
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const =0
 Return the values of the given internal data adjacent to. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, labelUList &iF) const
 Initialise neighbour field transfer. More...
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const =0
 Return neighbour field. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Inherit initInternalFieldTransfer from lduInterface. More...
 
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information. More...
 
 lduInterface ()
 Construct null. More...
 
 lduInterface (const lduInterface &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~lduInterface ()
 Destructor. More...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const
 Initialise transfer of internal field adjacent to the interface. More...
 
void operator= (const lduInterface &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from fvPatch
 TypeName (polyPatch::typeName_())
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm))
 
 fvPatch (const polyPatch &, const fvBoundaryMesh &)
 Construct from polyPatch and fvBoundaryMesh. More...
 
 fvPatch (const fvPatch &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvPatch ()
 Destructor. More...
 
const polyPatchpatch () const
 Return the polyPatch. More...
 
virtual const wordname () const
 Return name. More...
 
virtual label start () const
 Return start label of this patch in the polyMesh face list. More...
 
virtual label size () const
 Return size. More...
 
label index () const
 Return the index of this patch in the fvBoundaryMesh. More...
 
const fvBoundaryMeshboundaryMesh () const
 Return boundaryMesh reference. More...
 
const objectRegistrydb () const
 Return the local object registry. More...
 
template<class T >
const List< T >::subList patchSlice (const List< T > &l) const
 Slice list to patch. More...
 
const vectorFieldCf () const
 Return face centres. More...
 
tmp< vectorFieldCn () const
 Return neighbour cell centres. More...
 
const vectorFieldSf () const
 Return face area vectors. More...
 
const scalarFieldmagSf () const
 Return face area magnitudes. More...
 
tmp< vectorFieldnf () const
 Return face normals. More...
 
tmp< scalarFieldpolyFaceFraction () const
 Return the fraction of the poly-face that each fv-face in this. More...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
virtual const scalarFielddeltaCoeffs () const
 Return the face - cell distance coefficient. 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 >
void patchInternalField (const UList< Type > &, Field< Type > &) 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 >
GeometricField::PatchpatchField (GeometricField &) const
 Return the corresponding patchField reference of the named field. More...
 
template<class GeometricField , class Type >
const GeometricField::PatchlookupPatchField (const word &name) const
 Lookup and return the patchField of the named field from the. More...
 
void operator= (const fvPatch &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
Foam::tmp< Foam::Field< Type > > patchInternalField (const UList< Type > &f) const
 

Protected Member Functions

void makeWeights (scalarField &w, const vectorField &nbrSf, const vectorField &nbrDelta) const
 Make patch weighting factors. More...
 
tmp< vectorFielddelta (const vectorField &nbrDelta) const
 Return delta (P to N) vectors across coupled patch. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from fvPatch
static autoPtr< fvPatchNew (const polyPatch &, const fvBoundaryMesh &)
 Return a pointer to a new patch created on freestore from polyPatch. 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...
 

Detailed Description

An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links.

Source files

Definition at line 51 of file coupledFvPatch.H.

Constructor & Destructor Documentation

◆ coupledFvPatch()

coupledFvPatch ( const polyPatch patch,
const fvBoundaryMesh bm 
)
inline

Construct from polyPatch.

Definition at line 87 of file coupledFvPatch.H.

◆ ~coupledFvPatch()

~coupledFvPatch ( )
virtual

Destructor.

Definition at line 38 of file coupledFvPatch.C.

Member Function Documentation

◆ makeWeights() [1/2]

void makeWeights ( scalarField w,
const vectorField nbrSf,
const vectorField nbrDelta 
) const
protected

Make patch weighting factors.

Definition at line 44 of file coupledFvPatch.C.

References coupledFvPatch::delta(), delta, forAll, and Foam::mag().

Referenced by cyclicFvPatch::makeWeights(), and processorFvPatch::makeWeights().

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

◆ delta() [1/2]

Foam::tmp< Foam::vectorField > delta ( const vectorField nbrDelta) const
protected

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

Definition at line 79 of file coupledFvPatch.C.

References coupledFvPatch::delta(), Foam::transform(), dimensionSet::transform, and transforms.

Here is the call graph for this function:

◆ TypeName()

TypeName ( coupledPolyPatch::typeName_()  )

Runtime type information.

◆ coupled()

virtual bool coupled ( ) const
inlinevirtual

Return true because this patch is coupled.

Reimplemented from fvPatch.

Reimplemented in processorFvPatch, nonConformalProcessorCyclicFvPatch, and nonConformalCyclicFvPatch.

Definition at line 103 of file coupledFvPatch.H.

References coupledPolyPatch::coupled().

Here is the call graph for this function:

◆ owner()

virtual bool owner ( ) const
inlinevirtual

Does this side own the patch ?

Reimplemented in cyclicFvPatch.

Definition at line 109 of file coupledFvPatch.H.

References coupledPolyPatch::owner().

Referenced by coupledFvPatch::neighbour().

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

◆ neighbour()

virtual bool neighbour ( ) const
inlinevirtual

Does the coupled side own the patch ?

Definition at line 115 of file coupledFvPatch.H.

References coupledFvPatch::owner().

Here is the call graph for this function:

◆ transform()

virtual const transformer& transform ( ) const
pure virtual

Return transformation between the coupled patches.

Implemented in processorCyclicFvPatch, processorFvPatch, and cyclicFvPatch.

◆ faceCells()

virtual const labelUList& faceCells ( ) const
inlinevirtual

Return faceCell addressing.

Reimplemented from fvPatch.

Reimplemented in nonConformalProcessorCyclicFvPatch, and nonConformalCyclicFvPatch.

Definition at line 124 of file coupledFvPatch.H.

References fvPatch::faceCells().

Here is the call graph for this function:

◆ makeWeights() [2/2]

virtual void makeWeights ( scalarField w) const
pure virtual

Make patch weighting factors.

Reimplemented from fvPatch.

Implemented in processorFvPatch, nonConformalProcessorCyclicFvPatch, nonConformalCyclicFvPatch, and cyclicFvPatch.

◆ delta() [2/2]

◆ interfaceInternalField()

virtual tmp<labelField> interfaceInternalField ( const labelUList internalData) const
pure virtual

Return the values of the given internal data adjacent to.

the interface as a field

Implements lduInterface.

Implemented in processorFvPatch, and cyclicFvPatch.

◆ initInternalFieldTransfer() [1/2]

virtual void initInternalFieldTransfer ( const Pstream::commsTypes  commsType,
labelUList iF 
) const
inlinevirtual

Initialise neighbour field transfer.

Definition at line 149 of file coupledFvPatch.H.

◆ internalFieldTransfer()

virtual tmp<labelField> internalFieldTransfer ( const Pstream::commsTypes  commsType,
const labelUList iF 
) const
pure virtual

Return neighbour field.

Implements lduInterface.

Implemented in processorFvPatch, and cyclicFvPatch.

◆ initInternalFieldTransfer() [2/2]

virtual void initInternalFieldTransfer
inline

Inherit initInternalFieldTransfer from lduInterface.

Definition at line 94 of file lduInterface.H.


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