Applies sources on velocity (i.e. U) within a specified region to enable actuator disk models for aero/hydro thrust loading of horizontal axis turbines on surrounding flow field in terms of energy conversion processes.
More...


Public Member Functions | |
| TypeName ("actuationDiskSource") | |
| Runtime type information. More... | |
| actuationDiskSource ()=delete | |
| No default construct. More... | |
| actuationDiskSource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
| Construct from components. More... | |
| actuationDiskSource (const actuationDiskSource &)=delete | |
| No copy construct. More... | |
| void | operator= (const actuationDiskSource &)=delete |
| No copy assignment. More... | |
| virtual | ~actuationDiskSource ()=default |
| Destructor. More... | |
| const vector & | diskDir () const |
| Normal disk direction. More... | |
| scalar | diskArea () const |
| Disk area. 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 void | addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
| Source term to phase-compressible momentum equation. More... | |
| virtual bool | read (const dictionary &dict) |
| Read 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 ()=default |
| Destructor. More... | |
| scalar | timeStart () const noexcept |
| Return const access to the time start. More... | |
| scalar | duration () const noexcept |
| Return const access to the duration. More... | |
| bool | inTimeLimits (const scalar timeValue) const |
| True if within time limits. More... | |
| bool | useSubMesh () const noexcept |
| True if sub-selection should be used. More... | |
| selectionModeType | selectionMode () const noexcept |
| Return the cell selection mode. More... | |
| const wordRes & | selectionNames () const noexcept |
| Return const access to the selection names (set or zone selection) More... | |
| const wordRe & | zoneName () const |
| Return const access to the first set/zone name. More... | |
| scalar | V () const noexcept |
| Return const access to the total cell volume. More... | |
| const labelList & | cells () const noexcept |
| Return const access to the cell selection. More... | |
| scalar | timeStart (scalar val) noexcept |
| Adjust the time start, return the old value. More... | |
| scalar | duration (scalar val) noexcept |
| Adjust the duration, return the old value. More... | |
| virtual bool | isActive () |
| Is the source active? More... | |
| const word & | cellSetName () const |
| The name of the cell set/zone [as a word] for "cellSet" / "cellZone" selection modes) 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 ()=default |
| Destructor. More... | |
| const word & | name () const noexcept |
| Return const access to the source name. More... | |
| const fvMesh & | mesh () const noexcept |
| Return const access to the mesh database. More... | |
| const dictionary & | coeffs () const noexcept |
| Return dictionary. More... | |
| bool | active () const noexcept |
| True if source is active. More... | |
| void | setApplied (const label fieldi) |
| Set the applied flag to true for field index fieldi. More... | |
| bool | active (const bool on) noexcept |
| Change source active flag, return previous value. 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< 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 | postProcessSens (scalarField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| virtual void | postProcessSens (vectorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| virtual void | postProcessSens (tensorField &sensField, const word &fieldName=word::null, const word &designVariablesName=word::null) |
| 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... | |
Public Member Functions inherited from writeFile | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name="undefined", const bool writeToFile=true) | |
| Construct from objectRegistry, prefix, fileName. More... | |
| writeFile (const objectRegistry &obr, const fileName &prefix, const word &name, const dictionary &dict, const bool writeToFile=true) | |
| Construct from objectRegistry, prefix, fileName and read options from dictionary. More... | |
| writeFile (const writeFile &wf) | |
| Construct copy. More... | |
| virtual | ~writeFile ()=default |
| Destructor. More... | |
| virtual OFstream & | file () |
| Return access to the file (if only 1) More... | |
| virtual bool | writeToFile () const |
| Flag to allow writing to file. More... | |
| virtual bool | canWriteToFile () const |
| Flag to allow writing to the file. More... | |
| virtual bool | canResetFile () const |
| Flag to allow resetting the file. More... | |
| virtual bool | canWriteHeader () const |
| Flag to allow writing the header. More... | |
| virtual label | charWidth () const |
| Return width of character stream output. More... | |
| virtual void | writeCommented (Ostream &os, const string &str) const |
| Write a commented string to stream. More... | |
| virtual void | writeTabbed (Ostream &os, const string &str) const |
| Write a tabbed string to stream. More... | |
| virtual void | writeHeader (Ostream &os, const string &str) const |
| Write a commented header to stream. More... | |
| virtual void | writeCurrentTime (Ostream &os) const |
| Write the current time to stream. More... | |
| virtual void | writeBreak (Ostream &os) const |
| Write a break marker to the stream. More... | |
| template<class Type > | |
| void | writeHeaderValue (Ostream &os, const string &property, const Type &value) const |
| Write a (commented) header property and value pair. More... | |
| template<class Type > | |
| void | writeValue (Ostream &os, const Type &val) const |
| Write a given value to stream with the space delimiter. More... | |
Protected Types | |
| enum | forceMethodType { FROUDE, VARIABLE_SCALING } |
| Options for the force computation method types. More... | |
| enum | monitorMethodType { POINTS, CELLSET } |
| Options for the incoming velocity monitoring method types. More... | |
Protected Member Functions | |
| virtual void | writeFileHeader (Ostream &os) |
| Output file header information. More... | |
Protected Member Functions inherited from cellSetOption | |
| void | setSelection (const dictionary &dict) |
| Set cell selection name or points selection from dictionary input. More... | |
| void | setCellSelection () |
| Set the cell selection based on user input selection mode. More... | |
| void | setVol () |
| Recalculate the volume. More... | |
Protected Member Functions inherited from option | |
| void | resetApplied () |
| Resize/reset applied flag list for all fieldNames_ entries. More... | |
Protected Member Functions inherited from writeFile | |
| void | initStream (Ostream &os) const |
| Initialise the output stream for writing. More... | |
| fileName | baseFileDir () const |
| Return the base directory for output. More... | |
| fileName | baseTimeDir () const |
| Return the base directory for the current time value. More... | |
| fileName | filePath (const fileName &fName) const |
| Return the full path for the supplied file name. More... | |
| virtual autoPtr< OFstream > | newFile (const fileName &fName) const |
| Return autoPtr to a new file using file name. More... | |
| virtual autoPtr< OFstream > | newFileAtTime (const word &name, scalar timeValue) const |
| Return autoPtr to a new file for a given time. More... | |
| virtual autoPtr< OFstream > | newFileAtStartTime (const word &name) const |
| Return autoPtr to a new file using the simulation start time. More... | |
| virtual void | resetFile (const word &name) |
| Reset internal file pointer to new file with new name. More... | |
| Omanip< int > | valueWidth (const label offset=0) const |
| Return the value width when writing to stream with optional offset. More... | |
| void | operator= (const writeFile &)=delete |
| No copy assignment. More... | |
| virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
| Deprecated(2022-09) Return autoPtr to a new file for a given time. More... | |
| virtual autoPtr< OFstream > | createFile (const word &name) const |
| Deprecated(2022-09) Return autoPtr to a new file using the simulation start time. More... | |
Protected Attributes | |
| enum forceMethodType | forceMethod_ |
| The type of the force computation method. More... | |
| enum monitorMethodType | monitorMethod_ |
| The type of incoming velocity monitoring method. More... | |
| label | sink_ |
| Flag for body forces to act as a source (false) or a sink (true) More... | |
| scalar | writeFileStart_ |
| Start time for file output. More... | |
| scalar | writeFileEnd_ |
| End time for file output. More... | |
| scalar | diskArea_ |
| Actuator disk planar surface area [m2]. More... | |
| vector | diskDir_ |
| Surface-normal vector of the actuator disk pointing downstream. More... | |
| autoPtr< Function1< scalar > > | UvsCpPtr_ |
| Velocity vs power coefficients. More... | |
| autoPtr< Function1< scalar > > | UvsCtPtr_ |
| Velocity vs thrust coefficients. More... | |
| labelList | monitorCells_ |
| Set of cells whereat the incoming velocity is monitored. More... | |
Protected Attributes inherited from cellSetOption | |
| scalar | timeStart_ |
| Start time of fvOption. More... | |
| scalar | duration_ |
| Duration of fvOption execution starting from timeStart. More... | |
| selectionModeType | selectionMode_ |
| Cell selection mode. More... | |
| wordRes | selectionNames_ |
| Face selection names (for set or zone selections) More... | |
| List< point > | points_ |
| List of points for "points" selectionMode. More... | |
| dictionary | geometricSelection_ |
| Dictionary entries for "geometric" (topoSetCellSource) selection. 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... | |
| 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... | |
| bool | active_ |
| Source active flag. More... | |
Protected Attributes inherited from writeFile | |
| const objectRegistry & | fileObr_ |
| Reference to the region objectRegistry. More... | |
| const fileName | prefix_ |
| Prefix. More... | |
| word | fileName_ |
| Name of file. More... | |
| autoPtr< OFstream > | filePtr_ |
| File pointer. More... | |
| label | writePrecision_ |
| Write precision. More... | |
| bool | writeToFile_ |
| Flag to enable/disable writing to file. More... | |
| bool | updateHeader_ |
| Flag to update the header, e.g. on mesh changes. Default is true. More... | |
| bool | writtenHeader_ |
| Flag to identify whether the header has been written. More... | |
| bool | useUserTime_ |
| Flag to use the specified user time, e.g. CA deg instead of seconds. Default = true. More... | |
| scalar | startTime_ |
| Start time value. More... | |
Static Protected Attributes | |
| static const Enum< forceMethodType > | forceMethodTypeNames |
| Names for forceMethodType. More... | |
| static const Enum< monitorMethodType > | monitorMethodTypeNames |
| Names for monitorMethodType. More... | |
Additional Inherited Members | |
Public Types inherited from cellSetOption | |
| enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints, smGeometric, smCellType } |
| Enumeration for selection mode types. More... | |
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... | |
Public Attributes inherited from option | |
| bool | log |
| Switch write log to Info. More... | |
Static Public Attributes inherited from cellSetOption | |
| static const Enum< selectionModeType > | selectionModeTypeNames_ |
| List of selection mode type names. More... | |
Static Public Attributes inherited from writeFile | |
| static label | addChars = 8 |
| Additional characters for writing. More... | |
Applies sources on velocity (i.e. U) within a specified region to enable actuator disk models for aero/hydro thrust loading of horizontal axis turbines on surrounding flow field in terms of energy conversion processes.
Available options for force computations:
Froude | Froude's one-dimensional ideal actuator disk method variableScaling | Variable-scaling actuator disk method
The expressions for Froude method:
with
where
| = | Thrust magnitude |
| = | Monitored incoming fluid density |
| = | Actuator disk planar surface area |
| = | Incoming velocity spatial-averaged on monitored region |
| = | Surface-normal vector of the actuator disk pointing downstream |
| = | Axial induction factor |
| = | Power coefficient |
| = | Thrust coefficient |
The expressions for variableScaling method:
with
where
| = | Thrust magnitude |
| = | Monitored incoming fluid density |
| = | Actuator disk planar surface area |
| = | Incoming velocity spatial-averaged on actuator disk |
| = | Surface-normal vector of the actuator disk pointing downstream |
| = | Incoming velocity spatial-averaged on monitored region |
| = | Thrust coefficient |
| = | Calibrated thrust coefficient |
Reference
Froude's one-dimensional ideal actuator disk (tags:F,BJSB):
Froude, R. E. (1889).
On the part played in propulsion by differences of fluid pressure.
Trans. Inst. Naval Architects, 30, 390.
Burton, T., Jenkins, N., Sharpe, D., & Bossanyi, E. (2011).
Wind energy handbook, 2nd edition.
Chichester, the United Kingdom. John Wiley & Sons.
Print ISBN:978-0-470-69975-1
DOI:10.1002/9781119992714
Variable-scaling method (tags:LSRMKT,LS):
van der Laan, M. P., Sørensen, N. N., Réthoré, P. E.,
Mann, J., Kelly, M. C., & Troldborg, N. (2015).
The k‐ε‐fP model applied to double wind turbine
wakes using different actuator disk force methods.
Wind Energy, 18(12), 2223-2240.
DOI:10.1002/we.1816
van der Laan, M. P., Sørensen, N. N., Réthoré, P. E., Mann, J.,
Kelly, M. C., Troldborg, N., Hansen, K. S., & Murcia, J. P. (2015).
The k‐ε‐fP model applied to wind farms.
Wind Energy, 18(12), 2065-2084.
DOI:10.1002/we.1804Sources applied to:
U | Velocity [m/s]
Required fields:
U | Velocity [m/s]
constant/fvOptions: actuationDiskSource1
{
// Mandatory entries (unmodifiable)
type actuationDiskSource;
// Mandatory entries (runtime modifiable)
diskArea 40.0;
diskDir (1 0 0);
Cp <Function1>;
Ct <Function1>;
// Conditional optional entries (unmodifiable)
monitorMethod <points|cellSet>;
monitorCoeffs
{
// Option-1
points
(
(p1x p1y p1z)
(p2x p2y p2z)
...
);
// Option-2
cellSet <monitorCellSet>;
}
// Optional entries (unmodifiable)
variant <forceMethod>;
// Optional entries (runtime modifiable)
sink true;
writeFileStart 0;
writeFileEnd 100;
// Mandatory/Optional (inherited) entries
...
}
where the entries mean:
| Property | Description | Type | Reqd | Dflt |
|---|---|---|---|---|
type | Type name: actuationDiskSource | word | yes | - |
diskArea | Actuator disk planar surface area | scalar | yes | - |
diskDir | Surface-normal vector of the actuator disk pointing downstream | vector | yes | - |
Cp | Power coefficient | Function1 | yes | - |
Ct | Thrust coefficient | Function1 | yes | - |
monitorMethod | Type of incoming velocity monitoring method - see below | word | no | points |
variant | Type of the force computation method - see below | word | no | Froude |
sink | Flag for body forces to act as a source (false) or a sink (true) | bool | no | true |
writeFileStart | Start time for file output | scalar | no | 0 |
writeFileEnd | End time for file output | scalar | no | VGREAT |
The inherited entries are elaborated in:
Options for the monitorMethod entry:
points | Monitor incoming velocity field at a given set of points
cellSet | Monitor incoming velocity field at a given cellSetOptions for the variant entry:
Froude | Froude's one-dimensional ideal actuator disk method
variableScaling | Variable-scaling actuator disk method
Definition at line 361 of file actuationDiskSource.H.
|
protected |
Options for the force computation method types.
| Enumerator | |
|---|---|
| FROUDE | "Froude's ideal actuator disk method" |
| VARIABLE_SCALING | "Variable-scaling actuator disk method" |
Definition at line 373 of file actuationDiskSource.H.
|
protected |
Options for the incoming velocity monitoring method types.
| Enumerator | |
|---|---|
| POINTS | "A set of points" |
| CELLSET | "A cellSet" |
Definition at line 387 of file actuationDiskSource.H.
|
delete |
No default construct.
| actuationDiskSource | ( | const word & | name, |
| const word & | modelType, | ||
| const dictionary & | dict, | ||
| const fvMesh & | mesh | ||
| ) |
Construct from components.
Definition at line 161 of file actuationDiskSource.C.
References Foam::endl(), Foam::Info, Foam::name(), and option::resetApplied().

