119 this->patchNeighbourField(result);
120 const auto& pnf = result;
124 const auto& addr = this->patch().faceCells();
125 const auto& iF = this->primitiveField();
129 const label len = result.
size();
131 for (label i = 0; i < len; ++i)
133 result[i] = deltaCoeffs[i]*(pnf[i] - iF[addr[i]]);
141 const scalarField& deltaCoeffs
145 this->
snGrad(deltaCoeffs, tresult.ref());
153 if (!this->updated())
163 if (!this->updated())
165 this->updateCoeffs();
168 Field<Type>::operator=
172 this->patchNeighbourField(),
173 this->patchInternalField(),
174 this->
patch().weights()
189 const auto& w = tweights();
191 const label len = result.
size();
193 for (label i = 0; i < len; ++i)
204 const tmp<scalarField>& tweights,
208 const auto& w = tweights();
210 const label len = result.
size();
212 for (label i = 0; i < len; ++i)
224 const tmp<scalarField>& w
249 const label len = result.
size();
251 for (label i = 0; i < len; ++i)
265 const label len = result.
size();
267 for (label i = 0; i < len; ++i)
278 const scalarField& deltaCoeffs
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
readOption
Enumeration defining read preferences.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
void size(const label n)
Older name for setAddressableSize.
commsTypes
Communications types.
Abstract base class for coupled patches.
virtual tmp< Field< Type > > gradientBoundaryCoeffs(const scalarField &deltaCoeffs) const
Return the matrix source coefficients corresponding to the evaluation of the gradient of this patchFi...
virtual void write(Ostream &) const
Write includes "value" entry.
virtual tmp< Field< Type > > gradientInternalCoeffs() const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
virtual tmp< Field< Type > > valueInternalCoeffs(const tmp< scalarField > &) const
Return the matrix diagonal coefficients corresponding to the evaluation of the value of this patchFie...
virtual tmp< Field< Type > > snGrad(const scalarField &deltaCoeffs) const
Return patch-normal gradient.
virtual void initEvaluate(const Pstream::commsTypes commsType)
Initialise the evaluation of the patch field.
virtual tmp< Field< Type > > gradientBoundaryCoeffs() const
Return the matrix source coefficients corresponding to the.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
coupledFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< Field< Type > > valueBoundaryCoeffs(const tmp< scalarField > &) const
Return the matrix source coefficients corresponding to the evaluation of the value of this patchField...
virtual void evaluate(const Pstream::commsTypes commsType)
Evaluate the patch field.
virtual tmp< Field< Type > > patchNeighbourField() const =0
Return neighbour field of internal field.
virtual tmp< Field< Type > > gradientInternalCoeffs(const scalarField &deltaCoeffs) const
Return the matrix diagonal coefficients corresponding to the evaluation of the gradient of this patch...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const fvPatch & patch() const noexcept
Return the patch.
bool updated() const noexcept
True if the boundary condition has already been updated.
A FieldMapper for finite-volume patch fields.
static tmp< fvPatchField< Type > > New(const word &patchFieldType, const fvPatch &, const DimensionedField< Type, volMesh > &)
Return a pointer to a new patchField created on freestore given.
virtual void write(Ostream &) const
Write.
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
const Field< Type > & primitiveField() const noexcept
Return const-reference to the internal field values.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field, sets updated() to false.
fvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
A traits class, which is primarily used for primitives and vector-space.
A class for managing temporary objects.
void clear() const noexcept
If object pointer points to valid object: delete object and set pointer to nullptr.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
OBJstream os(runTime.globalPath()/outputName)
const std::string patch
OpenFOAM patch number as a std::string.
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
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.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
dimensioned< Type > lerp(const dimensioned< Type > &a, const dimensioned< Type > &b, const scalar t)