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_(mapper(ptf.refValue_)),
69 valueFraction_(mapper(ptf.valueFraction_))
76 const mixedFixedValueSlipFvPatchField<Type>& ptf,
77 const DimensionedField<Type, volMesh>& iF
80 transformFvPatchField<Type>(ptf, iF),
81 refValue_(ptf.refValue_),
82 valueFraction_(ptf.valueFraction_)
91 const fvPatchFieldMapper& m
95 m(refValue_, refValue_);
96 m(valueFraction_, valueFraction_);
103 const fvPatchField<Type>& ptf,
107 transformFvPatchField<Type>::rmap(ptf, addr);
109 const mixedFixedValueSlipFvPatchField<Type>& dmptf =
110 refCast<const mixedFixedValueSlipFvPatchField<Type>>(ptf);
112 refValue_.rmap(dmptf.refValue_, addr);
113 valueFraction_.rmap(dmptf.valueFraction_, addr);
121 tmp<vectorField> nHat = this->patch().nf();
122 Field<Type> pif(this->patchInternalField());
126 valueFraction_*refValue_
128 )*this->patch().deltaCoeffs();
135 const Pstream::commsTypes
138 if (!this->updated())
140 this->updateCoeffs();
145 Field<Type>::operator=
147 valueFraction_*refValue_
149 (1.0 - valueFraction_)
150 *
transform(
I - nHat*nHat, this->patchInternalField())
164 diag.replace(vector::X,
mag(nHat.component(vector::X)));
166 diag.replace(vector::Z,
mag(nHat.component(vector::Z)));
169 valueFraction_*Type(pTraits<Type>::one)
170 + (1.0 - valueFraction_)
171 *transformFieldMask<Type>(
pow<
vector, pTraits<Type>::rank>(
diag));
180 writeEntry(os,
"valueFraction", valueFraction_);
void evaluate(GeometricField< Type, PatchField, GeoMesh > &result, const Function1< Type > &func, const GeometricField< Type, PatchField, GeoMesh > &x)
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
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
List< label > labelList
A List of labels.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
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 &)