43 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(
p)),
58 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(
p,
dict)),
62 if (!isType<cyclicAMIPointPatch>(
p))
65 <<
"patch " << this->
patch().index() <<
" not cyclicAMI type. "
66 <<
"Patch type = " << p.type()
82 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(
p)),
86 if (!isType<cyclicAMIPointPatch>(this->
patch()))
89 <<
"Field type does not correspond to patch type for patch "
91 <<
"Field type: " << typeName <<
endl
92 <<
"Patch type: " << this->
patch().type()
106 cyclicAMIPatch_(ptf.cyclicAMIPatch_),
117 return cyclicAMIPatch_.coupled();
128 if (cyclicAMIPatch_.cyclicAMIPatch().owner())
139 refCast<const GeometricField<Type, pointPatchField, pointMesh>>
141 this->internalField()
145 refCast<const cyclicAMIPointPatchField<Type>>
147 fld.boundaryField()[nbrPatch.
index()]
151 Field<Type> ptFld(this->patchInternalField(pField));
152 Field<Type> nbrPtFld(nbr.patchInternalField(pField));
157 const tensor& forwardT = this->forwardT()[0];
158 const tensor& reverseT = this->reverseT()[0];
168 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
171 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
173 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
176 cyclicAMIPatch_.cyclicAMIPatch().interpolate
185 cyclicAMIPatch_.cyclicAMIPatch().interpolate(nbrFcFld);
189 this->addToInternalField
192 ppi().faceToPointInterpolate(nbrFcFld)()
198 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
201 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
203 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
206 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().interpolate
215 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().interpolate
222 nbr.addToInternalField
225 nbrPpi().faceToPointInterpolate(fcFld)()