|
FEDEM Solver
R8.0
Source code of the dynamics solver
|
Module with subroutines for wind turbine calculations. More...
Functions/Subroutines | |
| subroutine, public | aeroinput (env, turb, ADFile, NumBl, CompAero, CompNoise, SumPrint, ierr) |
| Sets up the information needed for, and initializes AeroDyn. More... | |
| subroutine | set_fedem_params (env, turbine, CompAero, CompNoise, ierr) |
| Sets Fedem variables based on AeroDyn inputs. More... | |
| subroutine | convertturbineconfig (Fedem, AD, ierr) |
| Converts a Fedem wind turbine configuration to AeroDyn's format. More... | |
| subroutine | updateturbineconfig (Fedem, AD) |
| Updates the AeroDyn wind turbine configuration. More... | |
| subroutine | updateadmarker (ADmarker, triad, sup, offset) |
| Updates an AeroDyn marker based on the corresponding Fedem triad. More... | |
| subroutine, public | updateaeroforces (time, turb, ierr) |
| Gets the aerodynamic forces at given time on the given wind turbine. More... | |
| subroutine, public | addinaeroforces (Q, RF, turbine, sam, ierr) |
| Calculates system force vector contributions from a wind turbine. More... | |
| subroutine, public | gethubwindspeed (time, turbine, dws, uws, ierr) |
| Evaluates the wind speed at the hub center. More... | |
| subroutine, public | gettipwindspeed (iBlade, time, turbine, dws, uws, ierr) |
| Evaluates the wind speed at the tip of the given blade. More... | |
| subroutine, public | getwindspeed (pos, time, dws, uws, ierr) |
| Evaluates the wind speed at a given location center. More... | |
| subroutine, public | getbladedeflections (turbine) |
| Evaluates the deflection along the blades. More... | |
| subroutine, public | closeaerodyn (ierr) |
| Terminates the aerodynamics module. More... | |
Module with subroutines for wind turbine calculations.
| subroutine, public windturbineroutinesmodule::addinaeroforces | ( | real(dp), dimension(:), intent(inout) | Q, |
| real(dp), dimension(:), intent(inout) | RF, | ||
| type(turbineconfig), intent(in) | turbine, | ||
| type(samtype), intent(in) | sam, | ||
| integer, intent(inout) | ierr | ||
| ) |
Calculates system force vector contributions from a wind turbine.
| Q | External force vector | |
| RF | Reaction forces | |
| [in] | turbine | Wind turbine configuration object |
| [in] | sam | Data for managing system matrix assembly |
| ierr | Error flag |


| subroutine, public windturbineroutinesmodule::aeroinput | ( | type(environmenttype), intent(inout) | env, |
| type(turbineconfig), intent(inout), target | turb, | ||
| character(len=*), intent(in) | ADFile, | ||
| integer, intent(in) | NumBl, | ||
| logical, intent(in) | CompAero, | ||
| logical, intent(in) | CompNoise, | ||
| logical, intent(in) | SumPrint, | ||
| integer, intent(out) | ierr | ||
| ) |
Sets up the information needed for, and initializes AeroDyn.
| env | Environmental data | |
| turb | Wind turbine configuration object | |
| [in] | ADfile | Name of the AeroDyn input file |
| [in] | NumBl | Number of turbine blades |
| [in] | CompAero | If .true., Aerodynamic forces are computed |
| [in] | CompNoise | If .true., turbulent inflow noise is accounted for |
| [in] | SumPrint | If .true., the resultant aerodynamic forces are printed |
| [out] | ierr | Error flag |


| subroutine, public windturbineroutinesmodule::closeaerodyn | ( | integer, intent(out) | ierr | ) |
Terminates the aerodynamics module.
| [out] | ierr | Error flag |

| subroutine windturbineroutinesmodule::convertturbineconfig | ( | type(turbineconfig), intent(in) | Fedem, |
| type(aeroconfig), intent(out) | AD, | ||
| integer, intent(out) | ierr | ||
| ) |
Converts a Fedem wind turbine configuration to AeroDyn's format.
| [in] | Fedem | Wind turbine configuration object, Fedem format |
| [out] | AD | Wind turbine configuration object, AeroDyn format |
| [out] | ierr | Error flag |


| subroutine, public windturbineroutinesmodule::getbladedeflections | ( | type(turbineconfig), intent(inout) | turbine | ) |
Evaluates the deflection along the blades.
| turbine | Wind turbine configuration object |
The deflections are calculated relative to the blade root.

