37Foam::pressureInletOutletVelocityFvPatchVectorField::
38pressureInletOutletVelocityFvPatchVectorField
44 directionMixedFvPatchVectorField(
p, iF),
49 valueFraction() =
Zero;
53Foam::pressureInletOutletVelocityFvPatchVectorField::
54pressureInletOutletVelocityFvPatchVectorField
62 directionMixedFvPatchVectorField(ptf,
p, iF, mapper),
63 phiName_(ptf.phiName_)
65 if (ptf.tangentialVelocity_.
size())
67 tangentialVelocity_ = mapper(ptf.tangentialVelocity_);
72Foam::pressureInletOutletVelocityFvPatchVectorField::
73pressureInletOutletVelocityFvPatchVectorField
80 directionMixedFvPatchVectorField(
p, iF),
81 phiName_(
dict.getOrDefault<
word>(
"phi",
"phi"))
99 valueFraction() =
Zero;
103Foam::pressureInletOutletVelocityFvPatchVectorField::
104pressureInletOutletVelocityFvPatchVectorField
109 directionMixedFvPatchVectorField(pivpvf),
110 phiName_(pivpvf.phiName_),
111 tangentialVelocity_(pivpvf.tangentialVelocity_)
115Foam::pressureInletOutletVelocityFvPatchVectorField::
116pressureInletOutletVelocityFvPatchVectorField
122 directionMixedFvPatchVectorField(pivpvf, iF),
123 phiName_(pivpvf.phiName_),
124 tangentialVelocity_(pivpvf.tangentialVelocity_)
133 tangentialVelocity_ = tangentialVelocity;
135 refValue() = tangentialVelocity_ -
n*(
n & tangentialVelocity_);
144 directionMixedFvPatchVectorField::autoMap(m);
145 if (tangentialVelocity_.size())
147 tangentialVelocity_.autoMap(m);
158 directionMixedFvPatchVectorField::rmap(ptf, addr);
160 if (tangentialVelocity_.size())
163 refCast<const pressureInletOutletVelocityFvPatchVectorField>(ptf);
165 tangentialVelocity_.rmap(tiptf.tangentialVelocity_, addr);
180 valueFraction() =
neg(phip)*(
I -
sqr(patch().nf()));
182 directionMixedFvPatchVectorField::updateCoeffs();
183 directionMixedFvPatchVectorField::evaluate();
195 if (tangentialVelocity_.size())
197 tangentialVelocity_.writeEntry(
"tangentialVelocity",
os);
199 writeEntry(
"value",
os);
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...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
void size(const label n)
Older name for setAddressableSize.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T getOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
bool found(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Search for an entry (const access) with the given keyword.
friend Ostream & operator(Ostream &, const faMatrix< Type > &)
virtual bool write()
Write the output fields.
A FieldMapper for finite-volume patch fields.
virtual void operator=(const UList< vector > &)
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...
This velocity inlet/outlet boundary condition is applied to velocity boundaries where the pressure is...
virtual void autoMap(const fvPatchFieldMapper &)
Map (and resize as needed) from self given a mapping object.
void setTangentialVelocity(const vectorField &tangentialVelocity)
Reset the tangential velocity.
virtual void rmap(const fvPatchVectorField &, const labelList &)
Reverse map the given fvPatchField onto this fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
static const word null
An empty word.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
dimensionSet transform(const dimensionSet &ds)
Return the argument; transformations do not change the dimensions.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
static const Identity< scalar > I
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
Field< vector > vectorField
Specialisation of Field<T> for vector.
dimensionedScalar neg(const dimensionedScalar &ds)
static constexpr const zero Zero
Global zero (0)