Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI). More...
#include <cyclicACMIFvPatch.H>


Public Member Functions | |
| TypeName (cyclicACMIPolyPatch::typeName_()) | |
| Runtime type information. | |
| cyclicACMIFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
| Construct from polyPatch. | |
| const cyclicACMIPolyPatch & | cyclicACMIPatch () const |
| Return local reference cast into the cyclic patch. | |
| virtual label | neighbPatchID () const |
| Return neighbour. | |
| virtual bool | owner () const |
| virtual const cyclicACMIFvPatch & | neighbPatch () const |
| Return neighbour fvPatch. | |
| virtual label | nonOverlapPatchID () const |
| Return neighbour. | |
| virtual const fvPatch & | nonOverlapPatch () const |
| Return non-overlapping fvPatch. | |
| virtual const AMIPatchToPatchInterpolation & | AMI () const |
| Return a reference to the AMI interpolator. | |
| virtual bool | parallel () const |
| Are the cyclic planes parallel. | |
| virtual const tensorField & | forwardT () const |
| Return face transformation tensor. | |
| virtual const tensorField & | reverseT () const |
| Return neighbour-cell transformation tensor. | |
| const cyclicACMIFvPatch & | neighbFvPatch () const |
| virtual bool | coupled () const |
| Return true if this patch is coupled. | |
| virtual tmp< vectorField > | delta () const |
| Return delta (P to N) vectors across coupled patch. | |
| template<class Type> | |
| tmp< Field< Type > > | interpolate (const Field< Type > &fld) const |
| Interpolate (make sure to have uptodate areas). | |
| template<class Type> | |
| tmp< Field< Type > > | interpolate (const tmp< Field< Type > > &tfld) const |
| Interpolate (make sure to have up-to-date areas). | |
| template<class Type> | |
| void | initInterpolate (const Field< Type > &fld, labelRange &sendRequests, labelRange &recvRequests, PtrList< List< Type > > &sendBuffers, PtrList< List< Type > > &recvBuffers, labelRange &sendRequests1, labelRange &recvRequests1, PtrList< List< Type > > &sendBuffers1, PtrList< List< Type > > &recvBuffers1) const |
| template<class Type> | |
| tmp< Field< Type > > | interpolate (const Field< Type > &localFld, const labelRange &requests, const PtrList< List< Type > > &recvBuffers, const labelRange &requests1, const PtrList< List< Type > > &recvBuffers1) const |
| virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData) const |
| Return the values of the given internal data adjacent to the interface as a field. | |
| virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData, const labelUList &faceCells) const |
| Return the values of the given internal data adjacent to the interface as a field using a mapping faceCell. | |
| virtual tmp< labelField > | internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const |
| Return neighbour field. | |
| Public Member Functions inherited from coupledFvPatch | |
| TypeNameNoDebug (coupledPolyPatch::typeName_()) | |
| Runtime type information. | |
| coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
| Construct from polyPatch. | |
| virtual | ~coupledFvPatch ()=default |
| Destructor. | |
| virtual const labelUList & | faceCells () const |
| Return faceCell addressing. | |
| virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, labelUList &iF) const |
| Initialise neighbour field transfer. | |
| virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, labelUList &iF, const labelUList &faceCell) const |
| Initialise neighbour field transfer using faceCells map. | |
| virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF) const |
| Inherit initInternalFieldTransfer from lduInterface. | |
| virtual void | initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const |
| Inherit initInternalFieldTransfer from lduInterface. | |
| Public Member Functions inherited from lduInterface | |
| TypeNameNoDebug ("lduInterface") | |
| Runtime type information. | |
| lduInterface () noexcept=default | |
| Default construct. | |
| virtual | ~lduInterface ()=default |
| Destructor. | |
| Public Member Functions inherited from fvPatch | |
| virtual void | makeDeltaCoeffs (scalarField &) const |
| Correct patch deltaCoeffs. | |
| virtual void | makeNonOrthoDeltaCoeffs (scalarField &) const |
| Correct patch non-ortho deltaCoeffs. | |
| virtual void | makeNonOrthoCorrVectors (vectorField &) const |
| Correct patch non-ortho correction vectors. | |
| virtual void | initMovePoints () |
| Initialise the patches for moving points. | |
| TypeName (polyPatch::typeName_()) | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, fvPatch, polyPatch,(const polyPatch &patch, const fvBoundaryMesh &bm),(patch, bm)) | |
| fvPatch (const polyPatch &, const fvBoundaryMesh &) | |
| Construct from polyPatch and fvBoundaryMesh. | |
| virtual | ~fvPatch () |
| Destructor. | |
| const polyPatch & | patch () const noexcept |
| Return the polyPatch. | |
| virtual const word & | name () const |
| Return name. | |
| label | index () const noexcept |
| The index of this patch in the boundary mesh. | |
| label | start () const noexcept |
| The patch start within the polyMesh face list. | |
| label | offset () const noexcept |
| The offset of this patch within the boundary face list. | |
| virtual label | size () const |
| Patch size is the number of faces, but can be overloaded. | |
| const fvBoundaryMesh & | boundaryMesh () const noexcept |
| Return boundaryMesh reference. | |
| template<class T> | |
| const List< T >::subList | patchSlice (const UList< T > &values) const |
| This patch slice from the complete list, which has size mesh::nFaces(), using the virtual patch size. | |
| template<class T> | |
| const List< T >::subList | boundarySlice (const UList< T > &values) const |
| This patch slice from the list of boundary values, which has size mesh::nBoundaryFaces(), using the virtual patch size. | |
| const vectorField & | Cf () const |
| Return face centres. | |
| tmp< vectorField > | Cn () const |
| Return neighbour cell centres. | |
| const vectorField & | Sf () const |
| Return face area vectors, like the fvMesh::Sf() method. | |
| const scalarField & | magSf () const |
| Return face area magnitudes, like the fvMesh::magSf() method. | |
| tmp< vectorField > | unitSf () const |
| Return face unit normals, like the fvMesh::unitSf() method. Same as nf(). | |
| tmp< vectorField > | nf () const |
| Return face unit normals, like the fvMesh::unitSf() method Same as unitSf(). | |
| const scalarField & | weights () const |
| Return patch weighting factors. | |
| 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. | |
| template<class Type> | |
| void | patchInternalField (const UList< Type > &internalData, const labelUList &addressing, UList< Type > &pfld) const |
| Extract internal field next to patch using specified addressing. | |
| template<class Type> | |
| void | patchInternalField (const UList< Type > &internalData, UList< Type > &pfld) const |
| Extract internal field next to patch as patch field using faceCells() mapping. | |
| 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. | |
| 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. | |
| template<class GeometricField, class AnyType = bool> | |
| const GeometricField::Patch & | lookupPatchField (const word &name) const |
| Lookup the named field from the local registry and return the patch field corresponding to this patch. | |
| template<class GeometricField> | |
| const GeometricField::Patch * | cfindPatchField (const word &name) const |
| Find the named field (if any) from the local registry and return the patch field corresponding to this patch. | |
| template<class Type> | |
| Foam::tmp< Foam::Field< Type > > | patchInternalField (const UList< Type > &internalData) const |
| Public Member Functions inherited from cyclicACMILduInterface | |
| TypeNameNoDebug ("cyclicACMILduInterface") | |
| Runtime type information. | |
| cyclicACMILduInterface () noexcept=default | |
| Default construct. | |
| virtual | ~cyclicACMILduInterface ()=default |
| Destructor. | |
| Public Member Functions inherited from cyclicAMILduInterface | |
| TypeNameNoDebug ("cyclicAMILduInterface") | |
| Runtime type information. | |
| cyclicAMILduInterface () noexcept=default | |
| Default construct. | |
| virtual | ~cyclicAMILduInterface ()=default |
| Destructor. | |
Protected Member Functions | |
| virtual bool | updateAreas () const |
| Update the AMI and patch areas. Return true if anything updated. | |
| void | resetPatchAreas (const fvPatch &fvp) const |
| Helper function to reset the FV patch areas from the primitive patch. | |
| void | makeWeights (scalarField &) const |
| Make patch weighting factors. | |
| virtual void | movePoints () |
| Correct patches after moving points. | |
Additional Inherited Members | |
| Public Types inherited from fvPatch | |
| typedef fvBoundaryMesh | BoundaryMesh |
| The boundary type associated with the patch. | |
| 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. | |
| static const fvPatch & | lookupPatch (const polyPatch &p) |
| Lookup the polyPatch index on corresponding fvMesh. | |
| static bool | constraintType (const word &patchType) |
| Return true if the given type is a constraint type. | |
| static wordList | constraintTypes () |
| Return a list of all the constraint patch types. | |
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI).
Definition at line 50 of file cyclicACMIFvPatch.H.
| cyclicACMIFvPatch | ( | const polyPatch & | patch, |
| const fvBoundaryMesh & | bm ) |
Construct from polyPatch.
Definition at line 135 of file cyclicACMIFvPatch.C.
References coupledFvPatch::coupledFvPatch(), cyclicACMILduInterface::cyclicACMILduInterface(), Foam::dimTime, mesh, fvPatch::patch(), and Foam::refCast().
Referenced by delta(), makeWeights(), movePoints(), neighbFvPatch(), neighbPatch(), and updateAreas().


