Rotor disk source. More...


Classes | |
| struct | flapData |
Public Types | |
| enum | geometryModeType { gmAuto, gmSpecified } |
| enum | inletFlowType { ifFixed, ifSurfaceNormal, ifLocal } |
Public Types inherited from cellSetOption | |
| enum | selectionModeType { smPoints, smCellSet, smCellZone, smAll } |
| Enumeration for selection mode types. More... | |
Public Member Functions | |
| TypeName ("rotorDisk") | |
| Runtime type information. More... | |
| rotorDiskSource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| virtual | ~rotorDiskSource () |
| Destructor. More... | |
| scalar | rhoRef () const |
| Return the reference density for incompressible case. More... | |
| scalar | omega () const |
| Return the rotational speed [rad/s]. More... | |
| const List< point > & | x () const |
| Return the cell centre positions in local rotor frame. More... | |
| const cylindricalCS & | coordSys () const |
| Return the rotor co-ordinate system (r, theta, z) More... | |
| template<class RhoFieldType > | |
| void | calculate (const RhoFieldType &rho, const vectorField &U, const scalarField &thetag, vectorField &force, const bool divideVolume=true, const bool output=true) const |
| Calculate forces. More... | |
| virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
| Source term to momentum equation. More... | |
| virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| Source term to compressible momentum equation. More... | |
| virtual bool | read (const dictionary &dict) |
| Read source dictionary. More... | |
Public Member Functions inherited from cellSetOption | |
| TypeName ("cellSetOption") | |
| Runtime type information. More... | |
| cellSetOption (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| virtual | ~cellSetOption () |
| Destructor. More... | |
| scalar | timeStart () const |
| Return const access to the time start. More... | |
| scalar | duration () const |
| Return const access to the duration. More... | |
| bool | inTimeLimits (const scalar time) const |
| Return true if within time limits. More... | |
| const selectionModeType & | selectionMode () const |
| Return const access to the cell selection mode. More... | |
| const word & | cellSetName () const |
| Return const access to the name of cell set for "cellSet". More... | |
| scalar | V () const |
| Return const access to the total cell volume. More... | |
| const labelList & | cells () const |
| Return const access to the cell set. More... | |
| scalar & | timeStart () |
| Return access to the time start. More... | |
| scalar & | duration () |
| Return access to the duration. More... | |
| virtual bool | isActive () |
| Is the source active? More... | |
Public Member Functions inherited from option | |
| TypeName ("option") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, option, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
| option (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| autoPtr< option > | clone () const |
| Return clone. More... | |
| virtual | ~option () |
| Destructor. More... | |
| const word & | name () const |
| Return const access to the source name. More... | |
| const fvMesh & | mesh () const |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs () const |
| Return dictionary. More... | |
| bool | active () const |
| Return const access to the source active flag. More... | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. More... | |
| Switch & | active () |
| Return access to the source active flag. More... | |
| virtual label | applyToField (const word &fieldName) const |
| Return index of field name if found in fieldNames list. More... | |
| virtual void | checkApplied () const |
| Check that the source has been applied. More... | |
| virtual void | addSup (fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< scalar > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< vector > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< sphericalTensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< symmTensor > &eqn, const label fieldi) |
| virtual void | constrain (fvMatrix< tensor > &eqn, const label fieldi) |
| virtual void | correct (volScalarField &field) |
| virtual void | correct (volVectorField &field) |
| virtual void | correct (volSphericalTensorField &field) |
| virtual void | correct (volSymmTensorField &field) |
| virtual void | correct (volTensorField &field) |
| virtual void | writeHeader (Ostream &) const |
| Write the source header information. More... | |
| virtual void | writeFooter (Ostream &) const |
| Write the source footer information. More... | |
| virtual void | writeData (Ostream &) const |
| Write the source properties. More... | |
Static Public Attributes | |
| static const NamedEnum< geometryModeType, 2 > | geometryModeTypeNames_ |
| static const NamedEnum< inletFlowType, 3 > | inletFlowTypeNames_ |
Static Public Attributes inherited from cellSetOption | |
| static const NamedEnum< selectionModeType, 4 > | selectionModeTypeNames_ |
| Word list of selection mode type names. More... | |
Protected Member Functions | |
| void | checkData () |
| Check data. More... | |
| void | setFaceArea (vector &axis, const bool correct) |
| Set the face areas per cell, and optionally correct the rotor axis. More... | |
| void | createCoordinateSystem () |
| Create the co-ordinate system. More... | |
| void | constructGeometry () |
| Construct geometry. More... | |
| tmp< vectorField > | inflowVelocity (const volVectorField &U) const |
| Return the inlet flow field. More... | |
| template<class Type > | |
| void | writeField (const word &name, const List< Type > &values, const bool writeNow=false) const |
| Helper function to write rotor values. More... | |
Protected Member Functions inherited from cellSetOption | |
| void | setSelection (const dictionary &dict) |
| Set the cellSet or points selection. More... | |
| void | setCellSet () |
| Set the cell set based on the user input selection mode. More... | |
Protected Attributes | |
| scalar | rhoRef_ |
| Reference density for incompressible case. More... | |
| scalar | omega_ |
| Rotational speed [rad/s]. More... | |
| label | nBlades_ |
| Number of blades. More... | |
| inletFlowType | inletFlow_ |
| Inlet flow type. More... | |
| vector | inletVelocity_ |
| Inlet velocity for specified iinflow. More... | |
| scalar | tipEffect_ |
| Tip effect [0-1]. More... | |
| flapData | flap_ |
| Blade flap coefficients [rad/s]. More... | |
| List< point > | x_ |
| Cell centre positions in local rotor frame. More... | |
| List< tensor > | R_ |
| Rotation tensor for flap angle. More... | |
| List< tensor > | invR_ |
| Inverse rotation tensor for flap angle. More... | |
| List< scalar > | area_ |
| Area [m2]. More... | |
| cylindricalCS | coordSys_ |
| Rotor local cylindrical co-ordinate system (r, theta, z) More... | |
| autoPtr< cylindrical > | cylindrical_ |
| Rotor transformation co-ordinate system. More... | |
| scalar | rMax_ |
| Maximum radius. More... | |
| autoPtr< trimModel > | trim_ |
| Trim model. More... | |
| bladeModel | blade_ |
| Blade data. More... | |
| profileModelList | profiles_ |
| Profile data. More... | |
Protected Attributes inherited from cellSetOption | |
| scalar | timeStart_ |
| Time start. More... | |
| scalar | duration_ |
| Duration. More... | |
| selectionModeType | selectionMode_ |
| Cell selection mode. More... | |
| word | cellSetName_ |
| Name of cell set for "cellSet" and "cellZone" selectionMode. More... | |
| List< point > | points_ |
| List of points for "points" selectionMode. More... | |
| labelList | cells_ |
| Set of cells to apply source to. More... | |
| scalar | V_ |
| Sum of cell volumes. More... | |
Protected Attributes inherited from option | |
| const word | name_ |
| Source name. More... | |
| const word | modelType_ |
| Model type. More... | |
| const fvMesh & | mesh_ |
| Reference to the mesh database. More... | |
| dictionary | dict_ |
| Top level source dictionary. More... | |
| dictionary | coeffs_ |
| Dictionary containing source coefficients. More... | |
| Switch | active_ |
| Source active flag. More... | |
| wordList | fieldNames_ |
| Field names to apply source to - populated by derived models. More... | |
| List< bool > | applied_ |
| Applied flag list - corresponds to each fieldNames_ entry. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from option | |
| static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
| Return a reference to the selected fvOption model. More... | |
Rotor disk source.
Cell based momemtum source which approximates the mean effects of rotor forces on a cylindrical region within the domain.
fields (U); // names of fields on which to apply source
nBlades 3; // number of blades
tipEffect 0.96; // normalised radius above which lift = 0
inletFlowType local; // inlet flow type specification
geometryMode auto; // geometry specification
refDirection (-1 0 0); // reference direction
// - used as reference for psi angle
trimModel fixed; // fixed || targetForce
flapCoeffs
{
beta0 0; // coning angle [deg]
beta1c 0; // lateral flapping coeff (cos coeff)
beta2s 0; // longitudinal flapping coeff (sin coeff)
}
blade
{
// see bladeModel.H for documentation
}
profiles
{
profile1
{
type lookup; // lookup || series
...
// see lookupProfile.H or seriesProfile.H for documentation
}
profile2
{
...
}
}
Where: Valid options for the geometryMode entry include:
Valid options for the inletFlowType entry include:
Definition at line 122 of file rotorDiskSource.H.
| enum geometryModeType |
| Enumerator | |
|---|---|
| gmAuto | |
| gmSpecified | |
Definition at line 128 of file rotorDiskSource.H.
| enum inletFlowType |
| Enumerator | |
|---|---|
| ifFixed | |
| ifSurfaceNormal | |
| ifLocal | |
Definition at line 135 of file rotorDiskSource.H.
| rotorDiskSource | ( | const word & | name, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh | ||
| ) |
Construct from components.
Definition at line 468 of file rotorDiskSource.C.
References Foam::read().
Referenced by rotorDiskSource::inflowVelocity().


|
virtual |
Destructor.
Definition at line 501 of file rotorDiskSource.C.
References rotorDiskSource::addSup().

|
protected |
Check data.
Definition at line 70 of file rotorDiskSource.C.
References Foam::abort(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::nl, and Foam::readScalar().

|
protected |
Set the face areas per cell, and optionally correct the rotor axis.
Definition at line 126 of file rotorDiskSource.C.
References polyPatch::coupled(), Foam::dimArea, Foam::endl(), forAll, Foam::identity(), Foam::Info, Foam::mag(), n, IOobject::NO_READ, IOobject::NO_WRITE, patchi, Foam::reduce(), polyPatch::start(), syncTools::swapBoundaryFaceList(), Foam::type(), Ostream::write(), and Foam::Zero.

|
protected |
Create the co-ordinate system.
Definition at line 262 of file rotorDiskSource.C.
References C::C(), Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::gSum(), Foam::Info, Foam::mag(), Foam::nl, Foam::constant::mathematical::pi(), Foam::reduce(), Foam::sqrt(), and Foam::Zero.

|
protected |
Construct geometry.
Definition at line 397 of file rotorDiskSource.C.
References beta(), Foam::constant::universal::c, C::C(), Foam::cos(), forAll, rotorDiskSource::inflowVelocity(), Foam::max(), psi, s(), Foam::sin(), and x.

|
protected |
Return the inlet flow field.
Definition at line 432 of file rotorDiskSource.C.
References Foam::abort(), Foam::FatalError, FatalErrorInFunction, GeometricField< Type, PatchField, GeoMesh >::primitiveField(), rotorDiskSource::rotorDiskSource(), and Foam::Zero.
Referenced by rotorDiskSource::constructGeometry().


|
protected |
Helper function to write rotor values.
Definition at line 162 of file rotorDiskSourceTemplates.C.
References Foam::abort(), Foam::dimless, Foam::FatalError, FatalErrorInFunction, forAll, IOobject::NO_READ, IOobject::NO_WRITE, tmp< T >::ref(), List< T >::size(), and Foam::Zero.
Referenced by rotorDiskSource::calculate().


| TypeName | ( | "rotorDisk" | ) |
Runtime type information.
|
inline |
Return the reference density for incompressible case.
Definition at line 30 of file rotorDiskSourceI.H.
References rotorDiskSource::rhoRef_.
|
inline |
Return the rotational speed [rad/s].
Positive anti-clockwise when looking along -ve lift direction
Definition at line 36 of file rotorDiskSourceI.H.
References rotorDiskSource::omega_.
|
inline |
Return the cell centre positions in local rotor frame.
(Cylindrical r, theta, z)
Definition at line 42 of file rotorDiskSourceI.H.
References rotorDiskSource::x_.
|
inline |
Return the rotor co-ordinate system (r, theta, z)
Definition at line 48 of file rotorDiskSourceI.H.
References rotorDiskSource::coordSys_.
| void calculate | ( | const RhoFieldType & | rho, |
| const vectorField & | U, | ||
| const scalarField & | thetag, | ||
| vectorField & | force, | ||
| const bool | divideVolume = true, |
||
| const bool | output = true |
||
| ) | const |
Calculate forces.
Definition at line 36 of file rotorDiskSourceTemplates.C.
References alphaEff(), Foam::atan2(), Foam::endl(), f(), forAll, Foam::Info, Foam::magSqr(), Foam::max(), Foam::min(), Foam::neg(), Foam::nl, pDyn(), Foam::constant::mathematical::pi(), Foam::radToDeg(), Foam::reduce(), Foam::constant::mathematical::twoPi(), Foam::type(), rotorDiskSource::writeField(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

Source term to momentum equation.
Reimplemented from option.
Definition at line 508 of file rotorDiskSource.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, fvMatrix< Type >::psi(), regIOobject::write(), and Foam::Zero.
Referenced by rotorDiskSource::~rotorDiskSource().


|
virtual |
Source term to compressible momentum equation.
Reimplemented from option.
Definition at line 548 of file rotorDiskSource.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, fvMatrix< Type >::psi(), regIOobject::write(), and Foam::Zero.

|
virtual |
Read source dictionary.
Reimplemented from cellSetOption.
Definition at line 585 of file rotorDiskSource.C.
References Foam::degToRad(), dictionary::lookup(), Foam::blockMeshTools::read(), Foam::readScalar(), and Foam::constant::mathematical::twoPi().

|
static |
Definition at line 133 of file rotorDiskSource.H.
|
static |
Definition at line 141 of file rotorDiskSource.H.
|
protected |
Reference density for incompressible case.
Definition at line 160 of file rotorDiskSource.H.
Referenced by rotorDiskSource::rhoRef().
|
protected |
Rotational speed [rad/s].
Positive anti-clockwise when looking along -ve lift direction
Definition at line 164 of file rotorDiskSource.H.
Referenced by rotorDiskSource::omega().
|
protected |
Number of blades.
Definition at line 167 of file rotorDiskSource.H.
|
protected |
Inlet flow type.
Definition at line 170 of file rotorDiskSource.H.
|
protected |
Inlet velocity for specified iinflow.
Definition at line 173 of file rotorDiskSource.H.
|
protected |
Tip effect [0-1].
Ratio of blade radius beyond which lift=0
Definition at line 177 of file rotorDiskSource.H.
|
protected |
Blade flap coefficients [rad/s].
Definition at line 180 of file rotorDiskSource.H.
Cell centre positions in local rotor frame.
(Cylindrical r, theta, z)
Definition at line 184 of file rotorDiskSource.H.
Referenced by rotorDiskSource::x().
Rotation tensor for flap angle.
Definition at line 187 of file rotorDiskSource.H.
Inverse rotation tensor for flap angle.
Definition at line 190 of file rotorDiskSource.H.
|
protected |
Area [m2].
Definition at line 193 of file rotorDiskSource.H.
|
protected |
Rotor local cylindrical co-ordinate system (r, theta, z)
Definition at line 196 of file rotorDiskSource.H.
Referenced by rotorDiskSource::coordSys().
|
protected |
Rotor transformation co-ordinate system.
Definition at line 199 of file rotorDiskSource.H.
|
protected |
Maximum radius.
Definition at line 202 of file rotorDiskSource.H.
Trim model.
Definition at line 205 of file rotorDiskSource.H.
|
protected |
Blade data.
Definition at line 208 of file rotorDiskSource.H.
|
protected |
Profile data.
Definition at line 211 of file rotorDiskSource.H.
1.8.13