Description of Additional Input Files
1. Body type 4, Prescribed positions imported from file
The name of the time series file is specified in the system input file.
The time series file is an ASCII text file, with comments beginning with apostrophes in the first lines on the file. The data section of the file contains time and the 6 components of the position vector.
File format:
File heading, arbitrary number of lines with apostrophe in the first position of the input line
' TEXT1 ' TEXT2 ' ...... ' TEXTn
Position, NROW lines (one per time incident)
XG YG ZG PHI THETA PSI

XG: real
: Global Xcoordinate of body \(\mathrm {[L]}\) 
YG: real
: Global Ycoordinate of body \(\mathrm {[L]}\) 
ZG: real
: Global Zcoordinate of body \(\mathrm {[L]}\) 
PHI: real
: Euler angle, rotation about xaxis \(\mathrm {[deg]}\) 
THETA: real
: Euler angle, rotation about yaxis \(\mathrm {[deg]}\) 
PSI: real
: Euler angle, rotation about zaxis \(\mathrm {[deg]}\)
The applied rotational order is: PSI → THETA → PHI
2. External force time series imported from file
The name of the time series file is specified in the system input file.
The time series file is an ASCII text file, with comments beginning with apostrophes in the first lines on the file. The data section of the file contains time and the 6 components of the position vector.
File format:
File heading, arbitrary number of lines with apostrophe in the first position of the input line
' TEXT1 ' TEXT2 ' ...... ' TEXTn
Force components, NROW lines (one per time incident)
FX FY FZ MX MY MZ

FX: real, default: 0
: Force in Xdirection, \(\mathrm {[F]}\) 
FY: real, default: 0
: Force in Ydirection, \(\mathrm {[F]}\) 
FZ: real, default: 0
: Force in Zdirection, \(\mathrm {[F]}\) 
MX: real, default: 0
: Moment about Xaxis, \(\mathrm {[FL]}\) 
MY: real, default: 0
: Moment about Yaxis, \(\mathrm {[FL]}\) 
MZ: real, default: 0
: Moment about Zaxis, \(\mathrm {[FL]}\)
3. Specification of internal control system for VAWT generator torque and electrical power
Description of internal control system for VAWT generator torque and electrical power
The implemented generator torque control system includes startup logic as well as operational logic. A PI controller for the generator torque is applied to achieve the desired rotor speed.
During the startup period, the reference rotor speed is based on the rotor speed and the current time. The integral control parameter starts with a large value and is relaxed to the operational value after the startup period.
After the startup period, the reference rotor speed is based on the lowpass filtered wind speed.
Control measurement filter
The generator speed is the sole feedback input. Two notch filters are applied to the generator speed: one at \(\mathrm {n}\) times the reference rotor speed, and one at 2\(\mathrm {n}\) times the rotor speed (where \(\mathrm {n}\) is the number of blades). The notch filter at radial frequency \(\mathrm {\omega _n}\) with width parameter \(\mathrm {2\zeta}\) is given by:
Generator torque controller
The generator torque controller uses PI control to try to attain a specified reference speed. The reference speed is determined based on a lookup wind speed/rotor speed table, which is given as input or taken from the default table shown below. The lowpass filtered wind speed is used to determine the reference rotor speed at each time step. Linear interpolation is used in between the reference values.
The default rotor speed/wind speed table
Wind speed  Reference rotor speed 

\(\mathrm {[m/s]}\) 
\(\mathrm {[rad/s]}\) 
3.0 
0.200 
8.0 
0.544 
23.0 
0.544 
35.0 
0.200 
PI control
The PI controller determines the generator torque based on the proportional and integrated errors in rotor speed. The simple regulator algorithm is given by
where \(\mathrm {\Delta t}\) is the regulator time step, \(\mathrm {\Delta \omega }\) is the rotor speed error, i.e. the difference between filtered rotor speed and rated rotor speed. \(\mathrm {R}\) is the accumulated time integrated speed error. \(\mathrm {Q}\) is the instructed/required generator torque.
The factor \(\mathrm {\tau_i}\) is used to relate the proportional and integral gains.
During startup, the value of \(\mathrm {\tau_i}\) should be
small. Therefore, an initial value, final value, and a time period for
relaxing \(\mathrm {\tau_i}\) are introduced. The relaxation
period begins after the defined startup period. The relaxation
procedure is shown in the figure
`Illustration of relaxation of integral gain' below.
Gain scheduling
The optimal proportional and integrator gains may vary with rotor speed. At each step the gain will be corrected based on the present rotor speed. The user may specify a gain scheduling law or choose to apply the default law presented in the table `The default gain scheduling law'. For intervening generator speeds, linear interpolation is used.
Input description
Controller Data, Generator, One input line
DTSAMP TSTARTUP

