cyclicAMIFvPatch Class Reference

Cyclic patch for Arbitrary Mesh Interface (AMI) More...

Inheritance diagram for cyclicAMIFvPatch:
Collaboration diagram for cyclicAMIFvPatch:

Public Member Functions

 TypeName (cyclicAMIPolyPatch::typeName_())
 Runtime type information. More...
 
 cyclicAMIFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch. More...
 
const cyclicAMIPolyPatchcyclicAMIPatch () const
 Return local reference cast into the cyclic patch. More...
 
virtual bool owner () const
 Does this side own the patch? More...
 
virtual label neighbPatchID () const
 Return neighbour patch ID. More...
 
virtual const cyclicAMIFvPatchneighbPatch () const
 Return a reference to the neighbour patch. More...
 
virtual const AMIPatchToPatchInterpolationAMI () const
 Return a reference to the AMI interpolator. More...
 
virtual bool applyLowWeightCorrection () const
 Return true if applying the low weight correction. More...
 
virtual bool parallel () const
 Are the cyclic planes parallel. More...
 
virtual const tensorFieldforwardT () const
 Return face transformation tensor. More...
 
virtual const tensorFieldreverseT () const
 Return neighbour-cell transformation tensor. More...
 
const cyclicAMIFvPatchneighbFvPatch () const
 
virtual bool coupled () const
 Return true if this patch is coupled. This is equivalent to the coupledPolyPatch::coupled() if parallel running or both sides present, false otherwise. More...
 
virtual tmp< vectorFielddelta () const
 Return delta (P to N) vectors across coupled patch. More...
 
