38#ifndef Foam_coupledFvPatch_H
39#define Foam_coupledFvPatch_H
102 return coupledPolyPatch_.coupled();
commsTypes
Communications types.
virtual bool parallel() const =0
Are the cyclic planes parallel.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, labelUList &iF, const labelUList &faceCell) const
Initialise neighbour field transfer using faceCells map.
virtual bool coupled() const
Return true because this patch is coupled.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, labelUList &iF) const
Initialise neighbour field transfer.
virtual void makeWeights(scalarField &) const =0
Make patch weighting factors.
virtual const labelUList & faceCells() const
Return faceCell addressing.
coupledFvPatch(const polyPatch &patch, const fvBoundaryMesh &bm)
Construct from polyPatch.
virtual const tensorField & forwardT() const =0
Return face transformation tensor.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const =0
Return neighbour field.
friend class surfaceInterpolation
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData) const =0
Return the values of the given internal data adjacent to the interface as a field.
TypeNameNoDebug(coupledPolyPatch::typeName_())
Runtime type information.
virtual ~coupledFvPatch()=default
Destructor.
virtual tmp< vectorField > delta() const =0
Return delta (P to N) vectors across coupled patch.
virtual const tensorField & reverseT() const =0
Return neighbour-cell transformation tensor.
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData, const labelUList &faceCell) const =0
Return the values of the given internal data adjacent to the interface as a field using a mapping fac...
The coupledPolyPatch is an abstract base class for patches that couple regions of the computational d...
const polyPatch & patch() const noexcept
Return the polyPatch.
friend class fvBoundaryMesh
virtual const labelUList & faceCells() const
Return faceCells.
virtual void initInternalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &iF) const
Initialise transfer of internal field adjacent to the interface.
lduInterface() noexcept=default
Default construct.
A patch is a list of labels that address the faces in the global face list.
A class for managing temporary objects.
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
UList< label > labelUList
A UList of labels.
#define TypeNameNoDebug(TypeNameString)
Declare a ClassNameNoDebug() with extra virtual type info.