Go to the documentation of this file.
44 directionMixedFvPatchVectorField(
p, iF),
46 fixTangentialInflow_(
true),
54 valueFraction() =
Zero;
66 directionMixedFvPatchVectorField(
p, iF),
67 phiName_(
dict.getOrDefault<
word>(
"phi",
"phi")),
68 fixTangentialInflow_(
dict.lookup(
"fixTangentialInflow")),
74 patchType() =
dict.getOrDefault<
word>(
"patchType", word::null);
76 refValue() = normalVelocity();
78 valueFraction() =
Zero;
91 directionMixedFvPatchVectorField(ptf,
p, iF, mapper),
107 directionMixedFvPatchVectorField(pivpvf),
121 directionMixedFvPatchVectorField(pivpvf, iF),
135 directionMixedFvPatchVectorField::autoMap(m);
136 normalVelocity_->autoMap(m);
146 directionMixedFvPatchVectorField::rmap(ptf, addr);
149 refCast<const fixedNormalInletOutletVelocityFvPatchVectorField>(ptf);
165 valueFraction() =
sqr(
patch().nf());
172 valueFraction() +=
neg(phip)*(
I - valueFraction());
175 directionMixedFvPatchVectorField::updateCoeffs();
188 os.
writeEntry(
"fixTangentialInflow", fixTangentialInflow_);
191 normalVelocity_->
write(os);
194 writeEntry(
"value", os);
200 void Foam::fixedNormalInletOutletVelocityFvPatchVectorField::operator=
virtual void write(Ostream &) const
Write.
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
virtual Ostream & beginBlock(const keyType &kw)
Write begin block group with the given name.
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
Field< vector > vectorField
Specialisation of Field<T> for vector.
word phiName_
Flux field name.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
Switch fixTangentialInflow_
Set true to fix the tangential component for inflow.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< fvPatchVectorField > normalVelocity_
BC which provided the normal component of the velocity.
virtual Ostream & endBlock()
Write end block group.
This velocity inlet/outlet boundary condition combines a fixed normal component obtained from the "no...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void write(Ostream &) const
Write.
Macros for easy insertion into run-time selection tables.
virtual bool write(const token &tok)=0
Write token to stream or otherwise handle it.
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
const std::string patch
OpenFOAM patch number as a std::string.
fixedNormalInletOutletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
Foam::fvPatchFieldMapper.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
virtual void operator=(const UList< Type > &)
dimensionedScalar neg(const dimensionedScalar &ds)
string evaluate(const std::string &s, size_t pos=0, size_t len=std::string::npos)
static const Identity< scalar > I
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const fvPatchVectorField & normalVelocity() const
Return the BC which provides the normal component of velocity.