|
protectedvirtual |
Update the AMI and patch areas. Return true if anything updated.
Definition at line 39 of file cyclicACMIFvPatch.C.
References cyclicACMIFvPatch(), Foam::endl(), fvPatch::name(), neighbPatch(), nonOverlapPatch(), Foam::Pout, and resetPatchAreas().
Referenced by initInterpolate(), interpolate(), and movePoints().


|
protected |
Helper function to reset the FV patch areas from the primitive patch.
Definition at line 76 of file cyclicACMIFvPatch.C.
References fvPatch::Cf(), DebugPout, Foam::endl(), polyPatch::faceAreas(), polyPatch::faceCentres(), Foam::mag(), fvPatch::magSf(), patchIdentifier::name(), fvPatch::patch(), fvPatch::Sf(), and Foam::sum().
Referenced by updateAreas().


|
protectedvirtual |
Make patch weighting factors.
Implements coupledFvPatch.
Definition at line 87 of file cyclicACMIFvPatch.C.
References coupled, cyclicACMIFvPatch(), coupledFvPatch::delta(), forAll, interpolate(), Foam::mag(), fvPatch::makeWeights(), neighbFvPatch(), fvPatch::nf(), and cyclicACMIPolyPatch::tolerance().

|
protectedvirtual |
Correct patches after moving points.
Reimplemented from fvPatch.
Definition at line 307 of file cyclicACMIFvPatch.C.
References AMI(), cyclicACMIFvPatch(), cyclicACMIPatch(), Foam::endl(), forAll, patchIdentifier::index(), face::mag(), fvPatch::magSf(), boundaryMesh::mesh(), mesh, name, neighbPatch(), nonOverlapPatch(), fvPatch::patch(), points, Foam::Pout, and updateAreas().

