Skip to content

Commit

Permalink
Add testing example for free decay DLC
Browse files Browse the repository at this point in the history
  • Loading branch information
abhineet-gupta committed Jan 15, 2025
1 parent 22b4cc7 commit 586cc89
Show file tree
Hide file tree
Showing 5 changed files with 170 additions and 0 deletions.
52 changes: 52 additions & 0 deletions testing/01_freedecaydlc/IEA-15-240-RWT-outputs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
cases:
- configuration: {wind_speed: 0.5, rotor_speed: 5.000012, pitch: 2.43811}
outputs:
integrated: {ct: 0.80742173}
- configuration: {wind_speed: 3.0, rotor_speed: 5.000012, pitch: 2.426047}
outputs:
integrated: {ct: 0.80742173}
- configuration: {wind_speed: 5.0, rotor_speed: 5.000012, pitch: 0.377375}
outputs:
integrated: {ct: 0.78761643}
- configuration: {wind_speed: 7.0, rotor_speed: 5.000012, pitch: 0.000535}
outputs:
integrated: {ct: 0.78318243}
- configuration: {wind_speed: 8.0, rotor_speed: 5.6819, pitch: 0.000535}
outputs:
integrated: {ct: 0.7782759}
- configuration: {wind_speed: 9.0, rotor_speed: 6.390847, pitch: 0.000535}
outputs:
integrated: {ct: 0.7782759}
- configuration: {wind_speed: 10.0, rotor_speed: 7.101976, pitch: 0.000535}
outputs:
integrated: {ct: 0.77657926}
- configuration: {wind_speed: 10.5, rotor_speed: 7.460359, pitch: 0.00066}
outputs:
integrated: {ct: 0.77292106}
- configuration: {wind_speed: 10.7, rotor_speed: 7.559987, pitch: 0.000783}
outputs:
integrated: {ct: 0.75391436}
- configuration: {wind_speed: 11.0, rotor_speed: 7.559987, pitch: 1.170321}
outputs:
integrated: {ct: 0.6250275}
- configuration: {wind_speed: 13.0, rotor_speed: 7.559987, pitch: 6.052129}
outputs:
integrated: {ct: 0.32319864}
- configuration: {wind_speed: 15.0, rotor_speed: 7.559987, pitch: 9.189114}
outputs:
integrated: {ct: 0.20303858}
- configuration: {wind_speed: 17.0, rotor_speed: 7.559987, pitch: 11.824437}
outputs:
integrated: {ct: 0.13754921}
- configuration: {wind_speed: 19.0, rotor_speed: 7.559987, pitch: 14.19975}
outputs:
integrated: {ct: 0.09826863}
- configuration: {wind_speed: 21.0, rotor_speed: 7.559987, pitch: 16.42107}
outputs:
integrated: {ct: 0.0731014}
- configuration: {wind_speed: 23.0, rotor_speed: 7.559987, pitch: 18.525951}
outputs:
integrated: {ct: 0.0561659}
- configuration: {wind_speed: 25.0, rotor_speed: 7.559987, pitch: 20.553121}
outputs:
integrated: {ct: 0.04433419}
1 change: 1 addition & 0 deletions testing/01_freedecaydlc/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This example runs the free decay DLC.
33 changes: 33 additions & 0 deletions testing/01_freedecaydlc/analysis_options_freedecay.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
general:
folder_output: outputs/02_openfast_dlcs
fname_output: iea15mw

merit_figure: DEL_TwrBsMyt # Merit figure of the optimization problem. The options are 'AEP' - 'LCOE' - 'Cp' - 'blade_mass' - 'blade_tip_deflection'

constraints:
control:
rotor_overspeed:
flag: True
min: 0.0
max: 0.2

