41 valueFraction_(p.
size())
55 refValue_(ptf.refValue_, mapper),
56 refGrad_(ptf.refGrad_, mapper),
57 valueFraction_(ptf.valueFraction_, mapper)
62 <<
"On field " << iF.name() <<
" patch " << p.name()
63 <<
" patchField " << this->
type()
64 <<
" : mapper does not map all values." <<
nl 65 <<
" To avoid this warning fully specify the mapping in derived" 66 <<
" patch fields." <<
endl;
80 refValue_(
"refValue", dict, p.
size()),
81 refGrad_(
"refGradient", dict, p.
size()),
82 valueFraction_(
"valueFraction", dict, p.
size())
96 refValue_(ptf.refValue_),
97 refGrad_(ptf.refGrad_),
98 valueFraction_(ptf.valueFraction_)
111 refValue_.autoMap(m);
113 valueFraction_.autoMap(m);
127 refCast<const directionMixedFvPatchField<Type>>(ptf);
129 refValue_.
rmap(dmptf.refValue_, addr);
130 refGrad_.rmap(dmptf.refGrad_, addr);
131 valueFraction_.rmap(dmptf.valueFraction_, addr);
143 tmp<Field<Type>> gradValue = pif + refGrad_/this->patch().deltaCoeffs();
149 (normalValue + transformGradValue - pif)*
150 this->patch().deltaCoeffs();
157 if (!this->updated())
159 this->updateCoeffs();
165 this->patchInternalField() + refGrad_/this->patch().deltaCoeffs();
185 sqrt(
mag(valueFraction_.component(symmTensor::XX)))
190 sqrt(
mag(valueFraction_.component(symmTensor::YY)))
195 sqrt(
mag(valueFraction_.component(symmTensor::ZZ)))
198 return transformFieldMask<Type>(pow<vector, pTraits<Type>::rank>(
diag));
206 refValue_.writeEntry(
"refValue", os);
207 refGrad_.writeEntry(
"refGradient", os);
208 valueFraction_.writeEntry(
"valueFraction", os);
209 this->writeEntry(
"value", os);
directionMixedFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void write(Ostream &) const
Write.
commsTypes
Types of communications.
void size(const label)
Override size to be inconsistent with allocated storage.
dimensionedScalar sqrt(const dimensionedScalar &ds)
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
Base class for direction-mixed boundary conditions.
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
virtual tmp< Field< Type > > snGrad() const
Return gradient at boundary.
static const Identity< scalar > I
Pre-declare SubField and related Field type.
Foam::fvPatchFieldMapper.
virtual bool hasUnmapped() const =0
Are there unmapped values? I.e. do all size() elements get.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
bool notNull(const T &t)
Return true if t is not a reference to the nullObject of type T.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field.
#define WarningInFunction
Report a warning using Foam::Warning.
PtrList< volScalarField > & Y
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
dimensioned< scalar > mag(const dimensioned< Type > &)
A class for managing temporary objects.
virtual tmp< Field< Type > > snGradTransformDiag() const
Return face-gradient transform diagonal.
dimensionSet transform(const dimensionSet &)