DTSAMP: real
: time interval for control actions \(\mathrm {[T]}\) 
TSTARTUP: real
: Length of time for using startup control logic \(\mathrm {[T]}\)
Controller Data, Generator One input line
TCOMEGA TCWIND WNFILT NOTCH_P2

TCOMEGA: real
: Dummy input 
TCWIND: real
: Time constant for first order low pass filter for wind speed, \(\mathrm {TCWIND=1/\omega }\) \(\mathrm {[s/rad]}\) 
WNFILT: real
: Dummy input 
NOTCH_P2: real
: Width parameter in notch filters
Engine Data, Generator, One input line
GBRATIO MAX_TRQ MAX_TRQRATE

GBRATIO: real
: Gear box ratio (N rotations of high speed shaft for one rotation of the low speed shaft, I.e. generator versus rotor) 
MAX_TRQ: real
: Rated generator torque \(\mathrm {[FL]}\) 
MAX_TRQRATE: real
: Maximum generator torque \(\mathrm {[FL/T]}\)
Controller Data, Generator One input line
KP TAU_I_INIT, TAU_I_FINAL, T_RELAX

KP: real
: Proportional gain (referred to high speed shaft) \(\mathrm {[FLT/rad]}\) 
TAU_I_INIT: real
: Initial value of \(\mathrm {\tau_i}\), \(\mathrm {[T]}\) 
TAU_I_FINAL: real
: Final value of \(\mathrm {\tau_i}\), \(\mathrm {[T]}\) 
T_RELAX: real
: Time period for relaxing \(\mathrm {\tau_i}\) after the startup period, \(\mathrm {[T]}\)
Engine Data, Generator actuator One input line
WINDROTSPEED GAINSCHEDULE

WINDROTSPEED: character
: Wind speed/rotor speed table; Default or Tabulated
= D
: Default 
= T
: Tabulated


GAINSCHEDULE: character
: Gain scheduling; Default or Tabulated
= D
: Default 
= T
: Tabulated

Wind speed/rotor speed (WINDROTSPEED=T) One input line
WSNumber

WSNumber: integer
: Number of points in wind speed/rotor speed table
Wind speed/rotor speed (WINDROTSPEED=T); Wind speed/rotor speed table. WSNumber input lines
WS OMEGA

WS: real
: Wind speed at hub \(\mathrm {[L/T]}\) 
OMEGA: real
: Rotor speed \(\mathrm {[rad/T]}\)
Gain scheduling (GAINSCHEDULE=T) One input line
GSNumber

GSNumber: integer
: Number of points in gain scheduling table
Gain scheduling; Gain scheduling factors (GAINSCHEDULE=T). GSNumber input lines
OMEGA GF

OMEGA: real
: Rotor speed \(\mathrm {[rad/T]}\) 
GF: real
: Gain correction factor
Example input for control system
'dtsamp tstartup 0.1 40 ' TComega TCwind wnfilt notch_p2 0.6 47.75 1.02 0.05 ' gbratio max_trq max_trqrate 100 150 15 ' KP, tau_i_init, tau_i_final, t_relax 0.04E6 15 120 120 ' WindRotSpeed GainSchedule T T ' number of points in speedwind map 4 ' speedwind map 3 0.2 8.0 0.544 23.0 0.544 35.0 0.20 ' number of points in gain scheduling 4 ' gain scheduling table (omega, GF) 0 1.0 0.55 1.0 0.6 1.5 1 1.5
4. Specification of timevarying environmental conditions
It is possible to request timevarying environmental conditions in
DYNMOD
. The timevarying environmental conditions are defined in an
additional text file which contains information about when each
condition starts and how to phase between the different conditions.
There are additional restrictions on which different environments may be
combined.
This option is only available for waves when the Cosine series only
option for wave generation in DYNMOD
is used, and only irregular waves
are presently supported.
This option is only available for wind when the State Space model
wind
gust generation method in DYNMOD
is used.
All of the wave conditions applied in timevarying environmental conditions must have the same option for directional spreading (and number of directions, if applicable). If swell is present in the first environmental condition to be applied, it must be present in all conditions. Similarly, if swell is absent, it must be absent in all conditions. Referring to the environmental specification parameters:

all conditions must have the same
IWADR1

all conditions must have the same
IWADR2

all conditions must have the same
NDIR1

all conditions must have the same
NDIR2

