60 this->cyclicPatch().neighbPatchID()
66 reinterpret_cast<const void*
>(&psiInternal)
67 ==
reinterpret_cast<const void*
>(&this->primitiveField())
72 if (!this->cyclicPatch().owner())
79 pnf[facei] = psiInternal[nbrFaceCells[facei]] - jf[facei];
86 pnf[facei] = psiInternal[nbrFaceCells[facei]];
91 this->transformCoupleField(pnf, cmpt);
118 this->cyclicPatch().neighbPatchID()
126 reinterpret_cast<const void*
>(&psiInternal)
127 ==
reinterpret_cast<const void*
>(&(iField.
component(cmpt).ref()))
132 if (!this->cyclicPatch().owner())
140 psiInternal[nbrFaceCells[facei]]
148 pnf[facei] = psiInternal[nbrFaceCells[facei]];
153 this->transformCoupleField(pnf, cmpt);
158 this->addToInternalField(result, !
add, faceCells, coeffs, pnf);
Macros for easy insertion into run-time selection tables.
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
tmp< Field< cmptType > > component(const direction) const
Return a component field of the field.
commsTypes
Communications types.
const cyclicFvPatch & cyclicPatch() const
void transformCoupleField(Field< Type > &f) const
Transform given patch field.
Smooth ATC in cells next to a set of patches supplied by type.
const Field< scalar > & primitiveField() const noexcept
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.
virtual tmp< Field< scalar > > jump() const=0
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.
void addToInternalField(Field< Type > &result, const bool add, const labelUList &faceCells, const scalarField &coeffs, const Field< Type > &vals) const
Add/subtract weighted contributions to internal field.
#define makePatchFieldTypeNames(bcType)
For all standard field types: define a faPatchField type. Example, (calculated).
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Field< solveScalar > solveScalarField
UList< label > labelUList
A UList of labels.
dict add("bounds", meshBb)
#define forAll(list, i)
Loop across all elements in list.