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... | |
| rotorDisk (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
| Construct from components. More... | |
| virtual | ~rotorDisk () |
| Destructor. More... | |
| scalar | rhoRef () const |
| Return the reference density for incompressible case. More... | |
| scalar | omega () const |
| Return the rotational speed [rad/s]. More... | |
| const fvCellZone & | zone () 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 (const volVectorField &U, fvMatrix< vector > &eqn) const |
| Source term to momentum equation. More... | |
| virtual void | addSup (const volScalarField &rho, const volVectorField &U, fvMatrix< vector > &eqn) const |
| Source term to compressible momentum equation. More... | |
| virtual bool | movePoints () |
| Update for mesh motion. More... | |
| virtual void | topoChange (const polyTopoChangeMap &) |
| Update topology using the given map. More... | |
| virtual void | mapMesh (const polyMeshMap &) |
| Update from another mesh using the given map. More... | |
| virtual void | distribute (const polyDistributionMap &) |
| Redistribute or update using the given distribution map. 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 fvMesh &mesh, const dictionary &dict),(name, modelType, mesh, dict)) | |
| fvModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict) | |
| 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 word & | keyword () const |
| Return name as the keyword. More... | |
| const fvMesh & | mesh () const |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs (const dictionary &) const |
| Return the coefficients sub-dictionary. More... | |
| virtual bool | addsSupToField (const word &fieldName) const |
| Return true if the fvModel adds a source term to the given. More... | |
| virtual scalar | maxDeltaT () const |
| Return the maximum time-step for stable operation. More... | |
| virtual void | addSup (fvMatrix< scalar > &eqn) const |
| Add a source term to a field-less proxy equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
| Add a source term to an equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const VolField< Type > &field) const |
| Return source for an equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for an equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a compressible equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for a compressible equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| Return source for a phase equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| Return source for a phase equation. More... | |
| template<class Type > | |
| tmp< fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
| Return source for an equation with a second time derivative. More... | |
| virtual void | preUpdateMesh () |
| Prepare for mesh update. More... | |
| virtual void | correct () |
| Correct the fvModel. More... | |
| virtual bool | write (const bool write=true) const |
| Write fvModel data. More... | |
| template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
| Foam::dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
| const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| template<class AlphaRhoFieldType > | |
| const Foam::word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
| template<class Type , class ... AlphaRhoFieldTypes> | |
| Foam::tmp< Foam::fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &eqnField) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &rho, const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const |
| template<class Type > | |
| Foam::tmp< Foam::fvMatrix< Type > > | d2dt2 (const VolField< Type > &field) const |
Static Public Attributes | |
| static const NamedEnum< geometryModeType, 2 > | geometryModeTypeNames_ |
| static const NamedEnum< inletFlowType, 3 > | inletFlowTypeNames_ |
Static Public Attributes inherited from fvModel | |
| static const wordHashSet | keywords |
| The keywords read by this class. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from fvModel | |
| static const dictionary & | coeffs (const word &modelType, const dictionary &) |
| Return the coefficients sub-dictionary for a given model type. More... | |
| template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
| static dimensionSet | sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| Return the dimensions of the matrix of a source term. More... | |
| static const dimensionSet & | sourceDims (const dimensionSet &ds) |
| Return the dimensions of the matrix of a source term (base. More... | |
| template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes> | |
| static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields) |
| Return the name of the field associated with a source term. More... | |
| template<class AlphaRhoFieldType > | |
| static const word & | fieldName (const AlphaRhoFieldType &alphaRhoField) |
| Return the name of the field associated with a source term (base. More... | |
| static const word & | fieldName () |
| Return the name of the field associated with a source term. Special. More... | |
| static autoPtr< fvModel > | New (const word &name, const fvMesh &mesh, const dictionary &dict) |
| Return a reference to the selected fvModel. More... | |
Protected Member Functions inherited from fvModel | |
| template<class Type > | |
| void | addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to an equation. More... | |
| template<class Type > | |
| void | addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to a compressible equation. More... | |
| template<class Type > | |
| void | addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const |
| Add a source term to a phase equation. More... | |
| template<class Type , class ... AlphaRhoFieldTypes> | |
| tmp< fvMatrix< Type > > | sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const |
| Return a source for an equation. More... | |
Cell based momentum source which approximates the mean effects of rotor forces on a cylindrical region within the domain.
rotorDisk1
{
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 122 of file rotorDisk.H.
| enum geometryModeType |
| Enumerator | |
|---|---|
| automatic | |
| specified | |
Definition at line 128 of file rotorDisk.H.
| enum inletFlowType |
| Enumerator | |
|---|---|
| fixed | |
| surfaceNormal | |
| local | |
Definition at line 135 of file rotorDisk.H.
| rotorDisk | ( | const word & | name, |
| const word & | modelType, | ||
| const fvMesh & | mesh, | ||
| const dictionary & | dict | ||
| ) |
Construct from components.
Definition at line 486 of file rotorDisk.C.
References fvModel::coeffs(), and dict.

|
virtual |
Destructor.
Definition at line 521 of file rotorDisk.C.
| TypeName | ( | "rotorDisk" | ) |
Runtime type information.
|
inline |
Return the reference density for incompressible case.
Definition at line 30 of file rotorDiskI.H.
|
inline |
Return the rotational speed [rad/s].
Positive anti-clockwise when looking along -ve lift direction
Definition at line 36 of file rotorDiskI.H.
|
inline |
Definition at line 42 of file rotorDiskI.H.
|
inline |
Return the cell centre positions in local rotor frame.
(Cylindrical r, theta, z)
Definition at line 48 of file rotorDiskI.H.
|
inline |
Return the rotor co-ordinate system (r, theta, z)
Definition at line 55 of file rotorDiskI.H.
|
virtual |
Return the list of fields for which the fvModel adds source term.
to the transport equation
Reimplemented from fvModel.
Definition at line 527 of file rotorDisk.C.
| 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 34 of file rotorDiskTemplates.C.
References Foam::atan2(), cells, Foam::endl(), f(), forAll, Foam::Info, Foam::magSqr(), Foam::max(), mesh, Foam::min(), Foam::neg(), Foam::nl, Foam::radToDeg(), Foam::reduce(), rho, Foam::sign(), Foam::constant::mathematical::twoPi(), Foam::type(), U, fvMesh::V(), Vector< Cmpt >::x(), Vector< Cmpt >::y(), and Vector< Cmpt >::z().

|
virtual |
Source term to momentum equation.
Definition at line 533 of file rotorDisk.C.
References Foam::fvPatchDistWave::calculate(), fvMatrix< Type >::dimensions(), Foam::dimVolume, Foam::exit(), Foam::FatalError, mesh, Foam::name(), U, regIOobject::write(), and Foam::Zero.

|
virtual |
Source term to compressible momentum equation.
Definition at line 577 of file rotorDisk.C.
References Foam::fvPatchDistWave::calculate(), fvMatrix< Type >::dimensions(), Foam::dimVolume, mesh, Foam::name(), rho, U, regIOobject::write(), and Foam::Zero.

|
virtual |
|
virtual |
Update topology using the given map.
Implements fvModel.
Definition at line 622 of file rotorDisk.C.
|
virtual |
Update from another mesh using the given map.
Implements fvModel.
Definition at line 628 of file rotorDisk.C.
|
virtual |
Redistribute or update using the given distribution map.
Implements fvModel.
Definition at line 634 of file rotorDisk.C.
|
virtual |
Read source dictionary.
Reimplemented from fvModel.
Definition at line 640 of file rotorDisk.C.
References dict, and fvModel::read().

|
static |
Definition at line 133 of file rotorDisk.H.
|
static |
Definition at line 141 of file rotorDisk.H.