if
IWASP2>0
for one condition, all conditions must haveIWASP2>0
All of the wind conditions applied in timevarying environmental conditions must be of the same spectrum type and use the same reference height. If wind is present for the first environmental condition, it must be present in all conditions. Similarly, if wind is absent, it must be absent in all conditions.
If current is present for the first environmental condition, it must be present in all conditions. Similarly, if current is absent, it must be absent for all conditions. If the current is read from file, the same current environment must be used for the whole simulation (ie, current changes should be included in the file). If the current is not from file, the same number of current levels must be used for all environments.
File format:
File heading, arbitrary number of lines with apostrophe in the first position of the input line
' TEXT1 ' TEXT2 ' ...... ' TEXTn
1 input line
NENV WMINW WMAX WMINS WMAXS

NENV: integer
: Number of environmental conditions to be read 
WMINW: real, default: 0.1
: Minimum wave frequency for windwaves, \(\mathrm {[rad/T]}\) 
WMAXW: real, default: 3.0
: Maximum wave frequency for windwaves, \(\mathrm {[rad/T]}\) 
WMINS: real, default: 0.05
: Minimum wave frequency for swellwaves, \(\mathrm {[rad/T]}\) 
WMINW: real, default: 2.0
: Maximum wave frequency for windwaves, \(\mathrm {[rad/T]}\)
NENV input lines
ENVTS ENVTR CHIRWA CHWIND CHCURR

ENVTS: real
: Time to begin switching to the new environment \(\mathrm {[T]}\) 
ENVTR: real
: Time duration of fadein for this environment, \(\mathrm {[T]}\) 
CHIRWA: character(8)
: Irregular wave identifier (orNONE
) 
CHWIND: character(8)
: Wind identifier (orNONE
) 
CHCURR: character(8)
: Current identifier (orNONE
)
For the first condition, ENVTS
and ENVTR
must be zero. It is
recommended to use at least 10*peak period for the fadein duration.
The time series of different environments is applied as in the figure below. During the time periods indicated by hatched fill, the previous environment is faded out as the new environment is faded in. There cannot be overlap: the previous fade must be finished before a new fade period can begin.
5. Advanced wind/current coefficients file
This file can be used by SIMO when the user specifies that the wind/current or current coefficients should be given as a function of:

relative wind/current direction

body vertical position

body roll angle

body pitch angle
The user then has to specify WCTYPE=1
and READFLAG=1
. For further
details see section
Wind force coefficients and
Quadratic current force coefficients
This additional input file does not allow the use of comment lines. However, description fields (CHTEXT) have to be provided.
File format:
2 input lines
CHTEXT

CHTEXT: character(512)
: Description text
NWIDIR

NWIDIR: integer
: Number of relative wind/current directions for which the wind coefficients will be given
NWIDIR input lines
WIDIR

WIDIR: real
: Relative wind/current direction, \(\mathrm {[deg]}\). Values must be included in the interval [0 , 360] and given in increasing order.
2 input lines
CHTEXT

CHTEXT: character(512)
: Description text
NWIZ

NZ: integer
: Number of body vertical positions for which the wind/current coefficients will be given
NWIZ input lines
WIZ

WIZ: real
: Body vertical position, \(\mathrm {[L]}\). Values must be given in increasing order.
2 input lines
CHTEXT

CHTEXT: character(512)
: Description text
NWIROLL

NWIROLL: integer
: Number of body roll angles for which the wind/current coefficients will be given
NWIROLL input lines
WIROLL

WIROLL: real
: Body roll angle, \(\mathrm {[deg]}\). Values must be included in the interval [180 , 180] and given in increasing order.
2 input lines
CHTEXT

CHTEXT: character(512)
: Description text
NWIPITCH

NWIPITCH: integer
: Number of body roll angles for which the wind/current coefficients will be given
NWIPITCH input lines
WIPITCH

WIPITCH: real
: Body pitch angle, \(\mathrm {[deg]}\). Values must be included in the interval [180 , 180] and given in increasing order.
NWIDIRNWIZNWIROLL*NWIPITCH input lines, given in the following nested loops order: WIDIR>WIZ>WIROLL>WIPITCH
WI1 WI2 WI3 WI4 WI5 WI6

WIn: real
: wind/current force coefficient for degree of freedom n, \(\mathrm {[FT^2/L^2,FT^2/L]}\)
Note: SIMO expects that the wind/current coefficients are given as nested loops as follows:
for idDIR=1:NWIDIR for idZ=1:NWIZ for idROLL=1:NWIROLL for idPITCH=1:NWIPITCH read WIn corresponding to WIDIR(idDIR),WIZ(idZ),WIROLL(idROLL),WIPITCH(idPITCH) end for end for end for end for