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
 Return true if this patch is coupled. 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
 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< labelFieldinterfaceInternalField (const labelUList &internalData, const labelUList &faceCells) 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, 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
 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...
 
virtual void initInternalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &iF, const labelUList &faceCells) const
 
- 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 >
tmp< Field< Type > > patchInternalField (const UList< Type > &, const labelUList &faceCells) const
 
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
 
template<class Type >
Foam::tmp< Foam::Field< Type > > patchInternalField (const UList< Type > &f, const labelUList &faceCells) 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 coupled(), 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 312 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 111 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 117 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 122 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 128 of file cyclicACMIFvPatch.H.

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

Referenced by cyclicACMIFvPatchField< Type >::patchNeighbourField(), and 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 137 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 143 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 149 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 155 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 161 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 167 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 172 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 coupledPolyPatch::coupled() if parallel running or both sides present, false otherwise

Reimplemented from coupledFvPatch.

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

References coupled(), 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 191 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 208 of file cyclicACMIFvPatch.H.

References cyclicACMIFvPatch::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 284 of file cyclicACMIFvPatch.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 293 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 303 of file cyclicACMIFvPatch.C.


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