| TypeName | ( | cyclicACMIPolyPatch::typeName_() | ) |
|
inline |
Return local reference cast into the cyclic patch.
Definition at line 123 of file cyclicACMIFvPatch.H.
Referenced by movePoints().

|
inlinevirtual |
Return neighbour.
Implements cyclicAMILduInterface.
Definition at line 131 of file cyclicACMIFvPatch.H.
|
inlinevirtual |
Implements cyclicAMILduInterface.
Definition at line 136 of file cyclicACMIFvPatch.H.
|
inlinevirtual |
Return neighbour fvPatch.
Implements cyclicAMILduInterface.
Definition at line 144 of file cyclicACMIFvPatch.H.
References fvPatch::boundaryMesh(), cyclicACMIFvPatch(), cyclicAMIPolyPatch::neighbPatchID(), and Foam::refCast().
Referenced by cyclicACMIFvPatchField< Type >::initEvaluate(), movePoints(), and updateAreas().


|
inlinevirtual |
Return neighbour.
Definition at line 155 of file cyclicACMIFvPatch.H.
Referenced by nonOverlapPatch().

|
inlinevirtual |
Return non-overlapping fvPatch.
Definition at line 163 of file cyclicACMIFvPatch.H.
References fvPatch::boundaryMesh(), and nonOverlapPatchID().
Referenced by movePoints(), and updateAreas().


