64 phiName_(
dict.getOrDefault<
word>(
"phi",
"phi")),
65 rhoName_(
dict.getOrDefault<
word>(
"rho",
"rho")),
82 ? -
gSum(patch().Sf())/
gSum(patch().magSf())
101 phiName_(ptf.phiName_),
102 rhoName_(ptf.rhoName_),
103 origin_(ptf.origin_),
105 flowRate_(ptf.flowRate_.
clone()),
106 rpm_(ptf.rpm_.
clone())
117 phiName_(ptf.phiName_),
118 rhoName_(ptf.rhoName_),
119 origin_(ptf.origin_),
121 flowRate_(ptf.flowRate_.
clone()),
122 rpm_(ptf.rpm_.
clone())
134 phiName_(ptf.phiName_),
135 rhoName_(ptf.rhoName_),
136 origin_(ptf.origin_),
139 rpm_(ptf.rpm_.
clone())
151 const scalar totArea =
gSum(patch().magSf());
153 if (totArea > ROOTVSMALL && axis_ !=
vector(
Zero))
155 const scalar t = this->db().time().timeOutputValue();
156 const scalar flowRate = flowRate_->value(t);
157 const scalar omega =
rpmToRads(rpm_->value(t));
159 const scalar avgU = -flowRate/totArea;
164 tmp<vectorField> tangentialVelocity
166 axisHat ^ omega*(patch().Cf() - origin_)
169 tmp<vectorField>
n = patch().nf();
189 <<
"dimensions of " << phiName_ <<
" are incorrect" <<
nl
190 <<
" on patch " << this->
patch().name()
191 <<
" of field " << this->internalField().name()
192 <<
" in file " << this->internalField().objectPath()
211 flowRate_->writeData(
os);
224 swirlFlowRateInletVelocityFvPatchVectorField
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...
Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a c...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Ostream & writeEntry(const keyType &key, const T &value)
Write a keyword/value entry.
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
This boundary condition supplies a fixed value constraint, and is the base class for a number of othe...
A FieldMapper for finite-volume patch fields.
virtual void write(Ostream &) const
Write.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
This boundary condition provides a volumetric- OR mass-flow normal vector boundary condition by its m...
virtual void write(Ostream &) const
Write.
virtual tmp< fvPatchField< vector > > clone() const
Return a clone.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
swirlFlowRateInletVelocityFvPatchVectorField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
A class for managing temporary objects.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
#define makePatchTypeField(PatchTypeField, typePatchTypeField)
Define a concrete fvPatchField type and add to run-time tables Example, (fvPatchScalarField,...
const std::string patch
OpenFOAM patch number as a std::string.
bool returnReduceOr(const bool value, const int communicator=UPstream::worldComm)
Perform logical (or) MPI Allreduce on a copy. Uses UPstream::reduceOr.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
Type gSum(const FieldField< Field, Type > &f)
Type gWeightedAverage(const UList< scalar > &weights, const UList< Type > &fld, const label comm)
The global weighted average of a field, using the mag() of the weights.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
constexpr scalar rpmToRads() noexcept
Multiplication factor for revolutions/minute to radians/sec.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
static constexpr const zero Zero
Global zero (0).
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
const dimensionSet dimVolume(pow3(dimLength))
errorManipArg< error, int > exit(error &err, const int errNo=1)
fvPatchField< vector > fvPatchVectorField
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
constexpr char nl
The newline '\n' character (0x0a).
Unit conversion functions.