-
Notifications
You must be signed in to change notification settings - Fork 40
/
modeling_schema.yaml
3482 lines (3479 loc) · 179 KB
/
modeling_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
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
$schema: 'http://json-schema.org/draft-07/schema#'
$id: WEIS_model_options_schema_v00
title: WEIS wind turbine modeling options schema
description: Schema that describes the modeling options for WEIS
type: object
properties:
General:
type: object
default: {}
properties:
verbosity:
type: boolean
default: False
description: Prints additional outputs to screen (and to a file log in the future)
solver_maxiter:
type: integer
default: 5
description: Number of iterations for the top-level coupling solver
openfast_configuration:
type: object
default: {}
properties:
OF_run_fst:
type: string
default: none
description: Filename prefix for output files
OF_run_dir:
type: string
default: none
description: Path to place FAST output files (e.g. /home/user/myturbines/output)
generate_af_coords:
type: boolean
default: False
description: Flag to write airfoil coordinates out or not
use_exe:
type: boolean
default: False
description: Use openfast executable instead of library
model_only:
type: boolean
default: False
description: Flag to only generate an OpenFAST model and stop
save_timeseries:
type: boolean
default: False
description: Save openfast output timeseries
keep_time:
type: boolean
default: True
description: Keep timeseries in openmdao_openfast for post-processing
save_iterations:
type: boolean
default: False
description: Save summary stats and other info for each openfast iteration. Could bump this up to a more global post-processing input.
FAST_exe:
type: string
default: none
description: Path to FAST executable to override default WEIS value (e.g. /home/user/OpenFAST/bin/openfast)
FAST_lib:
type: string
default: none
description: Path to FAST dynamic library to override default WEIS value (e.g. /home/user/OpenFAST/lib/libopenfast.so)
path2dll:
type: string
default: none
description: Path to controller shared library (e.g. /home/user/myturbines/libdiscon.so)
allow_fails:
type: boolean
default: False
description: Allow WEIS to continue if OpenFAST fails? All outputs will be filled with fail_value. Use with caution!
fail_value:
type: number
default: -9999
decription: All OpenFAST outputs will be filled with this if the simulation fails.
goodman_correction:
type: boolean
default: False
description: Flag whether to apply the Goodman correction for mean stress value to the stress amplitude value in fatigue calculations
WISDEM:
type: object
default: {}
description: Options for running WISDEM. No further options are included in this file. They are populated using the modeling schema in the WISDEM project in python.
Level1:
type: object
default: {}
description: Options for WEIS fidelity level 1 = frequency domain (RAFT)
properties:
flag:
type: boolean
default: False
description: Whether or not to run WEIS fidelity level 1 = frequency domain (RAFT)
min_freq:
type: number
description: Minimum frequency to evaluate (frequencies will be min_freq:min_freq:max_freq)
default: 0.0159
minimum: 0.0
maximum: 1e3
units: Hz
max_freq:
type: number
description: Maximum frequency to evaluate (frequencies will be min_freq:min_freq:max_freq)
default: 0.3183
minimum: 0.0
maximum: 1e3
units: Hz
potential_bem_members:
type: array
description: List of submerged member names to model with potential flow boundary element methods. Members not listed here will be modeled with strip theory
default: []
items:
type: string
uniqueItems: True
potential_model_override:
type: integer
default: 0
enum: [0, 1, 2]
description: User override for potential boundary element modeling. 0 = uses the potential_bem_members list for inviscid force and computes viscous drag with strip theory (members not listed use only strip theory), 1 = no potential BEM modeling for any member (just strip theory), 2 = potential BEM modeling for all members (no strip theory)
xi_start:
type: number
default: 0.0
minimum: 0.0
maximum: 1000.0
description: Initial amplitude of each DOF for all frequencies
nIter:
type: integer
default: 15
minimum: 1
maximum: 100
description: Number of iterations to solve dynamics
dls_max:
type: integer
default: 5
minimum: 1
maximum: 100
description: Maximum node splitting section amount
min_freq_BEM:
type: number
default: 0.0159
minimum: 0.0
maximum: 2.0
description: lowest frequency and frequency interval to use in BEM analysis
units: Hz
trim_ballast:
type: integer
default: 0
description: Use RAFT to trim ballast so that average heave is near 0 (0 - no trim, 1 - adjust compartment fill values, 2 - adjust ballast density, recommended for now)
heave_tol:
type: number
default: 1
minimum: 0
description: Heave tolerance for trim_ballast
units: m
save_designs:
type: boolean
default: False
description: Save RAFT design iterations in <outputs>/raft_designs
runPyHAMS:
type: boolean
default: True
description: Flag to run pyHAMS
Level3: &ofmodopt
type: object
default: {}
description: Options for WEIS fidelity level 3 = nonlinear time domain
properties:
flag:
type: boolean
default: False
description: Whether or not to run WEIS fidelity level 3 = nonlinear time domain (Linearize OpenFAST)
simulation: &ofsimulation # TODO: Should this also move to analysis settings?
type: object
default: {}
properties:
Echo: &echo
type: boolean
default: False
description: Echo input data to '<RootName>.ech' (flag)
AbortLevel:
type: string
enum: ['WARNING', 'SEVERE', 'FATAL']
default: 'FATAL'
description: Error level when simulation should abort (string) {'WARNING', 'SEVERE', 'FATAL'}
DT:
type: number
default: 0.025
minimum: 0.0
maximum: 10.0
unit: s
description: Integration time step (s)
InterpOrder:
type: string
enum: ['1','2', linear, Linear, LINEAR, quadratic, Quadratic, QUADRATIC]
default: '2'
description: Interpolation order for input/output time history (-) {1=linear, 2=quadratic}
NumCrctn:
type: integer
default: 0
minimum: 0
maximum: 10
description: Number of correction iterations (-) {0=explicit calculation, i.e., no corrections}
DT_UJac:
type: number
default: 99999.0
minimum: 0.0
maximum: 100000.0
unit: s
description: Time between calls to get Jacobians (s)
UJacSclFact:
type: number
default: 1e6
minimum: 0.0
maximum: 1e9
description: Scaling factor used in Jacobians (-)
CompElast:
type: integer
enum: [0,1,2]
default: 1
description: Compute structural dynamics (switch) {1=ElastoDyn; 2=ElastoDyn + BeamDyn for blades}
CompInflow:
type: integer
enum: [0,1,2]
default: 1
description: Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM}
CompAero:
type: integer
enum: [0,1,2]
default: 2
description: Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15}
CompServo:
type: integer
enum: [0,1]
default: 1
description: Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn}
CompHydro:
type: integer
enum: [0,1]
default: 0
description: Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn}
CompSub:
type: integer
enum: [0,1,2]
default: 0
description: Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF}
CompMooring:
type: integer
enum: [0,1,2,3,4]
default: 0
description: Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex}
CompIce:
type: integer
enum: [0,1,2]
default: 0
description: Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn}
MHK:
type: integer
enum: [0,1,2]
default: 0
description: MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine}
Gravity:
type: number
default: 9.81
minimum: 0.0
maximum: 100.0
unit: m / s**2
description: Gravitational acceleration (m/s^2)
AirDens:
type: number
default: 1.225
description: Air density (kg/m^3)
unit: kg/m**3
WtrDens:
type: number
default: 1025
description: Water density (kg/m^3)
unit: kg/m**3
KinVisc:
type: number
default: 1.464E-05
description: Kinematic viscosity of working fluid (m^2/s)
SpdSound:
type: number
default: 335
description: Speed of sound in working fluid (m/s)
Patm:
type: number
default: 103500
description: Atmospheric pressure (Pa) [used only for an MHK turbine cavitation check]
Pvap:
type: number
default: 1700
description: Vapour pressure of working fluid (Pa) [used only for an MHK turbine cavitation check]
WtrDpth:
type: number
default: 300
description: Water depth (m)
MSL2SWL:
type: number
default: 0
description: Offset between still-water level and mean sea level (m) [positive upward]
EDFile:
type: string
default: none
description: Name of file containing ElastoDyn input parameters (quoted string)
BDBldFile(1):
type: string
default: none
description: Name of file containing BeamDyn input parameters for blade 1 (quoted string)
BDBldFile(2):
type: string
default: none
description: Name of file containing BeamDyn input parameters for blade 2 (quoted string)
BDBldFile(3):
type: string
default: none
description: Name of file containing BeamDyn input parameters for blade 3 (quoted string)
InflowFile:
type: string
default: none
description: Name of file containing inflow wind input parameters (quoted string)
AeroFile:
type: string
default: none
description: Name of file containing aerodynamic input parameters (quoted string)
ServoFile:
type: string
default: none
description: Name of file containing control and electrical-drive input parameters (quoted string)
HydroFile:
type: string
default: none
description: Name of file containing hydrodynamic input parameters (quoted string)
SubFile:
type: string
default: none
description: Name of file containing sub-structural input parameters (quoted string)
MooringFile:
type: string
default: none
description: Name of file containing mooring system input parameters (quoted string)
IceFile:
type: string
default: none
description: Name of file containing ice input parameters (quoted string)
SumPrint:
type: boolean
default: False
description: Print summary data to '<RootName>.sum' (flag)
SttsTime:
type: number
default: 10.
minimum: 0.01
maximum: 1000.
units: s
description: Amount of time between screen status messages (s)
ChkptTime:
type: number
default: 99999.
minimum: 0.01
maximum: 1000000.
units: s
description: Amount of time between creating checkpoint files for potential restart (s)
DT_Out:
type: string
default: default
description: Time step for tabular output (s) (or 'default')
OutFileFmt:
type: integer
enum: [0,1,2,3]
default: 2
description: Format for tabular (time-marching) output file (switch) {1 text file [<RootName>.out], 2 binary file [<RootName>.outb], 3 both}
TabDelim:
type: boolean
default: True
description: Use tab delimiters in text tabular output file? (flag) (currently unused)
OutFmt:
type: string
default: 'ES10.3E2'
description: Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string (currently unused)
Linearize:
type: boolean
default: False
description: Linearization analysis (flag)
CalcSteady:
type: boolean
default: False
description: Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag)
TrimCase:
type: string
enum: ['1','2','3', yaw, Yaw, YAW, torque, Torque, TORQUE, pitch, Pitch, PITCH]
default: '3'
description: Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-)
TrimTol:
type: number
default: 0.001
minimum: 0.0
maximum: 1.0
unit: none
description: Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-)
TrimGain:
type: number
default: 0.01
minimum: 0.0
maximum: 1.0
unit: kg*m^2/rad/s
description: Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque)
Twr_Kdmp:
type: number
default: 0.0
minimum: 0.0
maximum: 1e5
unit: kg/s
description: Damping factor for the tower [used only if CalcSteady=True] (N/(m/s))
Bld_Kdmp:
type: number
default: 0.0
minimum: 0.0
maximum: 1e5
unit: kg/s
description: Damping factor for the blades [used only if CalcSteady=True] (N/(m/s))
NLinTimes:
type: integer
default: 2
minimum: 0
maximum: 10
description: Number of times to linearize (-) [>=1] [unused if Linearize=False]
LinTimes:
type: array
description: List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=False]
default: [30.0, 60.0]
items:
type: number
uniqueItems: True
minimum: 0.0
maximum: 1e4
LinInputs:
type: string
enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL]
default: '1'
description: Inputs included in linearization (switch) {0=none; 1=standard; 2=all module inputs (debug)} [unused if Linearize=False]
LinOutputs:
type: string
enum: ['0','1','2', none, None, NONE, standard, Standard, STANDARD, all, All, ALL]
default: '1'
description: Outputs included in linearization (switch) {0=none; 1=from OutList(s); 2=all module outputs (debug)} [unused if Linearize=False]
LinOutJac:
type: boolean
default: False
description: Include full Jacobians in linearization output (for debug) (flag) [unused if Linearize=False; used only if LinInputs=LinOutputs=2]
LinOutMod:
type: boolean
default: False
description: Write module-level linearization output files in addition to output for full system? (flag) [unused if Linearize=False]
WrVTK:
type: integer
default: 0
enum: [0,1,2]
description: VTK visualization data output (switch) {0=none; 1=initialization data only; 2=animation}
VTK_type:
type: integer
default: 2
enum: [1,2,3]
description: Type of VTK visualization data (switch) {1=surfaces; 2=basic meshes (lines/points); 3=all meshes (debug)} [unused if WrVTK=0]
VTK_fields:
type: boolean
default: False
description: Write mesh fields to VTK data files? (flag) {true/false} [unused if WrVTK=0]
VTK_fps:
type: number
default: 10.
minimum: 0.
description: Frame rate for VTK output (frames per second){will use closest integer multiple of DT} [used only if WrVTK=2]
InflowWind: &ofinflowwind
type: object
default: {}
properties:
Echo: *echo
WindType:
type: integer
enum: [1,2,3,4,5,6,7]
unit: none
default: 1
description: Switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined; 7=native Bladed FF)
PropagationDir:
type: number
default: 0.0
minimum: 0.0
maximum: 360.0
unit: deg
description: Direction of wind propagation (meteoroligical rotation from aligned with X (positive rotates towards -Y) -- degrees)
VFlowAng:
type: number
default: 0.0
minimum: -90.0
maximum: 90.0
unit: deg
description: Upflow angle (degrees) (not used for native Bladed format WindType=7)
NWindVel:
type: integer
default: 1
minimum: 0
maximum: 9
unit: none
description: Number of points to output the wind velocity (0 to 9)
HWindSpeed:
type: number
default: 0.0
minimum: 0.0
maximum: 1000.0
unit: m / s
description: Horizontal windspeed, for WindType = 1
RefHt:
type: number
default: 0.0
minimum: 0.0
maximum: 1000.0
unit: m
description: Reference height for horizontal wind speed (m)
PLExp:
type: number
default: 0.0
minimum: 0.0
maximum: 100.0
unit: none
description: Power law exponent (-)
Filename_Uni:
type: string
default: none
description: Filename of time series data for uniform wind field [used only for WindType = 2]
RefHt_Uni:
type: number
default: 0.0
minimum: 0.0
maximum: 1000.0
unit: m
description: Reference height for horizontal wind speed (m)
RefLength:
type: number
default: 1.0
minimum: 1.e-6
maximum: 1000.0
unit: none
description: Reference length for linear horizontal and vertical sheer (-) [used only for WindType = 2]
FileName_BTS:
type: string
default: none
description: Name of the Full field wind file to use (.bts) [used only for WindType = 3]
FilenameRoot:
type: string
default: none
description: Rootname of the full-field wind file to use (.wnd, .sum) [used only for WindType = 4]
TowerFile:
type: boolean
default: False
description: Have tower file (.twr) (flag) [used only for WindType = 4]
FileName_u:
type: string
default: none
description: Name of the file containing the u-component fluctuating wind (.bin) [Only used with WindType = 5]
FileName_v:
type: string
default: none
description: Name of the file containing the v-component fluctuating wind (.bin) [Only used with WindType = 5]
FileName_w:
type: string
default: none
description: Name of the file containing the w-component fluctuating wind (.bin) [Only used with WindType = 5]
nx:
type: integer
default: 2
minimum: 2
maximum: 1000
unit: none
description: Number of grids in the x direction (in the 3 files above) (-)
ny:
type: integer
default: 2
minimum: 2
maximum: 1000
unit: none
description: Number of grids in the y direction (in the 3 files above) (-)
nz:
type: integer
default: 2
minimum: 2
maximum: 1000
unit: none
description: Number of grids in the z direction (in the 3 files above) (-)
dx:
type: number
default: 10
minimum: 0.
maximum: 1000.
unit: meter
description: Distance (in meters) between points in the x direction (m)
dy:
type: number
default: 10
minimum: 0.
maximum: 1000.
unit: meter
description: Distance (in meters) between points in the y direction (m)
dz:
type: number
default: 10
minimum: 0.
maximum: 1000.
unit: meter
description: Distance (in meters) between points in the z direction (m)
RefHt_Hawc:
type: number
default: 0.0
minimum: 0.0
maximum: 1000.0
unit: m
description: Reference height for horizontal wind speed (m)
ScaleMethod:
type: integer
default: 0
enum: [0,1,2]
unit: none
description: Turbulence scaling method [0 = none, 1 = direct scaling, 2 = calculate scaling factor based on a desired standard deviation]
SFx:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: none
description: Turbulence scaling factor for the x direction (-) [ScaleMethod=1]
SFy:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: none
description: Turbulence scaling factor for the y direction (-) [ScaleMethod=1]
SFz:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: none
description: Turbulence scaling factor for the z direction (-) [ScaleMethod=1]
SigmaFx:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: m /s
description: Turbulence standard deviation to calculate scaling from in x direction (m/s) [ScaleMethod=2]
SigmaFy:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: m /s
description: Turbulence standard deviation to calculate scaling from in y direction (m/s) [ScaleMethod=2]
SigmaFz:
type: number
default: 1.
minimum: 0.
maximum: 1000.
unit: m /s
description: Turbulence standard deviation to calculate scaling from in z direction (m/s) [ScaleMethod=2]
URef:
type: number
default: 0.
minimum: 0.
maximum: 1000.
unit: m / s
description: Mean u-component wind speed at the reference height (m/s) [HAWC-format files]
WindProfile:
type: integer
default: 0
enum: [0,1,2]
unit: none
description: Wind profile type (0=constant;1=logarithmic,2=power law)
PLExp_Hawc:
type: number
default: 0.
minimum: 0.
maximum: 1000.
unit: none
description: Power law exponent (-) (used for PL wind profile type only)[HAWC-format files]
Z0:
type: number
default: 0.
minimum: 0.
maximum: 1000.
unit: m
description: Surface roughness length (m) (used for LG wind profile type only)[HAWC-format files]
XOffset:
type: number
default: 0
minimum: 0.
maximum: 1000.
unit: m
description: Initial offset in +x direction (shift of wind box)
SumPrint:
type: boolean
default: False
description: Print summary data to '<RootName>.sum' (flag)
AeroDyn: &ofaerodyn
type: object
default: {}
properties:
flag:
type: boolean
default: False
description: Whether or not to run AeroDyn
Echo: *echo
DTAero:
type: number
default: 0.
minimum: 0.
maximum: 10.
unit: s
description: Time interval for aerodynamic calculations. Set it to 0. for default (same as main fst)
WakeMod:
type: integer
enum: [0, 1, 3]
default: 1
description: Type of wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF}
AFAeroMod:
type: integer
enum: [0, 1, 2]
default: 2
description: Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [must be 1 when linearizing]
TwrPotent:
type: integer
enum: [0, 1, 2]
default: 1
description: Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction}
TwrShadow:
type: integer
enum: [0, 1, 2]
default: 1
description: Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model}
TwrAero:
type: boolean
default: True
description: Calculate tower aerodynamic loads? (flag)
FrozenWake:
type: boolean
default: False
description: Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing]
CavitCheck:
type: boolean
default: False
description: Perform cavitation check? (flag) TRUE will turn off unsteady aerodynamics
CompAA:
type: boolean
default: False
description: Flag to compute AeroAcoustics calculation [only used when WakeMod=1 or 2]
AA_InputFile:
type: string
default: AeroAcousticsInput.dat
description: Aeroacoustics input file
SkewMod:
type: integer
enum: [1,2,3]
default: 2
description: Type of skewed-wake correction model (switch) {1=uncoupled, 2=Pitt/Peters, 3=coupled} [used only when WakeMod=1]
SkewModFactor:
type: number
default: 1.4726215563702154
description: Constant used in Pitt/Peters skewed wake model {or 'default' is 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0]
TipLoss:
type: boolean
default: True
description: Use the Prandtl tip-loss model? (flag) [used only when WakeMod=1]
HubLoss:
type: boolean
default: True
description: Use the Prandtl hub-loss model? (flag) [used only when WakeMod=1]
TanInd:
type: boolean
default: True
description: Include tangential induction in BEMT calculations? (flag) [used only when WakeMod=1]
AIDrag:
type: boolean
default: True
description: Include the drag term in the axial-induction calculation? (flag) [used only when WakeMod=1]
TIDrag:
type: boolean
default: True
description: Include the drag term in the tangential-induction calculation? (flag) [used only when WakeMod=1 and TanInd=TRUE]
IndToler:
type: number
default: 0.0
description: Convergence tolerance for BEMT nonlinear solve residual equation {or 0.0 for default} (-) [used only when WakeMod=1]
MaxIter:
type: integer
default: 500
description: Maximum number of iteration steps (-) [used only when WakeMod=1]
DBEMT_Mod:
type: integer
enum: [1, 2, 3]
default: 2
description: Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=unsteady, 3=time-dependent tau1} (-) [used only when WakeMod=2]
tau1_const:
type: number
unit: s
default: 2.0
minimum: 0.0
maximum: 1000.0
description: Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1]
OLAFInputFileName:
type: string
default: unused
description: Input file for OLAF [used only when WakeMod=3]
OLAF:
type: object
default: {}
properties:
IntMethod:
type: integer
enumerate: [5]
default: 5
description: Integration method {5 Forward Euler 1st order, default 5} (switch)
DTfvw:
type: number
default: 0.
minimum: 0.
maximum: 10.
unit: s
description: Time interval for wake propagation. {default dtaero} (s). Set it to 0. for default (same as main fst)
FreeWakeStart:
default: 0.
minimum: 0.
maximum: 10.
unit: s
description: Time when wake is free. (-) value = always free. {default 0.0} (s). Set it to 0. for default (same as main fst)
FullCircStart:
default: 0.
minimum: 0.
maximum: 10.
unit: s
description: Time at which full circulation is reached. {default 0.0} (s). Set it to 0. for default (same as main fst)
CircSolvingMethod:
type: integer
enumerate: [1, 2, 3]
default: 1
description: Circulation solving method {1 Cl-Based, 2 No-Flow Through, 3 Prescribed, default 1 }(switch)
CircSolvConvCrit:
type: number
default: 0.001
description: Convergence criteria {default 0.001} [only if CircSolvingMethod=1] (-)
CircSolvRelaxation:
type: number
default: 0.1
description: Relaxation factor {default 0.1} [only if CircSolvingMethod=1] (-)
CircSolvMaxIter:
type: integer
default: 30
description: Maximum number of iterations for circulation solving {default 30} (-)
PrescribedCircFile:
type: string
default: 'NA'
description: File containing prescribed circulation [only if CircSolvingMethod=3] (quoted string)
nNWPanel:
type: integer
minimum: 0
default: 120
description: Number of near-wake panels [integer] (-)
WakeLength:
type: integer
minimum: 0
default: 900
description: Total wake distance [integer] (number of time steps)
FreeWakeLength:
type: integer
default: 0
minimum: 0
description: Wake length that is free [integer] (number of time steps) {default WakeLength}
FWShedVorticity:
type: boolean
default: False
description: Include shed vorticity in the far wake {default false}
DiffusionMethod:
type: integer
enumerate: [0, 1]
default: 0
description: Diffusion method to account for viscous effects {0 None, 1 Core Spreading, 'default' 0}
RegDeterMethod:
type: integer
enumerate: [0, 1, 2, 3]
default: 0
description: Method to determine the regularization parameters {0 Manual, 1 Optimized, 2 chord, 3 span default 0 }
RegFunction:
type: integer
enumerate: [0, 1, 2, 3, 4]
default: 3
description: Viscous diffusion function {0 None, 1 Rankine, 2 LambOseen, 3 Vatistas, 4 Denominator, 'default' 3} (switch)
WakeRegMethod:
type: integer
enumerate: [0, 1, 2, 3, 4]
default: 1
description: Wake regularization method {1 Constant, 2 Stretching, 3 Age, default 1} (switch)
WakeRegFactor:
type: number
default: 0.25
description: Wake regularization factor (m)
WingRegFactor:
type: number
default: 0.25
description: Wing regularization factor (m)
CoreSpreadEddyVisc:
type: number
default: 100
description: Eddy viscosity in core spreading methods, typical values 1-1000
TwrShadowOnWake:
type: boolean
default: False
description: Include tower flow disturbance effects on wake convection {default:false} [only if TwrPotent or TwrShadow]
ShearModel:
type: integer
enumerate: [0, 1]
default: 0
description: Shear Model {0 No treatment, 1 Mirrored vorticity, default 0}
VelocityMethod:
type: integer
enumerate: [1, 2]
default: 1
description: Method to determine the velocity {1Biot-Savart Segment, 2Particle tree, default 1}
TreeBranchFactor:
type: number
minimum: 0.
default: 2.0
description: Branch radius fraction above which a multipole calculation is used {default 2.0} [only if VelocityMethod=2]
PartPerSegment:
type: integer
default: 1
minimum: 0
description: Number of particles per segment [only if VelocityMethod=2]
WrVTk:
type: integer
default: 0
enumerate: [0, 1]
description: Outputs Visualization Toolkit (VTK) (independent of .fst option) {0 NoVTK, 1 Write VTK at each time step} (flag)
nVTKBlades:
type: integer
default: 3
enumerate: [0, 1, 2, 3, 4, 5, 6]
description: Number of blades for which VTK files are exported {0 No VTK per blade, n VTK for blade 1 to n} (-)
VTKCoord:
type: integer
enumerate: [1, 2, 3]
default: 1
description: Coordinate system used for VTK export. {1 Global, 2 Hub, 3 Both, 'default' 1}
VTK_fps:
type: number
default: 1
description: Frame rate for VTK output (frames per second) {"all" for all glue code timesteps, "default" for all OLAF timesteps} [used only if WrVTK=1]
nGridOut:
type: integer
default: 0
description: (GB DEBUG 7/8) Number of grid points for VTK output
UAMod:
type: integer
enum: [1,2,3]
default: 3
description: Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez's variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce variant (changes in Cc and Cm)} [used only when AFAeroMod=2]
FLookup:
type: boolean
default: True
description: Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2]
UAStartRad:
type: number
default: 0
description: Starting radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2]
UAEndRad:
type: number
default: 1
description: Ending radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2]
AFTabMod:
type: integer
enum: [1,2,3]
default: 1
description: Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-)
InCol_Alfa:
type: integer
default: 1
description: The column in the airfoil tables that contains the angle of attack (-)
InCol_Cl:
type: integer
default: 2
description: The column in the airfoil tables that contains the lift coefficient (-)
InCol_Cd:
type: integer
default: 3
description: The column in the airfoil tables that contains the drag coefficient (-)
InCol_Cm:
type: integer
default: 4
description: The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-)
InCol_Cpmin:
type: integer
default: 0
description: The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-)
UseBlCm: