-
Notifications
You must be signed in to change notification settings - Fork 0
WINDS.f90
Main subroutines of WInDS. Some of the explanations come from the original Matlab WInDS source code.
- Data type: 5D array (Dimension index(1
3), Time index(1nt), Timestep stored(1nt_p), Radial index(1ns/nst), Blade index(1~nb)) - Angles are in radian, not degree.
- Aerodynamic center of blade element is set to be the one quarter because of the assumption of lifting-line theory.
- Since Matlab WInDS uses interpolated twist angle and trail chord to calculate trailing nodes positions, while the present work interpolates element nodes positions to obtain trailing nodes positions, there is slight difference of the lifting coefficient between them. However, the differences are usually less than 1% in some simple comparisons. The largest differences often occurs at the tip elements, however, these elements have relatively small area and contribute small force to the total. Hence it is reasonable to deal in this way.
- Currently, WInDS doesn't support multiple columns of airfoil table.
This subroutine is called by subroutine AD_Init. It sets the constants of Ramasamy-Leishman vortex model and some other parameters such as air density and gravity.
This subroutine is called by subroutine AD_Init. It allocates the variable arrays for WInDS.
This subroutine handles the variable to freeze and cutoff the far wake.
This feature was originally added to Matlab code by researchers in University of Stuttgart.
This subroutine allocates variable arrays for ground effects and calculates variables for ground model.
Theory is in Chapter 3 of Nathaniel deVelder's thesis.
This subroutine computes the station locations of blades in the inertial coordinate system.
This subroutine computes the velocity contributions due to turbine and platform motions and freestream flow in the inertial and blade coordinate systems.
Theory is in Section 5.2 of Thomas Sebastian's dissertation.
This subroutine computes initial results for the first timestep via blade element and momentum method.
This subroutine uses free vortex wake method to calculate the aerodynamic loads after first time-step.
This subroutine defines parameters used in shear model.
Theory is in Section 3.1 of Nathaniel deVelder's thesis
This subroutine is called in WINDS_FVM and it calculates the aerodynamic loads.
This subroutine is called in WINDS_FVMInitial and it calculates coefficient of lifting and aerodynamic loads in first time-step via blade element and momentum method. It is modified from the original AeroDyn code.
Theory is in Section 4.2 of Thomas Sebastian's dissertation.
This subroutine is called in InducedVelocity, Induced Velocity Ground Mirror and Induced Velocity Ground Panels. It computes the induced velocity at a point in space because of the influence of defined vortex filaments.
Theory is in Section 4.6.1 and 5.3.2 of Thomas Sebastian's dissertation.
This subroutine looks up the coefficient of lifting and drag from airfoil data. It is modified from the original AeroDyn code.
This subroutine copies wake and velocity from "current" timestep to "previous" .
This subroutine calculates the induced velocity via Biot-Savart Law.
This subroutine calculates the induced velocity of ground effects (method of images) via Biot-Savart Law.
This subroutine calculates the induced velocity of ground effects (panels method) via Biot-Savart Law.
This subroutine computes the bound vortex filament strength via Kutta-Joukowski theorem, solving via fixed-point iteration.
Theory is in Section 4.6.2.1 and 5.4.3 of Thomas Sebastian's dissertation.
This subroutine numerically convects wake nodes to next timestep.
These are several methods can be used: 2nd-order Runge-Kutta and 4th-order Runge-Kutta.
Theory is in Section 5.4.2 of Thomas Sebastian's dissertation.
The stability of those methods are discussed in Section 5.2 of Nathaniel deVelder's thesis.
This subroutine calculates the inflow velocity of all points based on selected shear model
This subroutine calculates the inflow velocity of one point based on selected shear model
Not implemented in Fortran version yet..
Theory is described in: Lackner, Matthew A., Nathaniel deVelder, and Thomas Sebastian. "On 2D and 3D potential flow models of upwind wind turbine tower interference." Computers & Fluids 71 (2013): 375-379.
This subroutine updates bound vortices and latest trailed and shed vortices.
This subroutine computes the effective vortex filament core size using the Ramasamy-Leishman model and filament stretching.
Theory is in Section 5.3.2 of Thomas Sebastian's dissertation.