|
delete |
No copy construct.
|
virtualdefault |
Destructor.
|
protectedvirtual |
Output file header information.
Definition at line 64 of file actuationDiskSource.C.
References Foam::endl(), actuationDiskSource::forceMethod_, os(), and Foam::writeHeader().

| TypeName | ( | "actuationDiskSource" | ) |
Runtime type information.
|
delete |
No copy assignment.
|
inline |
Normal disk direction.
Definition at line 553 of file actuationDiskSource.H.
References actuationDiskSource::diskDir_.
|
inline |
Disk area.
Definition at line 561 of file actuationDiskSource.H.
References actuationDiskSource::diskArea_.
Source term to momentum equation.
Reimplemented from option.
Reimplemented in radialActuationDiskSource.
Definition at line 234 of file actuationDiskSource.C.
|
virtual |
Source term to compressible momentum equation.
Reimplemented from option.
Reimplemented in radialActuationDiskSource.
Definition at line 247 of file actuationDiskSource.C.
References rho.
|
virtual |
Source term to phase-compressible momentum equation.
Reimplemented from option.
Definition at line 261 of file actuationDiskSource.C.
References Foam::constant::atomic::alpha, and rho.
|
virtual |
Read dictionary.
Reimplemented from cellSetOption.
Reimplemented in radialActuationDiskSource.
Definition at line 275 of file actuationDiskSource.C.
References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::mag(), Foam::blockMeshTools::read(), and cellSetOption::read().
Referenced by radialActuationDiskSource::read().


