56 parent_bctype(ptf,
p, iF, mapper),
57 fixedValue_(ptf.fixedValue_, mapper),
58 writeValue_(ptf.writeValue_)
71 fixedValue_(
"fixedValue",
dict,
p.size()),
72 writeValue_(
dict.getOrDefault(
"writeValue", false))
87 fixedValue_(ptf.fixedValue_),
88 writeValue_(ptf.writeValue_)
99 parent_bctype(ptf, iF),
100 fixedValue_(ptf.fixedValue_),
101 writeValue_(ptf.writeValue_)
114 fixedValue_.autoMap(m);
125 parent_bctype::rmap(ptf, addr);
130 fixedValue_.rmap(dmptf.fixedValue_, addr);
141 "normal-slip with vector, tensor only!"
149 (nHat*(nHat & fixedValue_) +
transform(
I -
sqr(nHat), pif)) - pif
150 )*this->
patch().deltaCoeffs();
160 if (!this->updated())
162 this->updateCoeffs();
167 Field<Type>::operator=
169 nHat*(nHat & fixedValue_)
184 "normal-slip with vector, tensor only!"
203 this->parent_bctype::write(
os);
206 os.writeEntry(
"writeValue",
"true");
208 fixedValue_.writeEntry(
"fixedValue",
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...
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,...
This boundary condition sets the patch-normal component to the field (vector or tensor) to the patch-...
virtual void write(Ostream &) const
Write.
fixedNormalSlipFvPatchField(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 > &ptf, const labelList &addr)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void autoMap(const fvPatchFieldMapper &m)
Map (and resize as needed) from self given a mapping object.
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.
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.
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.
A class for managing temporary objects.
OBJstream os(runTime.globalPath()/outputName)
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)
Field< vector > vectorField
Specialisation of Field<T> for vector.
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 > &)
A non-counting (dummy) refCount.