template<class Type >
tmp< Field< Type > > interpolate (const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const
 
template<class Type >
tmp< Field< Type > > interpolate (const tmp< Field< Type >> &tFld, const UList< Type > &defaultValues=UList< Type >()) const
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 Return the values of the given internal data adjacent to the interface as a field. More...
 
virtual tmp< labelFieldinterfaceInternalField (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. More...
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const
 Return neighbour field. More...
 
- Public Member Functions inherited from coupledFvPatch
 TypeNameNoDebug (coupledPolyPatch::typeName_())
 Runtime type information. More...
 
 coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch. More...
 
virtual ~coupledFvPatch ()=default
 Destructor. More...
 
virtual const labelUListfaceCells () const
 Return faceCell addressing. 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 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 initMovePoints ()
 Initialise the patches for 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 polyPatchpatch () const noexcept
 Return the polyPatch. More...
 
virtual const wordname () 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 fvBoundaryMeshboundaryMesh () 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 vectorFieldCf () const
 Return face centres. More...
 
tmp< vectorFieldCn () const
 Return neighbour cell centres. More...
 
const vectorFieldSf () const
 Return face area vectors, like the fvMesh::Sf() method. More...
 
const scalarFieldmagSf () const
 Return face area magnitudes, like the fvMesh::magSf() method. More...
 
tmp< vectorFieldunitSf () const
 Return face unit normals, like the fvMesh::unitSf() method. Same as nf(). More...
 
tmp< vectorFieldnf () const
 Return face unit normals, like the fvMesh::unitSf() method Same as unitSf(). More...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
const scalarFielddeltaCoeffs () 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::PatchpatchField (const GeometricField &gf) const
 Return the patch field of the GeometricField corresponding to this patch. More...
 
template<class GeometricField , class AnyType = bool>
const GeometricField::PatchlookupPatchField (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
 
- Public Member Functions inherited from cyclicAMILduInterface
 TypeNameNoDebug ("cyclicAMILduInterface")
 Runtime type information. More...
 
 cyclicAMILduInterface () noexcept=default
 Default construct. More...
 
virtual ~cyclicAMILduInterface ()=default
 Destructor. More...
 

Protected Member Functions

void makeWeights (scalarField &) const
 Make patch weighting factors. More...
 
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 movePoints ()
 Correct patches after moving points. More...
 

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< fvPatchNew (const polyPatch &, const fvBoundaryMesh &)
 Return a pointer to a new patch created on freestore from polyPatch. More...
 
static const fvPatchlookupPatch (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...
 

Detailed Description

Cyclic patch for Arbitrary Mesh Interface (AMI)

Source files

Definition at line 50 of file cyclicAMIFvPatch.H.

Constructor & Destructor Documentation

◆ cyclicAMIFvPatch()

cyclicAMIFvPatch ( const polyPatch patch,
const fvBoundaryMesh bm 
)
inline

Construct from polyPatch.

Definition at line 103 of file cyclicAMIFvPatch.H.

Member Function Documentation

◆ makeWeights()

void makeWeights ( scalarField w) const
protectedvirtual

Make patch weighting factors.

Implements coupledFvPatch.

Definition at line 87 of file cyclicAMIFvPatch.C.

References coupled, coupledFvPatch::delta(), forAll, Foam::interpolate(), Foam::mag(), fvPatch::makeWeights(), and fvPatch::nf().

Here is the call graph for this function:

◆ makeDeltaCoeffs()

void makeDeltaCoeffs ( scalarField coeffs) const
protectedvirtual

Correct patch deltaCoeffs.

Reimplemented from fvPatch.

Definition at line 130 of file cyclicAMIFvPatch.C.

◆ makeNonOrthoDeltaCoeffs()

void makeNonOrthoDeltaCoeffs ( scalarField coeffs) const
protectedvirtual

Correct patch non-ortho deltaCoeffs.

Reimplemented from fvPatch.

Definition at line 136 of file cyclicAMIFvPatch.C.

◆ makeNonOrthoCorrVectors()

void makeNonOrthoCorrVectors ( vectorField vecs) const
protectedvirtual

Correct patch non-ortho correction vectors.

Reimplemented from fvPatch.

Definition at line 143 of file cyclicAMIFvPatch.C.

◆ movePoints()

void movePoints ( )
protectedvirtual

◆ TypeName()

TypeName ( cyclicAMIPolyPatch::typeName_()  )

Runtime type information.

◆ cyclicAMIPatch()

const cyclicAMIPolyPatch& cyclicAMIPatch ( ) const
inline

Return local reference cast into the cyclic patch.

Definition at line 153 of file cyclicAMIFvPatch.H.

Referenced by cyclicAMIFvPatch::movePoints().

Here is the caller graph for this function:

◆ owner()

virtual bool owner ( ) const
inlinevirtual

Does this side own the patch?

Implements cyclicAMILduInterface.

Definition at line 161 of file cyclicAMIFvPatch.H.

References cyclicAMIPolyPatch::owner().

Here is the call graph for this function:

◆ neighbPatchID()

virtual label neighbPatchID ( ) const
inlinevirtual

Return neighbour patch ID.

Implements cyclicAMILduInterface.

Definition at line 169 of file cyclicAMIFvPatch.H.

References cyclicAMIPolyPatch::neighbPatchID().

Here is the call graph for this function:

◆ neighbPatch()

virtual const cyclicAMIFvPatch& neighbPatch ( ) const
inlinevirtual

Return a reference to the neighbour patch.

Implements cyclicAMILduInterface.

Definition at line 177 of file cyclicAMIFvPatch.H.

References fvPatch::boundaryMesh(), and cyclicAMIPolyPatch::neighbPatchID().

Referenced by cyclicAMIFvPatchField< scalar >::initEvaluate().

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

◆ AMI()

virtual const AMIPatchToPatchInterpolation& AMI ( ) const
inlinevirtual

Return a reference to the AMI interpolator.

Implements cyclicAMILduInterface.

Definition at line 188 of file cyclicAMIFvPatch.H.

References cyclicAMIPolyPatch::AMI().

Here is the call graph for this function:

◆ applyLowWeightCorrection()

virtual bool applyLowWeightCorrection ( ) const
inlinevirtual

Return true if applying the low weight correction.

Definition at line 196 of file cyclicAMIFvPatch.H.

References cyclicAMIPolyPatch::applyLowWeightCorrection().

Here is the call graph for this function:

◆ parallel()

virtual bool parallel ( ) const
inlinevirtual

Are the cyclic planes parallel.

Implements coupledFvPatch.

Definition at line 205 of file cyclicAMIFvPatch.H.

References coupledPolyPatch::parallel().

Referenced by cyclicAMIFvPatchField< scalar >::doTransform().

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

◆ forwardT()

virtual const tensorField& forwardT ( ) const
inlinevirtual

Return face transformation tensor.

Implements coupledFvPatch.

Definition at line 213 of file cyclicAMIFvPatch.H.

References coupledPolyPatch::forwardT().

Referenced by cyclicAMIFvPatchField< scalar >::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 coupledFvPatch.

Definition at line 221 of file cyclicAMIFvPatch.H.

References coupledPolyPatch::reverseT().

Referenced by cyclicAMIFvPatchField< scalar >::reverseT().

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

◆ neighbFvPatch()

const cyclicAMIFvPatch& neighbFvPatch ( ) const
inline

Definition at line 226 of file cyclicAMIFvPatch.H.

References fvPatch::boundaryMesh(), and cyclicAMIPolyPatch::neighbPatchID().

Here is the call graph for this function:

◆ coupled()

bool coupled ( ) const
virtual

Return true if this patch is coupled. This is equivalent to the coupledPolyPatch::coupled() if parallel running or both sides present, false otherwise.

Reimplemented from coupledFvPatch.

Definition at line 79 of file cyclicAMIFvPatch.C.

References fvPatch::boundaryMesh(), fvBoundaryMesh::mesh(), UPstream::parRun(), TimePaths::processorCase(), and fvMesh::time().

Referenced by cyclicAMIFvPatchField< scalar >::coupled().

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

◆ delta()

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

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

Implements coupledFvPatch.

Definition at line 150 of file cyclicAMIFvPatch.C.

References coupled, coupledFvPatch::delta(), forAll, Foam::interpolate(), tmp< T >::New(), UList< T >::size(), Foam::transform(), and Foam::Zero.

Here is the call graph for this function:

◆ interpolate() [1/2]

tmp<Field<Type> > interpolate ( const Field< Type > &  fld,
const UList< Type > &  defaultValues = UList<Type>() 
) const
inline

Definition at line 249 of file cyclicAMIFvPatch.H.

References fld, and cyclicAMIPolyPatch::interpolate().

Here is the call graph for this function:

◆ interpolate() [2/2]

tmp<Field<Type> > interpolate ( const tmp< Field< Type >> &  tFld,
const UList< Type > &  defaultValues = UList<Type>() 
) const
inline

Definition at line 259 of file cyclicAMIFvPatch.H.

References cyclicAMIPolyPatch::interpolate().

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 coupledFvPatch.

Definition at line 210 of file cyclicAMIFvPatch.C.

◆ interfaceInternalField() [2/2]

Foam::tmp< Foam::labelField > interfaceInternalField ( const labelUList internalData,
const labelUList faceCells 
) const
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 219 of file cyclicAMIFvPatch.C.

References tmp< T >::New().

Here is the call graph for this function:

◆ internalFieldTransfer()

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

Return neighbour field.

Implements coupledFvPatch.

Definition at line 231 of file cyclicAMIFvPatch.C.


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