41 directionMixedFvPatchVectorField(p, iF),
43 fixTangentialInflow_(
true),
51 valueFraction() =
Zero;
63 directionMixedFvPatchVectorField(p, iF),
65 fixTangentialInflow_(dict.
lookup(
"fixTangentialInflow")),
72 refValue() = normalVelocity();
74 valueFraction() =
Zero;
87 directionMixedFvPatchVectorField(ptf, p, iF, mapper),
88 phiName_(ptf.phiName_),
89 fixTangentialInflow_(ptf.fixTangentialInflow_),
103 directionMixedFvPatchVectorField(pivpvf),
104 phiName_(pivpvf.phiName_),
105 fixTangentialInflow_(pivpvf.fixTangentialInflow_),
117 directionMixedFvPatchVectorField(pivpvf, iF),
118 phiName_(pivpvf.phiName_),
119 fixTangentialInflow_(pivpvf.fixTangentialInflow_),
131 directionMixedFvPatchVectorField::autoMap(m);
132 normalVelocity_->autoMap(m);
142 directionMixedFvPatchVectorField::rmap(ptf, addr);
145 refCast<const fixedNormalInletOutletVelocityFvPatchVectorField>(ptf);
158 normalVelocity_->evaluate();
161 valueFraction() =
sqr(patch().nf());
163 if (fixTangentialInflow_)
168 valueFraction() +=
neg(phip)*(
I - valueFraction());
171 directionMixedFvPatchVectorField::updateCoeffs();
172 directionMixedFvPatchVectorField::evaluate();
183 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
184 os.writeKeyword(
"fixTangentialInflow")
186 os.writeKeyword(
"normalVelocity")
188 normalVelocity_->write(os);
190 writeEntry(
"value", os);
196 void Foam::fixedNormalInletOutletVelocityFvPatchVectorField::operator=
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
const fvPatchVectorField & normalVelocity() const
Return the BC which provides the normal component of velocity.
Ostream & indent(Ostream &os)
Indent stream.
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 any number of values (e...
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
volVectorField vectorField(fieldObject, mesh)
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
virtual void write(Ostream &) const
Write.
dimensionedScalar neg(const dimensionedScalar &ds)
Macros for easy insertion into run-time selection tables.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
static const Identity< scalar > I
A class for handling words, derived from string.
fixedNormalInletOutletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
Foam::fvPatchFieldMapper.
virtual label size() const
Return size.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
virtual void operator=(const UList< Type > &)
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Ostream & incrIndent(Ostream &os)
Increment the indent level.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
virtual void write(Ostream &) const
Write.
dimensionSet transform(const dimensionSet &)
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
virtual tmp< fvPatchField< Type > > clone() const
Construct and return a clone.