Dr. Matthew A. Lackner, University of Massachusetts Amherst

Last updated: April 1, 2013 | Download



FAST-SC is a modified version of the NREL code FAST (, and was developed by Dr. Matthew Lackner at the University of Massachusetts Amherst in 2009 and modified through 2013. FAST-SC was created in order to model additional degrees-of-freedom (DOFs) in wind turbines, specifically structural control devices (the “SC” stands for “structural control”). This document is meant to provide a basic description of the FAST-SC code, and to provide the source code and supporting files for other users.

PLEASE NOTE: FAST-SC is not supported by Dr. Lackner or the University of Massachusetts Amherst. No formal user support or requested modifications will be provided. Dr. Lackner will respond to email questions on an ad-hoc basis.

Recent Update to the Code

FAST-SC has recently been updated to integrate with the new FAST v8 framework. The theory manual and code release is available from the NWTC:

Description of the Code

Several early publications describe the theoretical background and practical implementation for modeling structural control in FAST, which resulted in the ``FAST-SC'' code. Details are available in these earlier publications:

  • Lackner M.A., Rotea, M., “Passive Structural Control of Offshore Wind Turbines.” Wind Energy, Vol. 14, No. 3: 373-388, 2011.
  • Lackner M.A., Rotea, M., “Structural Control of Floating Wind Turbines.” Mechatronics, Vol. 21, No. 4: 704-719, 2011.

Later publications utilizing FAST-SC in various research investigations include:

  • Stewart G., Lackner M.A., “The Effect of Actuator Dynamics on Active Structural Control of Offshore Wind Turbines” Engineering Structures, Vol. 33, No. 5: 1807-1816, 2011.
  • Stewart G., Lackner M.A., “Optimization of a Passive Tuned Mass Damper for Reducing Loads in Offshore Wind Turbines.” Accepted for publication, IEEE Transactions on Control Systems Technology: Special Issue on Wind Energy, 2012.
  • Stewart G., Lackner M.A., “The impact of passive tuned mass dampers and wind-wave misalignment on offshore wind turbine loads.” Under review, Wind Energy, 2013.

Please feel free to refer to any and all of these publications.


FAST-SC can model two independent TMDs with a user-defined mass, spring stiffness, damping, and translation direction. Earlier investigations defined the TMDs as translating in the fore-aft and side-side directions exclusively, but any arbitrary rotation of the TMD translation direction about the vertical axis is possible. The TMDs can be located in the nacelle or the platform, which is useful in the case of floating OWTs. The code can run with the FAST-Simulink interface for semi-active and active control, with the spring stiffness, damping, and external force input for each TMD commanded in Simulink.


Source Code and other Files

The FAST-SC source files, and a variety of other supporting files are included in “”. A brief description of the included files now follows.


  • Source files to create an executable file
    • Files: FAST.f90, FAST_IO.f90, FAST_Mods.f90
    • Description: These are the three source files that I modified to create FAST-SC and allow it to be compiled as an executable. All modifications from the original version, FAST_v7.01.00a-bjj, can be found by searching for “!mal”, which begins the comments for any change. NREL has since upgraded FAST to v7.02, but the source files for v7.01 that I used can be found here: I plan to upgrade to v7.02 and release a new version of my code sometime in 2013.


  • Source files to create mex function for Simulink interface
    • Files: FASTSimulink.f90, FASTGateway.f90
    • Description: These are the two additional source files that I modified, and allow for the creation of the .mex file for the FAST-Simulink interface.


  • Change log of all additions to create FAST-SC
    • Files: ChangeLog.txt
    • Description: The end of this file contains a log of every change I made to create FAST-SC. The specific .f90 file and subroutine are listed and the changes that I made.


  • Compiled executable files and controllers
    • Files: FASTv710malx32.exe, FASTv710malx64.exe, FASTv710malx32_dll.exe, DISCON.dll, DFORRT.dll
    • Description: These are compiled executable files that I created in 2013 using the latest source files. “FASTv710malx32.exe” and “FASTv710malx64.exe” have no associated controller, and run on a 32- or 64-bit operating system, respectively. “FASTv710malx32_dll.exe” was compiled with the NREL 5-MW controller included (,, and only runs on a 32-bit operating system, and requires that “DISCON.dll” and “DFORRT.dll” are in the same folder.


  • Supporting files related to running the FAST-Simulink interface
    • Files: Read_FAST_Input_TMD.m, make_FAST_SFunc.m, NREL5MW_Baseline_06b_TMD.mdl
    • Description: FAST-SC can also run with Simulink. The .mex function is not included here, because getting it to run depends on the version of Matlab and Windows. I am not positive, but I believe that it is only possible to compile and run the mex function on 32-bit Matlab (although it can be installed on a 64-bit Windows machine). I have included “make_FAST_SFunc.m” which is used to create the .mex function. I also included “Read_FAST_Input_TMD.m” which is a modified file that reads the .fst file and is called by “Simsetup.m”. You will need to change “Simsetup.m” to call this file. Please also note that I have not updated “Read_FAST_Input_TMD.m” recently, and so it may need to be updated to accommodate the additional inputs in the latest version of FAST-SC. “NREL5MW_Baseline_06b_TMD.mdl” is a Simulink file that contains a version the NREL 5-MW controller, created by Hazim Namik from the University of Aukland in 2011. I modified that version to also have the TMD inputs used in FAST-SC. This is included to show an example of how the TMDs are inputted to FAST-SC in Simulink, it is NOT an official NREL file. Please also check the initialization functions in the model.


  • FAST-SC input file
    • Files: NRELOffshrBsline5MW_TMD_v710.fst.
    • Description: This is a modified .fst input file for FAST-SC that contains the additional inputs and parameters.


  • Supporting file to help with compiling
    • Files: FASTCompilingInstructions.pdf
    • Description: This is an NREL file, and I used it to successfully compile the executable files described above. Note, I did not use the batch file.