41 mixedFvPatchVectorField(p, iF),
47 refGrad() = vector::zero;
48 valueFraction() = 0.0;
61 mixedFvPatchVectorField(ptf, p, iF, mapper),
62 phiName_(ptf.phiName_),
63 rhoName_(ptf.rhoName_),
64 inletDir_(ptf.inletDir_, mapper)
76 mixedFvPatchVectorField(p, iF),
79 inletDir_(
"inletDirection", dict, p.
size())
83 refGrad() = vector::zero;
84 valueFraction() = 0.0;
94 mixedFvPatchVectorField(pivpvf),
95 phiName_(pivpvf.phiName_),
96 rhoName_(pivpvf.rhoName_),
97 inletDir_(pivpvf.inletDir_)
108 mixedFvPatchVectorField(pivpvf, iF),
109 phiName_(pivpvf.phiName_),
110 rhoName_(pivpvf.rhoName_),
111 inletDir_(pivpvf.inletDir_)
122 mixedFvPatchVectorField::autoMap(m);
123 inletDir_.autoMap(m);
133 mixedFvPatchVectorField::rmap(ptf, addr);
136 refCast<const pressureDirectedInletOutletVelocityFvPatchVectorField>
139 inletDir_.
rmap(tiptf.inletDir_, addr);
161 refValue() = inletDir_*phip/ndmagS;
168 refValue() = inletDir_*phip/(rhop*ndmagS);
174 "pressureDirectedInletOutletVelocityFvPatchVectorField::" 176 ) <<
"dimensions of phi are not correct" 177 <<
"\n on patch " << this->patch().name()
183 valueFraction() = 1.0 -
pos(phip);
185 mixedFvPatchVectorField::updateCoeffs();
195 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
196 writeEntryIfDifferent<word>(os,
"rho",
"rho", rhoName_);
198 writeEntry(
"value", os);
204 void Foam::pressureDirectedInletOutletVelocityFvPatchVectorField::operator=
211 valueFraction()*(inletDir_*(inletDir_ & pvf))
212 + (1 - valueFraction())*pvf
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void write(Ostream &) const
Write.
pressureDirectedInletOutletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
const dimensionSet dimArea(sqr(dimLength))
A class for handling words, derived from string.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Foam::fvPatchFieldMapper.
const dimensionSet dimDensity
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual void write(Ostream &) const
Write.
volVectorField vectorField(fieldObject, mesh)
This velocity inlet/outlet boundary condition is applied to pressure boundaries where the pressure is...
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
Macros for easy insertion into run-time selection tables.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
const dimensionSet & dimensions() const
Return dimensions.
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.
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
rDeltaT dimensionedInternalField()
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
dimensionedScalar pos(const dimensionedScalar &ds)
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
virtual label size() const
Return size.
const dimensionSet dimVelocity
A class for managing temporary objects.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...