-
Notifications
You must be signed in to change notification settings - Fork 97
/
Copy pathtoolbox_schema.yaml
369 lines (363 loc) · 14.8 KB
/
toolbox_schema.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
$schema: "http://json-schema.org/draft-07/schema#"
$id: ROSCO_toolbox_schema
title: ROSCO toolbox schema
description: Definition of inputs for ROSCO tuning procedure
type: object
properties:
path_params:
type: object
default: {}
required:
- FAST_InputFile
- FAST_directory
- rotor_performance_filename
properties:
FAST_InputFile:
type: string
description: Name of *.fst file
# default: IEA-15-240-RWT-UMaineSemi.fst
FAST_directory:
type: string
description: Main OpenFAST model directory, where the *.fst lives, relative to ROSCO dir (if applicable)
# default: Test_Cases/IEA-15-240-RWT-UMaineSemi
rotor_performance_filename:
type: string
description: Filename for rotor performance text file (if it has been generated by ccblade already)
# default: Cp_Ct_Cq.IEA15MW.txt
turbine_params:
type: object
default: {}
required:
- rotor_inertia
- rated_rotor_speed
- v_rated
- max_pitch_rate
- max_torque_rate
- rated_power
- bld_edgewise_freq
- bld_flapwise_freq
properties:
rotor_inertia:
type: number
description: Rotor inertia [kg m^2], {Available in Elastodyn .sum file}
unit: kg m^2
rated_rotor_speed:
type: number
description: Rated rotor speed [rad/s]
unit: rad/s
minimum: 0
v_min:
type: number
description: Cut-in wind speed of the wind turbine.
unit: m/s
minimum: 0
v_max:
type: number
description: Cut-out wind speed of the wind turbine.
unit: m/s
minimum: 0
max_pitch_rate:
type: number
description: Maximum blade pitch rate [rad/s]
unit: rad/s
minimum: 0
max_torque_rate:
type: number
description: Maximum torque rate [Nm/s], {~1/4 VS_RtTq/s}
unit: Nm/s
minimum: 0
rated_power:
type: number
description: Rated Power [W]
unit: W
minimum: 0
bld_edgewise_freq:
type: number
description: Blade edgewise first natural frequency [rad/s]
unit: rad/s
minimum: 0
bld_flapwise_freq:
type: number
description: Blade flapwise first natural frequency [rad/s]
unit: rad/s
minimum: 0
default: 0
TSR_operational:
type: number
description: Optimal tip speed ratio, if 0 the optimal TSR will be determined by the Cp surface
unit: none
default: 0
minimum: 0
controller_params:
type: object
properties:
LoggingLevel:
type: number
description: 0- write no debug files, 1- write standard output .dbg-file, 2- write standard output .dbg-file and complete avrSWAP-array .dbg2-file
minimum: 0
maximum: 2
default: 1
F_LPFType:
type: number
description: 1- first-order low-pass filter, 2- second-order low-pass filter, [rad/s] (currently filters generator speed and pitch control signals)
minimum: 1
maximum: 2
default: 1
F_NotchType:
type: number
minimum: 0
maximum: 3
default: 0
description: Notch on the measured generator speed and/or tower fore-aft motion (for floating) {0- disable, 1- generator speed, 2- tower-top fore-aft motion, 3- generator speed and tower-top fore-aft motion}
IPC_ControlMode:
type: number
minimum: 0
maximum: 2
default: 0
description: Turn Individual Pitch Control (IPC) for fatigue load reductions (pitch contribution) (0- off, 1- 1P reductions, 2- 1P+2P reduction)
VS_ControlMode:
type: number
minimum: 0
maximum: 3
default: 2
description: Generator torque control mode in above rated conditions (0- constant torque, 1- constant power, 2- TSR tracking PI control with constant torque, 3- TSR tracking with constant power)
PC_ControlMode:
type: number
minimum: 0
maximum: 1
default: 1
description: Blade pitch control mode (0- No pitch, fix to fine pitch, 1- active PI blade pitch control)
Y_ControlMode:
type: number
minimum: 0
maximum: 2
default: 0
description: Yaw control mode (0- no yaw control, 1- yaw rate control, 2- yaw-by-IPC)
SS_Mode:
type: number
minimum: 0
maximum: 2
default: 1
description: Setpoint Smoother mode (0- no setpoint smoothing, 1- introduce setpoint smoothing)
WE_Mode:
type: number
minimum: 0
maximum: 2
default: 2
description: Wind speed estimator mode (0- One-second low pass filtered hub height wind speed, 1- Immersion and Invariance Estimator (Ortega et al.)
PS_Mode:
type: number
minimum: 0
maximum: 3
default: 3
description: Pitch saturation mode (0- no pitch saturation, 1- peak shaving, 2- Cp-maximizing pitch saturation, 3- peak shaving and Cp-maximizing pitch saturation)
SD_Mode:
type: number
minimum: 0
maximum: 1
default: 0
description: Shutdown mode (0- no shutdown procedure, 1- pitch to max pitch at shutdown)
Fl_Mode:
type: number
minimum: 0
maximum: 2
default: 0
description: Floating specific feedback mode (0- no nacelle velocity feedback, 1 - nacelle velocity feedback, 2 - nacelle pitching acceleration feedback)
Flp_Mode:
type: number
minimum: 0
maximum: 2
default: 0
description: Flap control mode (0- no flap control, 1- steady state flap angle, 2- Proportional flap control)
PwC_Mode:
type: number
minimum: 0
maximum: 2
default: 0
description: Active Power Control Mode (0- no active power control 1- constant active power control, 2- open loop power vs time, 3- open loop power vs. wind speed)
U_pc:
type: array
description: List of wind speeds to schedule pitch control zeta and omega
unit: m/s
items:
type: number
minimum: 0
uniqueItems: True
default: [12]
zeta_pc:
type: [array,number]
description: List of pitch controller desired damping ratio at U_pc [-]
unit: none
items:
type: number
minimum: 0
default: [1.0]
omega_pc:
type: [array,number]
description: List of pitch controller desired natural frequency at U_pc [rad/s]
unit: rad/s
items:
type: number
minimum: 0
default: [0.2]
interp_type:
type: string
description: Type of interpolation between above rated tuning values (only used for multiple pitch controller tuning values)
default: linear
enum: ['sigma', 'linear', 'quadratic', 'cubic']
zeta_vs:
type: number
minimum: 0
description: Torque controller desired damping ratio [-]
unit: none
default: 1.0
omega_vs:
type: number
minimum: 0
description: Torque controller desired natural frequency [rad/s]
unit: rad/s
default: 0.2
max_pitch:
description: Maximum pitch angle [rad], {default = 90 degrees}
type: number
default: 1.57
unit: rad
min_pitch:
description: Minimum pitch angle [rad], {default = 0 degrees}
type: number
default: 0
unit: rad
vs_minspd:
description: Minimum rotor speed [rad/s], {default = 0 rad/s}
type: number
default: 0
unit: rad/s
ss_vsgain:
description: Torque controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 100%}
type: number
default: 1.000
unit: None
ss_pcgain:
description: Pitch controller setpoint smoother gain bias percentage [%, <= 1 ], {default = 0.1%}
type: number
default: 0.001
unit: rad
ps_percent:
description: Percent peak shaving [%, <= 1 ], {default = 80%}
type: number
default: 0.8
maximum: 1
unit: rad
sd_maxpit:
description: Maximum blade pitch angle to initiate shutdown [rad], {default = 40 deg.}
type: number
default: 0.6981
unit: rad
sd_cornerfreq:
description: Cutoff Frequency for first order low-pass filter for blade pitch angle [rad/s], {default = 0.41888 ~ time constant of 15s}
type: number
default: 0.41888
unit: rad
flp_maxpit:
description: Maximum (and minimum) flap pitch angle [rad]
type: number
default: 0.1745
unit: rad
twr_freq:
type: number
description: Tower natural frequency, for floating only
unit: rad/s
minimum: 0
ptfm_freq:
type: number
description: Platform natural frequency, for floating only
unit: rad/s
minimum: 0
f_ss_cornerfreq:
type: number
description: First order low-pass filter cornering frequency for setpoint smoother [rad/s]
minimum: 0
unit: rad/s
default: 0.6283
WS_GS_n:
type: number
description: Number of wind speed breakpoints
minimum: 0
default: 60
PC_GS_n:
type: number
description: Number of pitch angle gain scheduling breakpoints
minimum: 0
default: 30
Kp_float:
type: number
description: Gain of floating feedback control
unit: s
tune_Fl:
type: boolean
description: Whether to automatically tune Kp_float
default: True
zeta_flp:
type: number
minimum: 0
description: Flap controller desired damping ratio [-]
unit: none
omega_flp:
type: number
minimum: 0
description: Flap controller desired natural frequency [rad/s]
unit: rad/s
filter_params:
type: object
default: {}
properties:
f_we_cornerfreq:
type: number
description: Corner frequency (-3dB point) in the first order low pass filter for the wind speed estimate [rad/s]
minimum: 0
unit: rad/s
default: 0.209440
f_fl_highpassfreq:
type: number
minimum: 0
unit: rad/s
default: 0.01042
description: Natural frequency of first-order high-pass filter for nacelle fore-aft motion [rad/s]
linmodel_tuning:
type: object
default: {}
description: Inputs used for tuning ROSCO using linear (level 2) models
properties:
type:
type: string
description: Type of level 2 based tuning - robust gain scheduling (robust) or simulation based optimization (simulation)
default: 'none'
enum: ['none', 'robust', 'simulation']
linfile_path:
type: string
description: Path to OpenFAST linearization (.lin) files, if they exist
default: none
lintune_outpath:
type: string
description: Path for outputs from linear model based tuning
default: lintune_outfiles
load_parallel:
type: boolean
description: Load linearization files in parallel (True/False)
default: False
stability_margin:
type: [number, array]
description: Desired maximum stability margin
default: 0.1
omega_pc:
type: object
default: {}
description: Pitch controller bandwidth constraints
min:
type: [number, array]
default: 0.0
description: Desired maximum allowable omega for robust tuning. Array must be of length U_pc.
max:
type: [number, array]
default: 0.2
description: Desired maximum allowable omega for robust tuning. Array must be of length U_pc.