|
inlinevirtual |
Return a reference to the AMI interpolator.
Implements cyclicAMILduInterface.
Definition at line 171 of file cyclicACMIFvPatch.H.
Referenced by movePoints().

|
inlinevirtual |
Are the cyclic planes parallel.
Implements coupledFvPatch.
Definition at line 179 of file cyclicACMIFvPatch.H.
Referenced by delta().

|
inlinevirtual |
Return face transformation tensor.
Implements coupledFvPatch.
Definition at line 187 of file cyclicACMIFvPatch.H.
Referenced by delta().

|
inlinevirtual |
Return neighbour-cell transformation tensor.
Implements coupledFvPatch.
Definition at line 195 of file cyclicACMIFvPatch.H.
|
inline |
Definition at line 200 of file cyclicACMIFvPatch.H.
References fvPatch::boundaryMesh(), cyclicACMIFvPatch(), cyclicAMIPolyPatch::neighbPatchID(), and Foam::refCast().
Referenced by coupled(), delta(), internalFieldTransfer(), and makeWeights().


|
virtual |
Return true if this patch is coupled.
This is equivalent to coupledPolyPatch::coupled() if parallel running or both sides present, false otherwise
Reimplemented from coupledFvPatch.
Definition at line 226 of file cyclicACMIFvPatch.C.
References neighbFvPatch(), UPstream::parRun(), and fvPatch::size().

|
virtual |
Return delta (P to N) vectors across coupled patch.
Implements coupledFvPatch.
Definition at line 232 of file cyclicACMIFvPatch.C.
References coupled, cyclicACMIFvPatch(), coupledFvPatch::delta(), forAll, forwardT(), Foam::interpolate(), neighbFvPatch(), tmp< T >::New(), parallel(), UList< T >::size(), and Foam::transform().

Interpolate (make sure to have uptodate areas).
Definition at line 225 of file cyclicACMIFvPatch.H.
References fld(), and updateAreas().
Referenced by interpolate(), and makeWeights().


|
inline |
Interpolate (make sure to have up-to-date areas).
Definition at line 244 of file cyclicACMIFvPatch.H.
References interpolate().

|
inline |
Definition at line 255 of file cyclicACMIFvPatch.H.
References fld(), and updateAreas().

|
inline |
Definition at line 288 of file cyclicACMIFvPatch.H.
|
virtual |
Return the values of the given internal data adjacent to the interface as a field.
Implements coupledFvPatch.
Definition at line 276 of file cyclicACMIFvPatch.C.
References fvPatch::patchInternalField().

|
virtual |
Return the values of the given internal data adjacent to the interface as a field using a mapping faceCell.
Implements coupledFvPatch.
Definition at line 285 of file cyclicACMIFvPatch.C.
References coupledFvPatch::faceCells(), tmp< T >::New(), fvPatch::patchInternalField(), and fvPatch::size().

|
virtual |
Return neighbour field.
Implements coupledFvPatch.
Definition at line 297 of file cyclicACMIFvPatch.C.
References neighbFvPatch().
