38 cyclicAMIGAMGInterfaceField,
44 cyclicAMIGAMGInterfaceField,
52 Foam::cyclicAMIGAMGInterfaceField::cyclicAMIGAMGInterfaceField
59 cyclicAMIInterface_(refCast<const cyclicAMIGAMGInterface>(GAMGCp)),
64 refCast<const cyclicAMILduInterfaceField>(fineInterface);
71 Foam::cyclicAMIGAMGInterfaceField::cyclicAMIGAMGInterfaceField
74 const bool doTransform,
79 cyclicAMIInterface_(refCast<const cyclicAMIGAMGInterface>(GAMGCp)),
80 doTransform_(doTransform),
109 transformCoupleField(pnf, cmpt);
113 if (thisInterface.
owner())
124 pf += thisInterface.
AMIs()[i].interpolateToSource(r*pnf);
138 pf += neiInterface.
AMIs()[i].interpolateToTarget(r*pnf);
143 const labelUList& faceCells = cyclicAMIInterface_.faceCells();
146 result[faceCells[elemI]] -= coeffs[elemI]*pf[elemI];
tmp< Field< Type > > interfaceInternalField(const UList< Type > &internalData) const
Return the interface internal field of the given field.
#define forAll(list, i)
Loop across all elements in list.
GAMG agglomerated cyclic AMI interface.
commsTypes
Types of communications.
dimensionedSphericalTensor inv(const dimensionedSphericalTensor &dt)
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
virtual const cyclicAMIGAMGInterface & neighbPatch() const
Return neighbour patch.
Macros for easy insertion into run-time selection tables.
Abstract base class for cyclic AMI coupled interfaces.
virtual bool doTransform() const =0
Is the transform required.
virtual ~cyclicAMIGAMGInterfaceField()
Destructor.
virtual const PtrList< AMIPatchToPatchInterpolation > & AMIs() const
Return a reference to the AMI interpolators.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
virtual int rank() const =0
Return rank of component for transform.
Abstract base class for GAMG agglomerated interfaces.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
virtual void updateInterfaceMatrix(scalarField &result, const scalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
#define R(A, B, C, D, E, F, K, M)
Abstract base class for GAMG agglomerated interface fields.
virtual bool owner() const
Does this side own the interface?
virtual const List< vectorTensorTransform > & AMITransforms() const