Go to the documentation of this file.
103 #ifndef rotorDiskSource_H
104 #define rotorDiskSource_H
240 const bool writeNow =
false
256 const word& modelType,
271 inline scalar
rhoRef()
const;
275 inline scalar
omega()
const;
288 template<
class RhoFieldType>
291 const RhoFieldType&
rho,
295 const bool divideVolume =
true,
296 const bool output =
true
void checkData()
Check data.
virtual void correct(volScalarField &field)
profileModelList profiles_
Profile data.
void calculate(const RhoFieldType &rho, const vectorField &U, const scalarField &thetag, vectorField &force, const bool divideVolume=true, const bool output=true) const
Calculate forces.
virtual bool read(const dictionary &dict)
Read source dictionary.
const coordSystem::cylindrical & coordSys() const
Return the rotor coordinate system (r-theta-z)
A class for handling words, derived from Foam::string.
Cell-set options abtract base class. Provides a base set of controls, e.g.:
void createCoordinateSystem()
Create the coordinate system.
void setFaceArea(vector &axis, const bool correct)
Set the face areas per cell, and optionally correct the rotor axis.
A class for managing temporary objects.
const word & name() const
Return const access to the source name.
scalar rhoRef_
Reference density for incompressible case.
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
scalar omega_
Rotational speed [rad/s].
autoPtr< tensorField > Rcyl_
Cached rotation tensors for cylindrical coordinates.
scalar rMax_
Maximum radius.
scalar omega() const
Return the rotational speed [rad/s].
vector inletVelocity_
Inlet velocity for specified inflow.
TypeName("rotorDisk")
Runtime type information.
Blade model class calculates: Linear interpolated blade twist and chord based on radial position Inte...
List< scalar > area_
Area [m2].
virtual ~rotorDiskSource()
Destructor.
virtual void addSup(fvMatrix< vector > &eqn, const label fieldi)
Source term to momentum equation.
const List< point > & x() const
Return the cell centre positions in local rotor frame.
scalar rhoRef() const
Return the reference density for incompressible case.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Base class for profile models.
rotorDiskSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
void constructGeometry()
Construct geometry.
A cylindrical coordinate system (r-theta-z). The coordinate system angle theta is always in radians.
label nBlades_
Number of blades.
flapData flap_
Blade flap coefficients [rad/s].
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
List< point > x_
Cell centre positions in local rotor frame.
void writeField(const word &name, const List< Type > &values, const bool writeNow=false) const
Helper function to write rotor values.
Mesh data needed to do the Finite Volume discretisation.
bladeModel blade_
Blade data.
static const Enum< geometryModeType > geometryModeTypeNames_
static const Enum< inletFlowType > inletFlowTypeNames_
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
coordSystem::cylindrical coordSys_
Rotor local cylindrical coordinate system (r-theta-z)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
scalar tipEffect_
Tip effect [0-1].
tmp< vectorField > inflowVelocity(const volVectorField &U) const
Return the inlet flow field.
const fvMesh & mesh() const
Return const access to the mesh database.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
inletFlowType inletFlow_
Inlet flow type.
autoPtr< trimModel > trim_
Trim model.
List< tensor > Rcone_
Rotation tensor for flap angle.