43 valueFraction_(
p.
size(), 1.0),
57 parent_bctype(ptf,
p, iF, mapper),
58 refValue_(ptf.refValue_, mapper),
59 valueFraction_(ptf.valueFraction_, mapper),
60 writeValue_(ptf.writeValue_)
74 valueFraction_(
"valueFraction",
dict,
p.size()),
75 writeValue_(
dict.getOrDefault(
"writeValue", false))
93 parent_bctype(ptf, iF),
94 refValue_(ptf.refValue_),
95 valueFraction_(ptf.valueFraction_),
96 writeValue_(ptf.writeValue_)
119 refValue_.autoMap(m);
120 valueFraction_.autoMap(m);
131 parent_bctype::rmap(ptf, addr);
136 refValue_.rmap(dmptf.refValue_, addr);
137 valueFraction_.rmap(dmptf.valueFraction_, addr);
156 tmp<vectorField> nHat(this->patch().nf());
162 lerp(rotated, refValue_, valueFraction_) - pif
163 )*this->
patch().deltaCoeffs();
173 if (!this->updated())
175 this->updateCoeffs();
178 tmp<Field<Type>> rotated;
183 rotated = this->patchInternalField();
188 rotated =
transform(
I -
sqr(nHat), this->patchInternalField());
194 lerp(rotated, refValue_, valueFraction_)
218 + (1.0 - valueFraction_)
228 this->parent_bctype::write(
os);
231 os.writeEntry(
"writeValue",
"true");
233 refValue_.writeEntry(
"refValue",
os);
234 valueFraction_.writeEntry(
"valueFraction",
os);
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...
@ LAZY_READ
Reading is optional [identical to READ_IF_PRESENT].
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
commsTypes
Communications types.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void readDict(const dictionary &dict)
Read dictionary entries.
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.
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.
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 DimensionedField< Type, volMesh > & internalField() const noexcept
Return const-reference to the dimensioned internal field.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field, sets updated() to false.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A traits class, which is primarily used for primitives and vector-space.
This boundary condition provides a partial slip condition. The amount of slip is controlled by a user...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void write(Ostream &) const
Write.
partialSlipFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual tmp< Field< Type > > snGrad() const
Return gradient at boundary.
virtual void rmap(const fvPatchField< Type > &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual tmp< Field< Type > > snGradTransformDiag() const
Return face-gradient transform diagonal.
virtual void evaluate(const Pstream::commsTypes commsType=Pstream::commsTypes::buffered)
Evaluate the patch field.
A class for managing temporary objects.
const T & cref() const
Return const reference to the object or to the contents of a (non-null) managed pointer.
A class representing the concept of 0 (zero) that can be used to avoid manipulating objects known to ...
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.
List< label > labelList
A List of labels.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
tmp< Field< Type1 > > transformFieldMask(const Field< Type2 > &fld)
refinementData transform(const tensor &, const refinementData val)
No-op rotational transform for base types.
static const Identity< scalar > I
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
constexpr bool is_rotational_vectorspace_v
The is_rotational_vectorspace value of Type.
void cmptMag(FieldField< Field, Type > &cf, const FieldField< Field, Type > &f)
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
dimensioned< Type > lerp(const dimensioned< Type > &a, const dimensioned< Type > &b, const scalar t)
A non-counting (dummy) refCount.