You are on page 1of 3

FAST-SC Overview and Source Files

Dr. Matthew A. Lackner, University of Massachusetts Amherst

April 1, 2013

Overview
FAST-SC is a modified version of the NREL code FAST
(http://wind.nrel.gov/designcodes/simulators/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.

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 “FAST-SC
Files.zip”. 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.

 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 (http://www.nrel.gov/docs/fy09osti/38060.pdf,
https://wind.nrel.gov/forum/wind/viewtopic.php?p=710), 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.

You might also like