Applies sources on velocity field (i.e. U
) within a specified region to enable actuator disk models with radial thrust distribution for aero/hydro thrust loading of horizontal axis turbines on surrounding flow field in terms of energy conversion processes.
More...
Public Member Functions | |
TypeName ("radialActuationDiskSource") | |
Runtime type information. More... | |
radialActuationDiskSource (const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh) | |
Construct from components. More... | |
radialActuationDiskSource (const radialActuationDiskSource &)=delete | |
No copy construct. More... | |
void | operator= (const radialActuationDiskSource &)=delete |
No copy assignment. More... | |
virtual | ~radialActuationDiskSource ()=default |
Destructor. More... | |
virtual void | addSup (fvMatrix< vector > &eqn, const label fieldi) |
Add explicit contribution to momentum equation. More... | |
virtual void | addSup (const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
Add explicit contribution to compressible momentum equation. More... | |
virtual bool | read (const dictionary &dict) |
Read source dictionary. More... | |
![]() | |
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 (const volScalarField &alpha, const volScalarField &rho, fvMatrix< vector > &eqn, const label fieldi) |
Source term to phase-compressible momentum equation. More... | |
![]() | |
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... | |
selectionModeType | selectionMode () const noexcept |
Return the cell selection mode. More... | |
bool | useSubMesh () const noexcept |
True if sub-selection should be used. More... | |
const word & | cellSetName () const noexcept |
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... | |
![]() | |
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... | |
![]() | |
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) | |
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 | 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... | |
Additional Inherited Members | |
![]() | |
enum | selectionModeType { smAll, smCellSet, smCellZone, smPoints } |
Enumeration for selection mode types. More... | |
![]() | |
static autoPtr< option > | New (const word &name, const dictionary &dict, const fvMesh &mesh) |
Return a reference to the selected fvOption model. More... | |
![]() | |
bool | log |
Switch write log to Info. More... | |
![]() | |
static const Enum< selectionModeType > | selectionModeTypeNames_ |
List of selection mode type names. More... | |
![]() | |
static label | addChars = 8 |
Additional characters for writing. More... | |
![]() | |
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... | |
![]() | |
virtual void | writeFileHeader (Ostream &os) |
Output file header information. More... | |
![]() | |
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... | |
![]() | |
void | resetApplied () |
Resize/reset applied flag list for all fieldNames_ entries. More... | |
![]() | |
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... | |
virtual autoPtr< OFstream > | createFile (const word &name, scalar timeValue) const |
Return autoPtr to a new file for a given time. More... | |
virtual autoPtr< OFstream > | createFile (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... | |
![]() | |
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... | |
![]() | |
scalar | timeStart_ |
Start time of fvOption. More... | |
scalar | duration_ |
Duration of fvOption execution starting from timeStart. More... | |
selectionModeType | selectionMode_ |
Cell selection mode. More... | |
word | cellSetName_ |
Name of set/zone 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... | |
![]() | |
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... | |
![]() | |
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_ |
bool | writtenHeader_ |
Flag to identify whether the header has been written. More... | |
bool | useUserTime_ |
scalar | startTime_ |
Start time value. More... | |
![]() | |
static const Enum< forceMethodType > | forceMethodTypeNames |
Names for forceMethodType. More... | |
static const Enum< monitorMethodType > | monitorMethodTypeNames |
Names for monitorMethodType. More... | |
Applies sources on velocity field (i.e. U
) within a specified region to enable actuator disk models with radial thrust distribution for aero/hydro thrust loading of horizontal axis turbines on surrounding flow field in terms of energy conversion processes.
U | Velocity [m/s]
Required fields:
U | Velocity [m/s]
Thrust, which is computed by actuationDiskSource.H is distributed as a function of actuator disk radius through a given forth order polynomial function:
\[ T(r) = T (C_0 + C_1 r^2 + C_2 r^4) \]
where
\( T \) | = | Thrust magnitude computed by actuationDiskSource setup |
\( T(r) \) | = | Thrust magnitude as a function of "r" |
\( r \) | = | Local actuator disk radius |
\( C_* \) | = | Polynomial coefficients |
constant/fvOptions
: radialActuationDiskSource1 { // Mandatory entries (unmodifiable) type radialActuationDiskSource; // Mandatory entries (runtime modifiable) coeffs (0.1 0.5 0.01); // Mandatory/Optional (inherited) entries ... }
where the entries mean:
Property | Description | Type | Reqd | Dflt |
---|---|---|---|---|
type | Type name: radialActuationDiskSource | word | yes | - |
coeffs | Radial distribution function coefficients | vector | yes | - |
The inherited entries are elaborated in:
radialActuationDiskSource
computes only Froude
force computation method of actuationDiskSource
.Definition at line 154 of file radialActuationDiskSource.H.
radialActuationDiskSource | ( | const word & | name, |
const word & | modelType, | ||
const dictionary & | dict, | ||
const fvMesh & | mesh | ||
) |
Construct from components.
Definition at line 47 of file radialActuationDiskSource.C.
References Foam::endl(), and Foam::Info.
|
delete |
No copy construct.
|
virtualdefault |
Destructor.
TypeName | ( | "radialActuationDiskSource" | ) |
Runtime type information.
|
delete |
No copy assignment.
Add explicit contribution to momentum equation.
Reimplemented from actuationDiskSource.
Definition at line 64 of file radialActuationDiskSource.C.
References fvMatrix< Type >::psi(), fvMatrix< Type >::source(), and U.
|
virtual |
Add explicit contribution to compressible momentum equation.
Reimplemented from actuationDiskSource.
Definition at line 88 of file radialActuationDiskSource.C.
References fvMatrix< Type >::psi(), rho, fvMatrix< Type >::source(), and U.
|
virtual |
Read source dictionary.
Reimplemented from actuationDiskSource.
Definition at line 112 of file radialActuationDiskSource.C.
References option::coeffs_, dict, actuationDiskSource::read(), and dictionary::readEntry().