cyclicACMIFvPatch Class Reference

Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI) More...

Inheritance diagram for cyclicACMIFvPatch:
[legend]
Collaboration diagram for cyclicACMIFvPatch:
[legend]

Public Member Functions

 TypeName (cyclicACMIPolyPatch::typeName_())
 Runtime type information. More...
 
 cyclicACMIFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch. More...
 
const cyclicACMIPolyPatchcyclicACMIPatch () const
 Return local reference cast into the cyclic patch. More...
 
virtual label neighbPatchID () const
 Return neighbour. More...
 
virtual bool owner () const
 
virtual const cyclicACMIFvPatchneighbPatch () const
 Return neighbour fvPatch. More...
 
virtual label nonOverlapPatchID () const
 Return neighbour. More...
 
virtual const fvPatchnonOverlapPatch () const
 Return non-overlapping fvPatch. More...
 
virtual const AMIPatchToPatchInterpolationAMI () const
 Return a reference to the AMI interpolator. 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 cyclicACMIFvPatchneighbFvPatch () const
 
virtual bool coupled () const
 
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
 Interpolate (make sure to have uptodate areas) More...
 
template<class Type >
tmp< Field< Type > > interpolate (const tmp< Field< Type >> &tfld) const
 Interpolate (make sure to have up-to-date areas) More...
 
virtual tmp< labelFieldinterfaceInternalField (const labelUList &internalData) const
 
virtual tmp< labelFieldinternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const
 Return neighbour field. More...
 
- Public Member Functions inherited from coupledFvPatch
 TypeName (coupledPolyPatch::typeName_())
 Runtime type information. More...
 
 coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm)
 Construct from polyPatch. More...
 
virtual ~coupledFvPatch ()
 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, const labelUList &iF) const
 Inherit initInternalFieldTransfer from lduInterface. More...
 
- Public Member Functions inherited from lduInterface
 TypeName ("lduInterface")
 Runtime type information. More...
 
 lduInterface ()=default
 Construct null. 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...
 
- 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...
 
 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
 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...
 
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...
 
const scalarFieldweights () const
 Return patch weighting factors. More...
 
const scalarFielddeltaCoeffs () const
 
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 >
const GeometricField::PatchlookupPatchField (const word &name, const GeometricField *=nullptr, const Type *=nullptr) const
 
template<class Type >
Foam::tmp< Foam::Field< Type > > patchInternalField (const UList< Type > &f) const
 
- Public Member Functions inherited from cyclicACMILduInterface
 TypeName ("cyclicACMILduInterface")
 Runtime type information. More...
 
 cyclicACMILduInterface ()=default
 Construct null. More...
 
virtual ~cyclicACMILduInterface ()=default
 Destructor. More...
 
- Public Member Functions inherited from cyclicAMILduInterface
 TypeName ("cyclicAMILduInterface")
 Runtime type information. More...
 
 cyclicAMILduInterface ()=default
 Construct null. More...
 
virtual ~cyclicAMILduInterface ()=default
 Destructor. More...
 

Protected Member Functions

virtual bool updateAreas () const
 Update the AMI and patch areas. Return true if anything updated. More...
 
void resetPatchAreas (const fvPatch &fvp) const
 Helper function to reset the FV patch areas from the primitive patch. More...
 
void makeWeights (scalarField &) const
 Make patch weighting factors. More...
 
virtual void movePoints ()
 Correct patches after moving points. More...
 

Additional Inherited Members

- Public Types inherited from fvPatch
typedef fvBoundaryMesh BoundaryMesh
 
- 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 &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

Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)

Source files

Definition at line 54 of file cyclicACMIFvPatch.H.

Constructor & Destructor Documentation

◆ cyclicACMIFvPatch()

cyclicACMIFvPatch ( const polyPatch patch,
const fvBoundaryMesh bm 
)

Construct from polyPatch.

Definition at line 143 of file cyclicACMIFvPatch.C.

Member Function Documentation

◆ updateAreas()

bool updateAreas ( ) const
protectedvirtual

Update the AMI and patch areas. Return true if anything updated.

Definition at line 46 of file cyclicACMIFvPatch.C.

References Foam::expressions::patchExpr::debug, Foam::endl(), fvPatch::name(), cyclicACMIFvPatch::neighbPatch(), cyclicACMIFvPatch::nonOverlapPatch(), cyclicAMIPolyPatch::owner(), Foam::Pout, cyclicACMIFvPatch::resetPatchAreas(), cyclicACMIPolyPatch::setUpToDate(), cyclicACMIPolyPatch::updateAreas(), and cyclicACMIPolyPatch::upToDate().

Referenced by cyclicACMIFvPatch::interpolate().

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

◆ resetPatchAreas()

void resetPatchAreas ( const fvPatch fvp) const
protected

Helper function to reset the FV patch areas from the primitive patch.

Definition at line 83 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 cyclicACMIFvPatch::updateAreas().

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

◆ makeWeights()

