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),
105 cyclicAMIInterface_.neighbPatch().interfaceInternalField(psiInternal)
109 transformCoupleField(pnf, cmpt);
111 if (cyclicAMIInterface_.owner())
113 pnf = cyclicAMIInterface_.AMI().interpolateToSource(pnf);
117 pnf = cyclicAMIInterface_.neighbPatch().AMI().interpolateToTarget(pnf);
120 const labelUList& faceCells = cyclicAMIInterface_.faceCells();
124 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
#define forAll(list, i)
Loop across all elements in list.
commsTypes
Types of communications.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
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.
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.
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.
Abstract base class for GAMG agglomerated interface fields.