Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI) More...
Public Member Functions | |
TypeName (cyclicACMIPolyPatch::typeName_()) | |
Runtime type information. More... | |
cyclicACMIFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
Construct from polyPatch. More... | |
const cyclicACMIPolyPatch & | cyclicACMIPatch () const |
Return local reference cast into the cyclic patch. More... | |
virtual label | neighbPatchID () const |
Return neighbour. More... | |
virtual bool | owner () const |
virtual const cyclicACMIFvPatch & | neighbPatch () const |
Return neighbour fvPatch. More... | |
virtual label | nonOverlapPatchID () const |
Return neighbour. More... | |
virtual const fvPatch & | nonOverlapPatch () const |
Return non-overlapping fvPatch. More... | |
virtual const AMIPatchToPatchInterpolation & | AMI () const |
Return a reference to the AMI interpolator. More... | |
virtual bool | parallel () const |
Are the cyclic planes parallel. More... | |
virtual const tensorField & | forwardT () const |
Return face transformation tensor. More... | |
virtual const tensorField & | reverseT () const |
Return neighbour-cell transformation tensor. More... | |
const cyclicACMIFvPatch & | neighbFvPatch () const |
virtual bool | coupled () const |
Return true if this patch is coupled. More... | |
virtual tmp< vectorField > | delta () 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< labelField > | interfaceInternalField (const labelUList &internalData) const |
virtual tmp< labelField > | interfaceInternalField (const labelUList &internalData, const labelUList &faceCells) const |
virtual tmp< labelField > | internalFieldTransfer (const Pstream::commsTypes commsType, const labelUList &internalData) const |
Return neighbour field. More... | |
![]() | |
TypeName (coupledPolyPatch::typeName_()) | |
Runtime type information. More... | |
coupledFvPatch (const polyPatch &patch, const fvBoundaryMesh &bm) | |
Construct from polyPatch. More... | |
virtual | ~coupledFvPatch () |
Destructor. More... | |
virtual const labelUList & | faceCells () 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... | |
![]() | |
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 |
![]() | |
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 polyPatch & | patch () const |
Return the polyPatch. More... | |
virtual const word & | name () 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 fvBoundaryMesh & | boundaryMesh () const |
Return boundaryMesh reference. More... | |
template<class T > | |
const List< T >::subList | patchSlice (const List< T > &l) const |
Slice list to patch. 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. More... | |
const scalarField & | magSf () const |
Return face area magnitudes. More... | |
tmp< vectorField > | nf () const |
Return face normals. More... | |
const scalarField & | weights () const |
Return patch weighting factors. More... | |
const scalarField & | deltaCoeffs () 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::Patch & | patchField (const GeometricField &) const |
Return the corresponding patchField of the named field. More... | |
template<class GeometricField , class Type > | |
const GeometricField::Patch & | lookupPatchField (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 |
![]() | |
TypeName ("cyclicACMILduInterface") | |
Runtime type information. More... | |
cyclicACMILduInterface ()=default | |
Construct null. More... | |
virtual | ~cyclicACMILduInterface ()=default |
Destructor. More... | |
![]() | |
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 | |
![]() | |
typedef fvBoundaryMesh | BoundaryMesh |
![]() | |
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 &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... | |
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)
Definition at line 54 of file cyclicACMIFvPatch.H.
cyclicACMIFvPatch | ( | const polyPatch & | patch, |
const fvBoundaryMesh & | bm | ||
) |
Construct from polyPatch.
Definition at line 143 of file cyclicACMIFvPatch.C.
|
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().
|
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().
|
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().
|
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.
TypeName | ( | cyclicACMIPolyPatch::typeName_() | ) |
Runtime type information.
|
inline |
Return local reference cast into the cyclic patch.
Definition at line 111 of file cyclicACMIFvPatch.H.
Referenced by cyclicACMIFvPatch::movePoints().
|
inlinevirtual |
Return neighbour.
Implements cyclicAMILduInterface.
Definition at line 117 of file cyclicACMIFvPatch.H.
References cyclicAMIPolyPatch::neighbPatchID().
|
inlinevirtual |
Implements cyclicAMILduInterface.
Definition at line 122 of file cyclicACMIFvPatch.H.
References cyclicAMIPolyPatch::owner().
|
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().
|
inlinevirtual |
Return neighbour.
Definition at line 137 of file cyclicACMIFvPatch.H.
References cyclicACMIPolyPatch::nonOverlapPatchID().
Referenced by cyclicACMIFvPatch::nonOverlapPatch().
|
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().
|
inlinevirtual |
Return a reference to the AMI interpolator.
Implements cyclicAMILduInterface.
Definition at line 149 of file cyclicACMIFvPatch.H.
References cyclicAMIPolyPatch::AMI().
|
inlinevirtual |
Are the cyclic planes parallel.
Implements coupledFvPatch.
Definition at line 155 of file cyclicACMIFvPatch.H.
References coupledPolyPatch::parallel().
Referenced by cyclicACMIFvPatchField< Type >::doTransform().
|
inlinevirtual |
Return face transformation tensor.
Implements coupledFvPatch.
Definition at line 161 of file cyclicACMIFvPatch.H.
References coupledPolyPatch::forwardT().
Referenced by cyclicACMIFvPatchField< Type >::forwardT().
|
inlinevirtual |
Return neighbour-cell transformation tensor.
Implements coupledFvPatch.
Definition at line 167 of file cyclicACMIFvPatch.H.
References coupledPolyPatch::reverseT().
Referenced by cyclicACMIFvPatchField< Type >::reverseT().
|
inline |
Definition at line 172 of file cyclicACMIFvPatch.H.
References fvPatch::boundaryMesh(), and cyclicAMIPolyPatch::neighbPatchID().
|
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().
|
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().
Interpolate (make sure to have uptodate areas)
Definition at line 191 of file cyclicACMIFvPatch.H.
References fld, and cyclicACMIFvPatch::updateAreas().
Referenced by cyclicACMIFvPatch::interpolate().
Interpolate (make sure to have up-to-date areas)
Definition at line 208 of file cyclicACMIFvPatch.H.
References cyclicACMIFvPatch::interpolate().
|
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.
|
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.
|
virtual |
Return neighbour field.
Implements coupledFvPatch.
Definition at line 303 of file cyclicACMIFvPatch.C.