4.14.1. Input Files
The user configures the servodynamics model parameters via a primary ServoDyn input file, as well as separate input files for Structural control, and a controller DLL. This information is incomplete and will be documented here at a later date.
4.14.1.1. Units
ServoDyn uses the SI system (kg, m, s, N). Angles are assumed to be in radians unless otherwise specified.
4.14.1.2. ServoDyn Primary Input File
The primary ServoDyn input file defines the modeling options for the controller. This includes some DLL options, and Structural control options (typically a tuned mass damper system).
4.14.1.2.1. Simulation Control
Echo [flag]
Echo input data to <RootName>.ech
DT [sec]
Communication interval for controllers (or “default”)
4.14.1.2.2. Pitch Control
PCMode [switch]
Pitch control mode {0: none, 3: user-defined from routine PitchCntrl, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}
TPCOn [sec]
Time to enable active pitch control [unused when PCMode==0 ]
TPitManS(1) [sec]
Time to start override pitch maneuver for blade 1 and end standard pitch control
TPitManS(2) [sec]
Time to start override pitch maneuver for blade 2 and end standard pitch control
TPitManS(3) [sec]
Time to start override pitch maneuver for blade 3 and end standard pitch control [unused for 2 blades]
PitManRat(1) [deg/s]
Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 1
PitManRat(2) [deg/s]
Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 2
PitManRat(3) [deg/s]
Pitch rate at which override pitch maneuver heads toward final pitch angle for blade 3 [unused for 2 blades]
BlPitchF(1) [deg]
Blade 1 final pitch for pitch maneuvers
BlPitchF(2) [deg]
Blade 2 final pitch for pitch maneuvers
BlPitchF(3) [deg]
Blade 3 final pitch for pitch maneuvers [unused for 2 blades]
4.14.1.2.3. Generator and Torque Control
VSContrl [switch]
Variable-speed control mode {0: none, 1: simple VS, 3: user-defined from routine UserVSCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}
GenModel [switch]
Generator model {1: simple, 2: Thevenin, 3: user-defined from routine UserGen} [used only when VSContrl==0 ]
GenEff [%]
Generator efficiency [ignored by the Thevenin and user-defined generator models]
GenTiStr [flag]
Method to start the generator {T: timed using TimGenOn, F: generator speed using SpdGenOn}
GenTiStp [Flag]
Method to stop the generator {T: timed using TimGenOf, F: when generator power = 0}
SpdGenOn [rpm]
Generator speed to turn on the generator for a startup (HSS speed) [used only when GenTiStri==False ]
TimGenOn [sec]
Time to turn on the generator for a startup [used only when GenTiStr==True ]
TimGenOf [sec]
Time to turn off the generator [used only when GenTiStp==True ]
4.14.1.2.4. Simple Variable-speed Torque Control
VS_RtGnSp [rpm]
Rated generator speed for simple variable-speed generator control (HSS side) [used only when VSContrl==1 ]
VS_RtTq [N-m]
Rated generator torque/constant generator torque in Region 3 for simple variable-speed generator control (HSS side) [used only when VSContrl==1 ]
VS_Rgn2K [N-m/rpm^2]
Generator torque constant in Region 2 for simple variable-speed generator control (HSS side) [used only when VSContrl==1 ]
VS_SlPc [%]
Rated generator slip percentage in Region 2 1/2 for simple variable-speed generator control [used only when VSContrl==1 ]
4.14.1.2.5. Simple Induction Generator
SIG_SlPc [%]
Rated generator slip percentage [used only when VSContrl==0 and GenModel==1 ]
SIG_SySp [rpm]
Synchronous (zero-torque) generator speed [used only when VSContrl==0 and GenModel==1 ]
SIG_RtTq [N-m]
Rated torque [used only when VSContrl==0 and GenModel==1 ]
SIG_PORt [-]
Pull-out ratio (Tpullout/Trated) [used only when VSContrl==0 and GenModel==1 ]
4.14.1.2.6. Thevenin-Equivalent Induction Generator
TEC_Freq [Hz]
Line frequency [50 or 60] [used only when VSContrl==0 and GenModel==2 ]
TEC_NPol [-]
Number of poles [even integer > 0] [used only when VSContrl==0 and GenModel==2 ]
TEC_SRes [ohms]
Stator resistance [used only when VSContrl==0 and GenModel==2 ]
TEC_RRes [ohms]
Rotor resistance [used only when VSContrl==0 and GenModel==2 ]
TEC_VLL [volts]
Line-to-line RMS voltage [used only when VSContrl==0 and GenModel==2 ]
TEC_SLR [ohms]
Stator leakage reactance [used only when VSContrl==0 and GenModel==2 ]
TEC_RLR [ohms]
Rotor leakage reactance [used only when VSContrl==0 and GenModel==2 ]
TEC_MR [ohms]
Magnetizing reactance [used only when VSContrl==0 and GenModel==2 ]
4.14.1.2.7. High-speed Shaft Brake
HSSBrMode [switch]
HSS brake model {0: none, 1: simple, 3: user-defined from routine UserHSSBr, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}
THSSBrDp [sec]
Time to initiate deployment of the HSS brake
HSSBrDT [sec]
Time for HSS-brake to reach full deployment once initiated [used only when HSSBrMode==1 ]
HSSBrTqF [N-m]
Fully deployed HSS-brake torque
4.14.1.2.8. Nacelle-yaw Control
YCMode [switch]
Yaw control mode {0: none, 3: user-defined from routine UserYawCont, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}
TYCOn [sec]
Time to enable active yaw control [unused when YCMode==0 ]
YawNeut [deg]
Neutral yaw position–yaw spring force is zero at this yaw
YawSpr [N-m/rad]
Nacelle-yaw spring constant
YawDamp [N-m/(rad/s)]
Nacelle-yaw damping constant
TYawManS [sec]
Time to start override yaw maneuver and end standard yaw control
YawManRat [deg/s]
Yaw maneuver rate (in absolute value)
NacYawF [deg]
Final yaw angle for override yaw maneuvers
4.14.1.2.9. Aerodynamic Flow Control
AfCmode [switch]
Airfoil control mode {0: none, 1: sine wave cycle, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}
AfC_Mean [-]
Mean level for cosine cycling or steady value [used only with AfCmode==1 ]
AfC_Amp [-]
Amplitude for cosine cycling of flap signal [used only with AfCmode==1 ]
AfC_Phase [deg]
Phase relative to the blade azimuth (0 is vertical) for cosine cycling of flap signal [used only with AfCmode==1 ]
When AfCmode==1, the signal for the airfoil flow control is set by the expression AfC_Mean + p%AfC_Amp*cos( Azimuth + AfC_phase) where the azimuth is the azimuth of that particular blade (azimuth=0 is considered vertical).
4.14.1.2.10. Cable Control
Control of cable elements specified in either the MoorDyn or SubDyn modules can be controlled through ServoDyn by a Bladed-style controller. Each cable receives a pair of controller channels, one for the requested cable length change (DeltaL), and one for the cable length rate of change (DeltaLdot). The channel assignments are requested by the modules with the cable elements (MoorDyn and/or SubDyn at present), and mapped to the appropriate control channel. A summary of which module requested the channels is available in the summary file output from ServoDyn. Up to 100 channel groups may be requested when linking to a DLL, or 20 channel groups when linking to Simulink.
CCmode [switch]
Cable control mode {0: none, 4: user-defined from Simulink/Labview, 5: user-defined from Bladed-style DLL}.
Each cable control channel group consists of a channel for DeltaL (requested cable length change) and a channel for DeltaLdot (cable length change rate) from the controller/Simulink interface.
4.14.1.2.11. Structural Control
See Section 4.16.1.2 for descriptions of the mounting locations for each of the following options.
NumBStC [integer]
Number of blade structural controllers
BStCfiles [-]
Name of the files for blade structural controllers (quoted strings on one line) [unused when NumBStC==0 ]
NumNStC [integer]
Number of nacelle structural controllers
NStCfiles [-]
Name of the files for nacelle structural controllers (quoted strings on one line) [unused when NumNStC==0 ]
NumTStC [integer]
Number of tower structural controllers
TStCfiles [-]
Names of the file for tower structural control damping (quoted strings on one line) [unused when NumTStC==0 ]
NumSStC [integer]
Number of substructure structural controllers
SStCfiles [-]
Name of the files for substructure structural controllers (quoted strings on one line) [unused when NumSStC==0 ]
4.14.1.2.12. Bladed Controller Interface
DLL_FileName [-]
Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the Bladed-DLL format [used only with Bladed Interface]
DLL_InFile [-]
Name of input file sent to the DLL [used only with Bladed Interface]
DLL_ProcName [-]
Name of procedure in DLL to be called [case sensitive; used only with DLL Interface]
DLL_DT [sec]
Communication interval for dynamic library (or “default”) [used only with Bladed Interface]
DLL_Ramp [flag]
Whether a linear ramp should be used between DLL_DT time steps [introduces time shift when true] [used only with Bladed Interface]
BPCutoff [Hz]
Cutoff frequency for low-pass filter on blade pitch from DLL [used only with Bladed Interface]
NacYaw_North [deg]
Reference yaw angle of the nacelle when the upwind end points due North [used only with Bladed Interface]
Ptch_Cntrl [switch]
Record 28: Use individual pitch control {0: collective pitch; 1: individual pitch control} [used only with Bladed Interface]
Ptch_SetPnt [deg]
Record 5: Below-rated pitch angle set-point [used only with Bladed Interface]
Ptch_Min [deg]
Record 6: Minimum pitch angle [used only with Bladed Interface]
Ptch_Max [deg]
Record 7: Maximum pitch angle [used only with Bladed Interface]
PtchRate_Min [deg/s]
Record 8: Minimum pitch rate (most negative value allowed) [used only with Bladed Interface]
PtchRate_Max [deg/s]
Record 9: Maximum pitch rate [used only with Bladed Interface]
Gain_OM [N-m/(rad/s)^2]
Record 16: Optimal mode gain [used only with Bladed Interface]
GenSpd_MinOM [rpm]
Record 17: Minimum generator speed [used only with Bladed Interface]
GenSpd_MaxOM [rpm]
Record 18: Optimal mode maximum speed [used only with Bladed Interface]
GenSpd_Dem [rpm]
Record 19: Demanded generator speed above rated [used only with Bladed Interface]
GenTrq_Dem [N-m]
Record 22: Demanded generator torque above rated [used only with Bladed Interface]
GenPwr_Dem [W]
Record 13: Demanded power [used only with Bladed Interface]
4.14.1.2.13. Bladed Interface Torque-Speed Look-up table
DLL_NumTrq [-]
Record 26: No. of points in torque-speed look-up table {0 = none and use the optimal mode parameters; nonzero = ignore the optimal mode PARAMETERs by setting Record 16 to 0.0} [used only with Bladed Interface] The following 2 column table format is expected:
- GenSpd_TLU
(rpm)
- GenTrq_TLU
(N-m)
4.14.1.2.14. Output
SumPrint [flag]
Print summary data to <RootName>.sum. This file contains a summary of the inputs, and will give a detailed list of the communication channels with a Bladed-style controller when used. This information may be helpful in debugging a controller, or verifying how ServoDyn is configured.
OutFile [-]
Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused)
TabDelim [flag]
Use tab delimiters in text tabular output file? (currently unused)
OutFmt [-]
Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string) (currently unused)
TStart [sec]
Time to begin tabular output (currently unused)
OutList section controls output quantities generated by
ServoDyn. Enter one or more lines containing quoted strings that in turn
contain one or more output parameter names. Separate output parameter
names by any combination of commas, semicolons, spaces, and/or tabs. If
you prefix a parameter name with a minus sign, “-”, underscore, “_”, or
the characters “m” or “M”, ServoDyn will multiply the value for that
channel by –1 before writing the data. The parameters are written in the
order they are listed in the input file. ServoDyn allows you to use
multiple lines so that you can break your list into meaningful groups
and so the lines can be shorter. You may enter comments after the
closing quote on any of the lines. Entering a line with the string “END”
at the beginning of the line or at the beginning of a quoted string
found at the beginning of the line will cause ServoDyn to quit scanning
for more lines of channel names. If ServoDyn encounters an
unknown/invalid channel name, it warns the users but will remove the
suspect channel from the output file. Please refer to the ServoDyn tab in the
Excel file OutListParameters.xlsx
for a complete list of possible output parameters.