101 this->cyclicPatch().neighbFvPatch().faceCells();
104 if (!this->cyclicPatch().owner())
109 if (this->doTransform())
111 const auto& rot = this->forwardT()[0];
115 pnf[i] = (
transform(rot, iField[nbrFaceCells[i]]) - jf[i]);
122 pnf[i] = (iField[nbrFaceCells[i]] - jf[i]);
132 auto tpnf = tmp<Field<Type>>
::New(this->size());
133 this->patchNeighbourField(tpnf.ref());
172 this->cyclicPatch().neighbPatchID()
176 if (&psiInternal == &this->primitiveField())
180 if (!this->cyclicPatch().owner())
187 pnf[facei] = psiInternal[nbrFaceCells[facei]] - jf[facei];
194 pnf[facei] = psiInternal[nbrFaceCells[facei]];
199 this->transformCoupleField(pnf);
204 this->addToInternalField(result, !
add, faceCells, coeffs, pnf);
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
UList< label > labelUList
A UList of labels.
#define forAll(list, i)
Loop across all elements in list.
Generic templated field type.
jumpCyclicFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual void updateInterfaceMatrix(solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
A FieldMapper for finite-volume patch fields.
This boundary condition provides a base class for coupled-cyclic conditions with a specified 'jump' (...
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
This boundary condition enforces a cyclic condition between a pair of boundaries. ...
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
The class contains the addressing required by the lduMatrix: upper, lower and losort.
A class for managing temporary objects.
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour coupled values.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.