35 const DimensionedField<Type, volMesh>& iF
38 transformFvPatchField<Type>(p, iF),
40 valueFraction_(p.size(), 1.0)
48 const DimensionedField<Type, volMesh>& iF,
49 const dictionary&
dict 52 transformFvPatchField<Type>(p, iF),
53 refValue_(
"refValue", dict, p.size()),
54 valueFraction_(
"valueFraction", dict, p.size())
61 const mixedFixedValueSlipFvPatchField<Type>& ptf,
63 const DimensionedField<Type, volMesh>& iF,
64 const fvPatchFieldMapper& mapper
67 transformFvPatchField<Type>(ptf, p, iF, mapper),
68 refValue_(ptf.refValue_, mapper),
69 valueFraction_(ptf.valueFraction_, mapper)
76 const mixedFixedValueSlipFvPatchField<Type>& ptf
79 transformFvPatchField<Type>(ptf),
80 refValue_(ptf.refValue_),
81 valueFraction_(ptf.valueFraction_)
88 const mixedFixedValueSlipFvPatchField<Type>& ptf,
89 const DimensionedField<Type, volMesh>& iF
92 transformFvPatchField<Type>(ptf, iF),
93 refValue_(ptf.refValue_),
94 valueFraction_(ptf.valueFraction_)
103 const fvPatchFieldMapper& m
106 Field<Type>::autoMap(m);
107 refValue_.autoMap(m);
108 valueFraction_.autoMap(m);
115 const fvPatchField<Type>& ptf,
119 transformFvPatchField<Type>::rmap(ptf, addr);
121 const mixedFixedValueSlipFvPatchField<Type>& dmptf =
122 refCast<const mixedFixedValueSlipFvPatchField<Type>>(ptf);
124 refValue_.rmap(dmptf.refValue_, addr);
125 valueFraction_.rmap(dmptf.valueFraction_, addr);
133 tmp<vectorField> nHat = this->patch().nf();
134 Field<Type> pif(this->patchInternalField());
138 valueFraction_*refValue_
140 )*this->patch().deltaCoeffs();
147 const Pstream::commsTypes
150 if (!this->updated())
152 this->updateCoeffs();
157 Field<Type>::operator=
159 valueFraction_*refValue_
161 (1.0 - valueFraction_)
162 *
transform(
I - nHat*nHat, this->patchInternalField())
165 transformFvPatchField<Type>::evaluate();
176 diag.replace(vector::X,
mag(nHat.component(vector::X)));
178 diag.replace(vector::Z,
mag(nHat.component(vector::Z)));
181 valueFraction_*Type(pTraits<Type>::one)
182 + (1.0 - valueFraction_)
183 *transformFieldMask<Type>(
pow<
vector, pTraits<Type>::rank>(
diag));
191 refValue_.writeEntry(
"refValue", os);
192 valueFraction_.writeEntry(
"valueFraction", os);
dimensionedSymmTensor sqr(const dimensionedVector &dv)
volVectorField vectorField(fieldObject, mesh)
virtual tmp< Field< Type > > snGradTransformDiag() const
Return face-gradient transform diagonal.
virtual tmp< Field< Type > > snGrad() const
Return gradient at boundary.
Vector< scalar > vector
A scalar version of the templated Vector.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::blocking)
Evaluate the patch field.
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
static const Identity< scalar > I
List< label > labelList
A List of labels.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
virtual void write(Ostream &) const
Write.
PtrList< volScalarField > & Y
dimensioned< scalar > mag(const dimensioned< Type > &)
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
A class for managing temporary objects.
mixedFixedValueSlipFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
dimensionSet transform(const dimensionSet &)