|
staticprotected |
Names for forceMethodType.
Definition at line 382 of file actuationDiskSource.H.
|
staticprotected |
Names for monitorMethodType.
Definition at line 396 of file actuationDiskSource.H.
|
protected |
The type of the force computation method.
Definition at line 404 of file actuationDiskSource.H.
Referenced by actuationDiskSource::writeFileHeader().
|
protected |
The type of incoming velocity monitoring method.
Definition at line 409 of file actuationDiskSource.H.
|
protected |
Flag for body forces to act as a source (false) or a sink (true)
Definition at line 414 of file actuationDiskSource.H.
|
protected |
Start time for file output.
Definition at line 419 of file actuationDiskSource.H.
|
protected |
End time for file output.
Definition at line 424 of file actuationDiskSource.H.
|
protected |
Actuator disk planar surface area [m2].
Definition at line 429 of file actuationDiskSource.H.
Referenced by actuationDiskSource::diskArea().
|
protected |
Surface-normal vector of the actuator disk pointing downstream.
Definition at line 434 of file actuationDiskSource.H.
Referenced by actuationDiskSource::diskDir().
Velocity vs power coefficients.
Definition at line 439 of file actuationDiskSource.H.
Velocity vs thrust coefficients.
Definition at line 444 of file actuationDiskSource.H.
|
protected |
Set of cells whereat the incoming velocity is monitored.
Definition at line 449 of file actuationDiskSource.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.