63 const bool valueRequired
100 const Field<Type>& iField = this->primitiveField();
102 this->cyclicPatch().neighbFvPatch().faceCells();
105 auto& pnf = tpnf.ref();
108 if (!this->cyclicPatch().owner())
113 if (this->doTransform())
119 this->forwardT()[0], iField[nbrFaceCells[facei]]
127 pnf[facei] = iField[nbrFaceCells[facei]] - jf[facei];
169 this->cyclicPatch().neighbPatchID()
173 if (&psiInternal == &this->primitiveField())
177 if (!this->cyclicPatch().owner())
184 pnf[facei] = psiInternal[nbrFaceCells[facei]] - jf[facei];
191 pnf[facei] = psiInternal[nbrFaceCells[facei]];
196 this->transformCoupleField(pnf);
201 this->addToInternalField(result, !
add,
faceCells, coeffs, pnf);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type.
commsTypes
Types of communications.
This boundary condition enforces a cyclic condition between a pair of boundaries.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Smooth ATC in cells next to a set of patches supplied by type.
A FieldMapper for finite-volume patch fields.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides a base class for coupled-cyclic conditions with a specified 'jump' (...
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.
tmp< Field< Type > > patchNeighbourField() const
Return neighbour coupled given internal cell data.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
virtual const labelUList & patchAddr(const label patchNo) const =0
Return patch to internal addressing given patch number.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
#define forAll(list, i)
Loop across all elements in list.