Software Couplings

<< Click to Display Table of Contents >>

Navigation:  Flexcom > Theory > Model Building > Wind Turbine Modelling > Software Architecture >

Software Couplings

Previous pageNext page

Current Version

Flexcom 2025.1.2 (March 2025) is coupled with OpenFAST V3.5.3 (April 2024).

rotor NACELLE ASSEMBLY (RNA)

There are two options for modelling the rotor blades in Flexcom, either rigid or flexible. Refer to Rotor Blade Model for further details.

Coupling between Flexcom and AeroDyn

The *AERODYN DRIVER command provides the key link between Flexcom and AeroDyn. Here the user indicates to Flexcom some fundamental pieces of information, including:

The location (node number/label) in the finite element model which corresponds to the hub location in the aerodynamic model.

The portion (set of elements) of the finite element model which represents the tower.

At the beginning of a dynamic simulation, Flexcom passes all information pertaining to the blades and tower to AeroDyn. AeroDyn then computes the aerodynamic loads using blade element momentum theory. The total loads on the rotating blades are passed back to the Flexcom solver where they are added to the global force vector on the right hand side of the equations of motion. Similarly, wind loads on each tower node in the AeroDyn model are passed to the corresponding structural node in the Flexcom solver, and the global force vector is augmented accordingly.

Once all the constituent terms have been assembled, Flexcom solves the Finite Element Equations of Motion, and the global solution vector (predominately consisting of displacement terms) is populated. The updated locations for the hub/blade and tower nodes are then passed back to AeroDyn, and the aerodynamic computations are performed again, before the updated wind loads and passed back to the structural model. This solution progresses in an iterative manner until Solution Convergence has been achieved in the structural solver. The solution time is then advanced by one Fixed Time Step and the whole process recommences. The iterative nature of this solution scheme ensures that full coupling between the structural and aerodynamic models is achieved.

In terms of more specific details regarding the software coupling, Flexcom populates the following entries in AeroDyn:

Tower

AD%u(1)%TowerMotion%TranslationDisp

AD%u(1)%TowerMotion%Orientation

AD%u(1)%TowerMotion%TranslationVel

Hub

AD%u(1)%HubMotion%TranslationDisp

AD%u(1)%HubMotion%Orientation

AD%u(1)%HubMotion%RotationVel

Driver

DvrData%Cases(iCase)%RotSpeed

Blade

AD%u(1)%BladeRootMotion(k)%Orientation

AD%u(1)%BladeMotion(k)%Orientation

AD%u(1)%BladeMotion(k)%TranslationDisp

AD%u(1)%BladeMotion(k)%TranslationVel

AD%u(1)%BladeMotion(k)%RotationVel

The *PRINT keyword allows you to inspect the direction cosine matrices (listed as "Orientation" matrices above) which Flexcom passes to AeroDyn at each timestep. Although of specialised interest, it provides greater transparency regarding the internal workings of the software.

Coupling between Flexcom and InflowWind

In addition to a coupling with AeroDyn, Flexcom also interfaces to the OpenFAST module InflowWind, via the *INFLOWWIND keyword, so dynamic and turbulent wind loading can be specified. InflowWind processes wind inflow data and supports several wind file formats including uniform, binary TurbSim full-field, binary Bladed-style full-field and HAWC formatted binary full-field wind files. It also has its own internal calculated steady wind and supports arbitrary wind directions. The turbulent wind field definition is typically generated in advance using TurbSim - refer to TurbSim Overview for further information.

At each timestep, InflowWind is given the blade and tower nodal locations and then calculates the undisturbed wind-inflow velocities at these positions. These are then used by AeroDyn to compute the aerodynamic loads at the relevant locations in the Flexcom model. Refer to InflowWind Overview for further information on this module.

Coupling between Flexcom and ServoDyn

The *SERVODYN keyword provides a link between Flexcom and the OpenFAST module ServoDyn. ServoDyn provides an interface between a user generated control dynamic link library (DLL) and solution variables provided by AeroDyn and Flexcom.

Flexcom Wind implements variable rotor speed control by allowing the user to modify generator torque. The turbine speed is varied by changing the generator or control torque via the DLL which is linked to Flexcom. Generator torque is computed at each iteration and turbine speed is calculated based on the relationship between angular acceleration and net torque:

where = rotor speed,

= Aerodynamic torque,

= Generator torque,

= Rotor Inertia.

The rotor speed is then updated at each time step, typically to maximise energy capture.

When operating above the rated wind speed Flexcom provides blade pitch control, which is provided via the *SERVODYN keyword, so as to shed additional power. Blade pitch is updated at each time step in the same manner as rotor control.

Yaw control is also provide via the *SERVODYN keyword where the yaw rate as calculated via the user defined dynamic link library. The finite elements defining the turbine structure (as indicated by the TURBINE SET= definition) are then yawed as requested.