42 directionMixedFvPatchVectorField(
p, iF),
43 phiName_(
dict.lookupOrDefault<
word>(
"phi",
"phi")),
44 fixTangentialInflow_(
dict.lookup(
"fixTangentialInflow")),
56 valueFraction() =
Zero;
69 directionMixedFvPatchVectorField(ptf,
p, iF, mapper),
70 phiName_(ptf.phiName_),
71 fixTangentialInflow_(ptf.fixTangentialInflow_),
86 directionMixedFvPatchVectorField(pivpvf, iF),
87 phiName_(pivpvf.phiName_),
88 fixTangentialInflow_(pivpvf.fixTangentialInflow_),
89 normalVelocity_(pivpvf.normalVelocity().
clone(iF))
101 directionMixedFvPatchVectorField::map(ptf, mapper);
104 refCast<const fixedNormalInletOutletVelocityFvPatchVectorField>(ptf);
115 directionMixedFvPatchVectorField::reset(ptf);
118 refCast<const fixedNormalInletOutletVelocityFvPatchVectorField>(ptf);
131 normalVelocity_->evaluate();
132 refValue() = normalVelocity();
134 valueFraction() =
sqr(patch().nf());
136 if (fixTangentialInflow_)
141 valueFraction() +=
neg(phip)*(
I - valueFraction());
144 directionMixedFvPatchVectorField::updateCoeffs();
156 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
157 writeEntry(os,
"fixTangentialInflow", fixTangentialInflow_);
160 normalVelocity_->
write(os);
168 void Foam::fixedNormalInletOutletVelocityFvPatchVectorField::operator=
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet & dimensions() const
Return dimensions.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual Ostream & write(const char)=0
Write character.
A list of keyword definitions, which are a keyword followed by any number of values (e....
Abstract base class for field mapping.
This velocity inlet/outlet boundary condition combines a fixed normal component obtained from the "no...
fixedNormalInletOutletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void reset(const fvPatchVectorField &)
Reset the fvPatchField to the given fvPatchField.
const fvPatchVectorField & normalVelocity() const
Return the BC which provides the normal component of velocity.
virtual void map(const fvPatchVectorField &, const fieldMapper &)
Map the given fvPatchField onto this fvPatchField.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
virtual void operator=(const UList< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
A class for managing temporary objects.
A class for handling words, derived from string.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
SurfaceField< scalar > surfaceScalarField
static const Identity< scalar > I
Ostream & incrIndent(Ostream &os)
Increment the indent level.
void writeEntry(Ostream &os, const HashTable< T, Key, Hash > &ht)
dimensionSet transform(const dimensionSet &)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensionedScalar neg(const dimensionedScalar &ds)
void evaluate(GeometricField< Type, PatchField, GeoMesh > &result, const Function1< Type > &func, const GeometricField< Type, PatchField, GeoMesh > &x)
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
Ostream & writeKeyword(Foam::Ostream &os, const keyType &kw)
Write the keyword to the Ostream with the current level of indentation.
Ostream & indent(Ostream &os)
Indent stream.