An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links. More...
Public Member Functions | |
TypeNameNoDebug (coupledPolyPatch::typeName_()) | |
Runtime type information. More... | |
coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
Construct from polyPatch. More... | |
virtual | ~coupledFvPatch ()=default |
Destructor. More... | |
virtual bool | coupled () const |
Return true because this patch is coupled. More... | |
virtual bool | parallel () const =0 |
Are the cyclic planes parallel. More... | |
virtual const tensorField & | forwardT () const =0 |
Return face transformation tensor. More... | |
virtual const tensorField & | reverseT () const =0 |
Return neighbour-cell transformation tensor. More... | |
virtual const labelUList & | faceCells () const |
Return faceCell addressing. More... | |
virtual tmp< vectorField > | delta () const =0 |
Return delta (P to N) vectors across coupled patch. More... | |
virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData) const =0 |
Return the values of the given internal data adjacent to the interface as a field. More... | |
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 faceCell. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, labelUList &iF) const |
Initialise neighbour field transfer. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, labelUList &iF, const labelUList &faceCell) const |
Initialise neighbour field transfer using faceCells map. More... | |
virtual tmp< labelField > | internalFieldTransfer (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... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const |
Inherit initInternalFieldTransfer from lduInterface. More... | |
Public Member Functions inherited from lduInterface | |
TypeNameNoDebug ("lduInterface") | |
Runtime type information. More... | |
lduInterface () noexcept=default | |
Default construct. More... | |
virtual | ~lduInterface ()=default |
Destructor. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const |
Initialise transfer of internal field adjacent to the interface. More... | |
virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const |
Initialise transfer of internal field adjacent to the interface using faceCells mapping. More... | |
Public Member Functions inherited from fvPatch | |
virtual void | makeDeltaCoeffs (scalarField &) const |
Correct patch deltaCoeffs. More... | |
virtual void | makeNonOrthoDeltaCoeffs (scalarField &) const |
Correct patch non-ortho deltaCoeffs. More... | |
virtual void | makeNonOrthoCorrVectors (vectorField &) const |
Correct patch non-ortho correction vectors. More... | |
virtual void | initMovePoints () |
Initialise the patches for moving points. More... | |
virtual void | movePoints () |
Correct patches after moving points. More... | |
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... | |
virtual | ~fvPatch () |
Destructor. More... | |
const polyPatch & | patch () const noexcept |
Return the polyPatch. More... | |
virtual const word & | name () const |
Return name. More... | |
label | index () const noexcept |
The index of this patch in the boundary mesh. More... | |
label | start () const noexcept |
The patch start within the polyMesh face list. More... | |
virtual label | size () const |
Patch size is the number of faces, but can be overloaded. More... | |
const fvBoundaryMesh & | boundaryMesh () const noexcept |
Return boundaryMesh reference. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const List< T > &values) const |
This patch slice from the complete list, which has size mesh::nFaces(), using the virtual patch size. More... | |
template<class T > | |
const List< T >::subList | boundarySlice (const List< T > &values) const |
This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the virtual patch size. More... | |
const vectorField & | Cf () const |
Return face centres. More... | |
tmp< vectorField > | Cn () const |
Return neighbour cell centres. More... | |
const vectorField & | Sf () const |
Return face area vectors, like the fvMesh::Sf() method. More... | |
const scalarField & | magSf () const |
Return face area magnitudes, like the fvMesh::magSf() method. More... | |
tmp< vectorField > | unitSf () const |
Return face unit normals, like the fvMesh::unitSf() method. Same as nf(). More... | |
tmp< vectorField > | nf () const |
Return face unit normals, like the fvMesh::unitSf() method Same as unitSf(). More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
const scalarField & | deltaCoeffs () const |
Return the face - cell distance coefficient except for coupled patches for which the cell-centre to coupled-cell-centre distance coefficient is returned. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, const labelUList &addressing, Field< Type > &pfld) const |
Extract internal field next to patch using specified addressing. More... | |
template<class Type > | |
void | patchInternalField (const UList< Type > &internalData, Field< Type > &pfld) const |
Extract internal field next to patch as patch field using faceCells() mapping. More... | |
template<class Type > | |
tmp< Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
Return given internal field next to patch as patch field using faceCells() mapping. 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 > &internalData) const |
Protected Member Functions | |
virtual void | makeWeights (scalarField &) const =0 |
Make patch weighting factors. More... | |
Friends | |
class | surfaceInterpolation |
Additional Inherited Members | |
Public Types inherited from fvPatch | |
typedef fvBoundaryMesh | BoundaryMesh |
The boundary type associated with the patch. More... | |
Static Public Member Functions inherited from fvPatch | |
static autoPtr< fvPatch > | New (const polyPatch &, const fvBoundaryMesh &) |
Return a pointer to a new patch created on freestore from polyPatch. More... | |
static const fvPatch & | lookupPatch (const polyPatch &p) |
Lookup the polyPatch index on corresponding fvMesh. 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... | |
An abstract base class for patches that couple regions of the computational domain e.g. cyclic and processor-processor links.
Definition at line 49 of file coupledFvPatch.H.
|
inline |
Construct from polyPatch.
Definition at line 85 of file coupledFvPatch.H.
|
virtualdefault |
Destructor.
|
protectedpure virtual |
Make patch weighting factors.
Reimplemented from fvPatch.
Implemented in cyclicACMIFvPatch, cyclicFvPatch, cyclicAMIFvPatch, and processorFvPatch.
TypeNameNoDebug | ( | coupledPolyPatch::typeName_() | ) |
Runtime type information.
|
inlinevirtual |
Return true because this patch is coupled.
Reimplemented from fvPatch.
Reimplemented in cyclicAMIFvPatch, cyclicACMIFvPatch, and processorFvPatch.
Definition at line 105 of file coupledFvPatch.H.
References coupledPolyPatch::coupled().
|
pure virtual |
Are the cyclic planes parallel.
Implemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, cyclicFvPatch, and processorCyclicFvPatch.
|
pure virtual |
Return face transformation tensor.
Implemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, cyclicFvPatch, and processorCyclicFvPatch.
|
pure virtual |
Return neighbour-cell transformation tensor.
Implemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, cyclicFvPatch, and processorCyclicFvPatch.
|
inlinevirtual |
Return faceCell addressing.
Reimplemented from fvPatch.
Definition at line 128 of file coupledFvPatch.H.
References fvPatch::faceCells().
Referenced by cyclicACMIFvPatchField< Type >::initEvaluate(), and cyclicAMIFvPatchField< scalar >::initEvaluate().
|
pure virtual |
Return delta (P to N) vectors across coupled patch.
Reimplemented from fvPatch.
Implemented in cyclicAMIFvPatch, cyclicACMIFvPatch, processorFvPatch, and cyclicFvPatch.
Definition at line 33 of file coupledFvPatch.C.
References fvPatch::Cf(), and fvPatch::Cn().
Referenced by cyclicFvPatch::delta(), processorFvPatch::delta(), cyclicACMIFvPatch::delta(), cyclicAMIFvPatch::delta(), processorFvPatch::makeWeights(), cyclicFvPatch::makeWeights(), cyclicAMIFvPatch::makeWeights(), and cyclicACMIFvPatch::makeWeights().
|
pure virtual |
Return the values of the given internal data adjacent to the interface as a field.
Implements lduInterface.
Implemented in cyclicACMIFvPatch, cyclicAMIFvPatch, processorFvPatch, and cyclicFvPatch.
|
pure virtual |
Return the values of the given internal data adjacent to the interface as a field using a mapping faceCell.
Implements lduInterface.
Implemented in cyclicACMIFvPatch, cyclicAMIFvPatch, cyclicFvPatch, and processorFvPatch.
|
inlinevirtual |
Initialise neighbour field transfer.
Definition at line 170 of file coupledFvPatch.H.
|
inlinevirtual |
Initialise neighbour field transfer using faceCells map.
Definition at line 180 of file coupledFvPatch.H.
|
pure virtual |
Return neighbour field.
Implements lduInterface.
Implemented in cyclicACMIFvPatch, cyclicAMIFvPatch, processorFvPatch, and cyclicFvPatch.
|
inline |
Inherit initInternalFieldTransfer from lduInterface.
Definition at line 113 of file lduInterface.H.
|
inline |
Inherit initInternalFieldTransfer from lduInterface.
Definition at line 124 of file lduInterface.H.
|
friend |
Definition at line 71 of file coupledFvPatch.H.