void makeWeights ( scalarField w) const
protectedvirtual

Make patch weighting factors.

Implements coupledFvPatch.

Definition at line 94 of file cyclicACMIFvPatch.C.

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

Here is the call graph for this function:

◆ movePoints()

void movePoints ( )
protectedvirtual

Correct patches after moving points.

Reimplemented from fvPatch.

Definition at line 240 of file cyclicACMIFvPatch.C.

References cyclicACMIFvPatch::cyclicACMIPatch(), Foam::expressions::patchExpr::debug, Foam::endl(), forAll, patchIdentifier::index(), face::mag(), fvPatch::magSf(), mesh, boundaryMesh::mesh(), Foam::fvc::meshPhi(), Foam::name(), cyclicACMIFvPatch::nonOverlapPatch(), fvPatch::patch(), points, polyMesh::points(), and Foam::Pout.

Here is the call graph for this function:

◆ TypeName()

TypeName ( cyclicACMIPolyPatch::typeName_()  )

Runtime type information.

◆ cyclicACMIPatch()

const cyclicACMIPolyPatch& cyclicACMIPatch ( ) const
inline

Return local reference cast into the cyclic patch.

Definition at line 102 of file cyclicACMIFvPatch.H.

Referenced by cyclicACMIFvPatch::movePoints().

Here is the caller graph for this function:

◆ neighbPatchID()

virtual label neighbPatchID ( ) const
inlinevirtual

Return neighbour.

Implements cyclicAMILduInterface.

Definition at line 108 of file cyclicACMIFvPatch.H.

References cyclicAMIPolyPatch::neighbPatchID().

Here is the call graph for this function:

◆ owner()

virtual bool owner ( ) const
inlinevirtual

Implements cyclicAMILduInterface.

Definition at line 113 of file cyclicACMIFvPatch.H.

References cyclicAMIPolyPatch::owner().

Here is the call graph for this function:

◆ neighbPatch()

virtual const cyclicACMIFvPatch& neighbPatch ( ) const
inlinevirtual

Return neighbour fvPatch.

Implements cyclicAMILduInterface.

Definition at line 119 of file cyclicACMIFvPatch.H.

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

Referenced by cyclicACMIFvPatch::updateAreas().

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

◆ nonOverlapPatchID()

virtual label nonOverlapPatchID ( ) const
inlinevirtual

Return neighbour.

Definition at line 128 of file cyclicACMIFvPatch.H.

References cyclicACMIPolyPatch::nonOverlapPatchID().

Referenced by cyclicACMIFvPatch::nonOverlapPatch().

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

◆ nonOverlapPatch()

virtual const fvPatch& nonOverlapPatch ( ) const
inlinevirtual

Return non-overlapping fvPatch.

Definition at line 134 of file cyclicACMIFvPatch.H.

References fvPatch::boundaryMesh(), and cyclicACMIFvPatch::nonOverlapPatchID().

Referenced by cyclicACMIFvPatch::movePoints(), and cyclicACMIFvPatch::updateAreas().

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 140 of file cyclicACMIFvPatch.H.

References cyclicAMIPolyPatch::AMI().

Here is the call graph for this function:

◆ parallel()

virtual bool parallel ( ) const
inlinevirtual

Are the cyclic planes parallel.

Implements coupledFvPatch.

Definition at line 146 of file cyclicACMIFvPatch.H.

References coupledPolyPatch::parallel().

Referenced by cyclicACMIFvPatchField< Type >::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 152 of file cyclicACMIFvPatch.H.

References coupledPolyPatch::forwardT().

Referenced by cyclicACMIFvPatchField< Type >::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 158 of file cyclicACMIFvPatch.H.

References coupledPolyPatch::reverseT().

Referenced by cyclicACMIFvPatchField< Type >::reverseT().

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

◆ neighbFvPatch()

const cyclicACMIFvPatch& neighbFvPatch ( ) const
inline

Definition at line 163 of file cyclicACMIFvPatch.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 171 of file cyclicACMIFvPatch.C.

References UPstream::parRun().

Here is the call 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 177 of file cyclicACMIFvPatch.C.

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

Here is the call graph for this function:

◆ interpolate() [1/2]

tmp<Field<Type> > interpolate ( const Field< Type > &  fld) const
inline

Interpolate (make sure to have uptodate areas)

Definition at line 182 of file cyclicACMIFvPatch.H.

References fld, and cyclicACMIFvPatch::updateAreas().

Referenced by cyclicACMIFvPatch::interpolate().

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

◆ interpolate() [2/2]

tmp<Field<Type> > interpolate ( const tmp< Field< Type >> &  tfld) const
inline

Interpolate (make sure to have up-to-date areas)

Definition at line 199 of file cyclicACMIFvPatch.H.

References cyclicACMIFvPatch::interpolate().

Here is the call graph for this function:

◆ interfaceInternalField()

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 222 of file cyclicACMIFvPatch.C.

◆ 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 cyclicACMIFvPatch.C.


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