| subroutine, public windturbineroutinesmodule::gethubwindspeed | ( | real(dp), intent(in) | time, |
| type(turbineconfig), intent(in) | turbine, | ||
| real(dp), dimension(3), intent(out) | dws, | ||
| real(dp), dimension(3), intent(out) | uws, | ||
| integer, intent(out) | ierr | ||
| ) |
Evaluates the wind speed at the hub center.
| [in] | time | Current physical time |
| [in] | turbine | Wind turbine configuration object |
| [out] | dws | Hub wind speed including disturbance |
| [out] | uws | Undisturbed hub wind speed |
| [out] | ierr | Error flag |

| subroutine, public windturbineroutinesmodule::gettipwindspeed | ( | integer, intent(in) | iBlade, |
| real(dp), intent(in) | time, | ||
| type(turbineconfig), intent(in) | turbine, | ||
| real(dp), dimension(3), intent(out) | dws, | ||
| real(dp), dimension(3), intent(out) | uws, | ||
| integer, intent(out) | ierr | ||
| ) |
Evaluates the wind speed at the tip of the given blade.
| [in] | iBlade | Index of the blade to evaluate the wind for |
| [in] | time | Current physical time |
| [in] | turbine | Wind turbine configuration object |
| [out] | dws | Blade tip wind speed including disturbance |
| [out] | uws | Undisturbed blade tip wind speed |
| [out] | ierr | Error flag |

| subroutine, public windturbineroutinesmodule::getwindspeed | ( | real(dp), dimension(3), intent(in) | pos, |
| real(dp), intent(in) | time, | ||
| real(dp), dimension(3), intent(out) | dws, | ||
| real(dp), dimension(3), intent(out) | uws, | ||
| integer, intent(out) | ierr | ||
| ) |
Evaluates the wind speed at a given location center.
| [in] | pos | Spatial point to evaluate the wind at |
| [in] | time | Current physical time |
| [out] | dws | Wind speed including disturbance |
| [out] | uws | Undisturbed wind speed |
| [out] | ierr | Error flag |

| subroutine windturbineroutinesmodule::set_fedem_params | ( | type(environmenttype), intent(inout) | env, |
| type(turbineconfig), intent(inout) | turbine, | ||
| logical, intent(in) | CompAero, | ||
| logical, intent(in) | CompNoise, | ||
| integer, intent(out) | ierr | ||
| ) |
Sets Fedem variables based on AeroDyn inputs.
| env | Environmental data | |
| turbine | Wind turbine configuration object | |
| [in] | CompAero | If .true., Aerodynamic forces are computed |
| [in] | CompNoise | If .true., turbulent inflow noise is accounted for |
| [out] | ierr | Error flag |
This subroutine is called at the start of the simulation to set up simulation variables for Fedem based on the AeroDyn parameters.

| subroutine windturbineroutinesmodule::updateadmarker | ( | type(marker), intent(inout) | ADmarker, |
| type(triadtype), intent(in), optional | triad, | ||
| type(supeltype), intent(in), optional | sup, | ||
| real(dp), dimension(2), intent(in), optional | offset | ||
| ) |
Updates an AeroDyn marker based on the corresponding Fedem triad.
| ADmarker | A marker associated with the AeroDyn turbine configuration | |
| [in] | triad | Triad corresponding to the specified marker |
| [in] | sup | Beam element defining the position/orientation of the marker |
| [in] | offset | Eccentricity of the AeroDyn marker w.r.t the pitch axis |

| subroutine, public windturbineroutinesmodule::updateaeroforces | ( | real(dp), intent(in) | time, |
| type(turbineconfig), intent(inout) | turb, | ||
| integer, intent(out) | ierr | ||
| ) |
Gets the aerodynamic forces at given time on the given wind turbine.
| [in] | time | Current physical time |
| turb | Wind turbine configuration object | |
| [out] | ierr | Error flag |


| subroutine windturbineroutinesmodule::updateturbineconfig | ( | type(turbineconfig), intent(in) | Fedem, |
| type(aeroconfig), intent(inout) | AD | ||
| ) |
Updates the AeroDyn wind turbine configuration.
| [in] | Fedem | Wind turbine configuration object, Fedem format |
| [out] | AD | Wind turbine configuration object, AeroDyn format |

