Cell based momentum source which approximates the mean effects of rotor forces on a cylindrical region within the domain. More...
Public Types | |
enum | geometryModeType { automatic, specified } |
enum | inletFlowType { fixed, surfaceNormal, local } |
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 fvCellSet & | set () const |
const List< point > & | x () const |
Return the cell centre positions in local rotor frame. More... | |
const coordinateSystems::cylindrical & | coordSys () const |
Return the rotor co-ordinate system (r, theta, z) More... | |
virtual wordList | addSupFields () const |
Return the list of fields for which the fvModel adds source term. 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 word &fieldName) const |
Source term to momentum equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const word &fieldName) const |
Source term to compressible momentum equation. More... | |
virtual void | updateMesh (const mapPolyMesh &) |
Update for mesh changes. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
Public Member Functions inherited from fvModel | |
TypeName ("fvModel") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh)) | |
fvModel (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
autoPtr< fvModel > | clone () const |
Return clone. More... | |
virtual | ~fvModel () |
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... | |
virtual bool | addsSupToField (const word &fieldName) const |
Return true if the fvModel adds a source term to the given. More... | |
FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_SUP) | |
Add a source term to an equation. More... | |
FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_RHO_SUP) | |
Add a source term to a compressible equation. More... | |
FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_ALPHA_RHO_SUP) | |
Add a source term to a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field) const |
Return source for an equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
Return source for an equation with a specified name. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const |
Return source for a compressible equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
Return source for a compressible equation with a specified name. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const |
Return source for a phase equation. More... | |
template<class Type > | |
tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
Return source for a phase equation with a specified name. More... | |
virtual void | preUpdateMesh () |
Prepare for mesh update. More... | |
virtual bool | movePoints () |
Update for mesh motion. More... | |
virtual void | correct () |
Correct the fvModel. More... | |
template<class Type , class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
Foam::dimensionSet | sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds, const AlphaRhoFieldType &alphaRho, const AlphaRhoFieldTypes &... alphaRhos) |
template<class Type > | |
Foam::dimensionSet | sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds) |
template<class Type , class ... AlphaRhoFieldTypes> | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhos) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field) const |
template<class Type > | |
Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName) const |
Static Public Attributes | |
static const NamedEnum< geometryModeType, 2 > | geometryModeTypeNames_ |
static const NamedEnum< inletFlowType, 3 > | inletFlowTypeNames_ |
Additional Inherited Members | |
Static Public Member Functions inherited from fvModel | |
template<class Type , class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
static dimensionSet | sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds, const AlphaRhoFieldType &alphaRho, const AlphaRhoFieldTypes &... alphaRhos) |
Return the dimensions of the matrix of a source term. More... | |
template<class Type > | |
static dimensionSet | sourceDims (const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds) |
Return the dimensions of the matrix of a source term (base. More... | |
static autoPtr< fvModel > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvModel. More... | |
Protected Member Functions inherited from fvModel | |
template<class Type > | |
void | addSupType (fvMatrix< Type > &eqn, const word &fieldName) const |
Add a source term to an equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &rho, fvMatrix< Type > &eqn, const word &fieldName) const |
Add a source term to a compressible equation. More... | |
template<class Type > | |
void | addSupType (const volScalarField &alpha, const volScalarField &rho, fvMatrix< Type > &eqn, const word &fieldName) const |
Add a source term to a phase equation. More... | |
template<class Type , class ... AlphaRhoFieldTypes> | |
tmp< fvMatrix< Type > > | source (const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhos) const |
Return source for equation with specified name and dimensions. More... | |
Cell based momentum source which approximates the mean effects of rotor forces on a cylindrical region within the domain.
rotorDiskSource1 { type rotorDisk; U U; // Name of the velocity field 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 for psi angle trimModel fixed; // Trim model; fixed or targetCoeff // see fixedTrim.H or targetCoeffTrim.H for documentation 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; // Profile model; lookup or series ... // see lookupProfile.H or seriesProfile.H for documentation } profile2 { ... } } }
Where: Valid fvModels for the geometryMode
entry include:
Valid fvModels for the inletFlowType
entry include:
Definition at line 126 of file rotorDiskSource.H.
enum geometryModeType |
Enumerator | |
---|---|
automatic | |
specified |
Definition at line 132 of file rotorDiskSource.H.
enum inletFlowType |
Enumerator | |
---|---|
fixed | |
surfaceNormal | |
local |
Definition at line 139 of file rotorDiskSource.H.
rotorDiskSource | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from components.
Definition at line 509 of file rotorDiskSource.C.
Referenced by NamedEnum< compressibleField, 8 >::names().
|
virtual |
Destructor.
Definition at line 543 of file rotorDiskSource.C.
TypeName | ( | "rotorDisk" | ) |
Runtime type information.
|
inline |
Return the reference density for incompressible case.
Definition at line 30 of file rotorDiskSourceI.H.
|
inline |
Return the rotational speed [rad/s].
Positive anti-clockwise when looking along -ve lift direction
Definition at line 36 of file rotorDiskSourceI.H.
|
inline |
Definition at line 42 of file rotorDiskSourceI.H.
|
inline |
Return the cell centre positions in local rotor frame.
(Cylindrical r, theta, z)
Definition at line 48 of file rotorDiskSourceI.H.
|
inline |
Return the rotor co-ordinate system (r, theta, z)
Definition at line 55 of file rotorDiskSourceI.H.
|
virtual |
Return the list of fields for which the fvModel adds source term.
to the transport equation
Reimplemented from fvModel.
Definition at line 549 of file rotorDiskSource.C.
References rotorDiskSource::addSup().
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 Foam::abort(), Foam::atan2(), cells, Foam::dimless, Foam::endl(), f(), Foam::FatalError, FatalErrorInFunction, field(), forAll, Foam::Info, Foam::magSqr(), Foam::max(), mesh, Foam::min(), Foam::name(), Foam::neg(), Foam::nl, IOobject::NO_READ, IOobject::NO_WRITE, Foam::radToDeg(), Foam::reduce(), tmp< T >::ref(), Foam::sign(), List< T >::size(), timeName, Foam::constant::mathematical::twoPi(), Foam::type(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), Vector< Cmpt >::z(), and Foam::Zero.
Source term to momentum equation.
Definition at line 556 of file rotorDiskSource.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, mesh, Foam::name(), fvMatrix< Type >::psi(), timeName, regIOobject::write(), and Foam::Zero.
Referenced by rotorDiskSource::addSupFields().
|
virtual |
Source term to compressible momentum equation.
Definition at line 596 of file rotorDiskSource.C.
References fvMatrix< Type >::dimensions(), Foam::dimVolume, mesh, Foam::name(), fvMatrix< Type >::psi(), timeName, regIOobject::write(), and Foam::Zero.
|
virtual |
Update for mesh changes.
Reimplemented from fvModel.
Definition at line 633 of file rotorDiskSource.C.
|
virtual |
Read source dictionary.
Reimplemented from fvModel.
Definition at line 639 of file rotorDiskSource.C.
References fvModel::read().
|
static |
Definition at line 137 of file rotorDiskSource.H.
Referenced by NamedEnum< compressibleField, 8 >::names().
|
static |
Definition at line 145 of file rotorDiskSource.H.
Referenced by NamedEnum< compressibleField, 8 >::names().