driver:
optimization:
flag: False
tol: 1.e-2 # Optimality tolerance
max_major_iter: 2 # Maximum number of major design iterations (SNOPT)
max_minor_iter: 100 # Maximum number of minor design iterations (SNOPT)
max_iter: 2 # Maximum number of iterations (SLSQP)
solver: LN_COBYLA # Optimization solver. Other options are 'SLSQP' - 'CONMIN'
step_size: 1.e-3 # Step size for finite differencing
form: forward # Finite differencing mode, either forward or central
design_of_experiments:
flag: False # Flag to enable design of experiments
run_parallel: False # Flag to run using parallel processing
generator: LatinHypercube # Type of input generator. (Uniform)
num_samples: 8 # number of samples for (Uniform only)
criterion: center

recorder:
flag: True # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
71 changes: 71 additions & 0 deletions testing/01_freedecaydlc/modeling_options_freedecay.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
General:
verbosity: False # When set to True, the code prints to screen many infos
openfast_configuration:
use_exe: True

WISDEM:
RotorSE:
flag: False
spar_cap_ss: Spar_Cap_SS
spar_cap_ps: Spar_Cap_PS
te_ss: TE_reinforcement_SS
te_ps: TE_reinforcement_PS
TowerSE:
flag: False
DriveSE:
flag: False
FloatingSE:
flag: False
BOS:
flag: False

Level3: # Options for WEIS fidelity level 3 = nonlinear time main
flag: True
from_openfast: True
regulation_trajectory: IEA-15-240-RWT-outputs.yaml
openfast_file: IEA-15-240-RWT-UMaineSemi.fst
openfast_dir: ../../examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi
AeroDyn:
WakeMod: 2

ROSCO:
flag: True
tuning_yaml: ../../examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/IEA15MW-UMaineSemi.yaml
zeta_pc: 1.23
omega_pc: 0.198
U_pc: [12]


DLC_driver:
metocean_conditions:
wind_speed: [1.,3.,5.,7.,9.,11.,13.,15.,17.,19.,21.,23.,25.,27.,29.]
wave_height_NSS: [0.84,0.84,0.87,0.99,1.15,1.34,1.58,1.82,2.08,2.34,2.66,2.98,3.28,3.77,3.94]
wave_period_NSS: [8.3,8.3,8.3,7.7,7.1,6.3,6.1,6.2,6.2,6.7,7.1,7.1,7.7,7.7,7.7]
wave_height_fatigue: [0.84,0.84,0.87,0.99,1.15,1.34,1.58,1.82,2.08,2.34,2.66,2.98,3.28,3.77,3.94]
wave_period_fatigue: [8.3,8.3,8.3,7.7,7.1,6.3,6.1,6.2,6.2,6.7,7.1,7.1,7.7,7.7,7.7]
wave_height_SSS: [9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7,9.7]
wave_period_SSS: [13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6,13.6]
wave_height1: 5.9
wave_period1: 11.2
wave_height50: 9.7
wave_period50: 13.6
openfast_input_map:
final_blade_pitch12:
- [ServoDyn,BlPitchF(1)]
- [ServoDyn,BlPitchF(2)]
mean_sea_level: [Fst,MSL2SWL]
wave_dir: [HydroDyn,WaveDir]
current_model: [HydroDyn,CurrMod]
current_speed: [HydroDyn,CurrDIV]

DLCs:
- DLC: "freedecay"
wind_speed: [8]
n_seeds: 1
analysis_time: 100.
transient_time: 0.0
PtfmRoll: 5.0
PtfmPitch: 0.0
PtfmYaw: 0.0
IEC_WindType: 'Custom'
wind_file: 'customwind.wnd'
13 changes: 13 additions & 0 deletions testing/01_freedecaydlc/weis_driver_freedecay.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import os
from weis import weis_main

## File management
run_dir = os.path.dirname( os.path.realpath(__file__) )
fname_wt_input = os.path.join(run_dir, "..","..","examples","00_setup", "ref_turbines", "IEA-15-240-RWT.yaml")
fname_modeling_options = os.path.join(run_dir, "modeling_options_freedecay.yaml")
fname_analysis_options = os.path.join(run_dir, "analysis_options_freedecay.yaml")

# Run WEIS for real now
wt_opt, modeling_options, opt_options = weis_main(fname_wt_input,
fname_modeling_options,
fname_analysis_options)

0 comments on commit 586cc89

Please sign in to comment.