Dear all,
I’m exploring an LCOE optimization case study including the maximum stress in the platform as constraint. In this case, I’m performing an optimization with RAFT, considering the 3.19.1 WISDEM version. I’ve noticed the definition of some ghost nodes where the section properties are assigned to small values. In such nodes the stress utilization sometimes assumes very high values.
Is this results expected? Does it affect the optimization process?
I’ve used the following modeling options:
# Generic modeling options file to run standard WISDEM case
General:
verbosity: False # When set to True, the code prints to screen many infos
WISDEM:
RotorSE:
flag: True
n_pc: 20
n_span: 101
n_pitch_perf_surfaces: 10
n_tsr_perf_surfaces: 10
spar_cap_ss: Spar_Cap_SS
spar_cap_ps: Spar_Cap_PS
te_ss: TE_reinforcement_SS
te_ps: TE_reinforcement_PS
peak_thrust_shaving: False
thrust_shaving_coeff: 0.8
n_sector: 8
hubloss: true
tiploss: true
wakerotation: true
usecd: true
DriveSE:
flag: True
TowerSE: # Options of TowerSE module
flag: True
BOS:
flag: True
# FixedBottomSE:
# flag: true
FloatingSE:
flag: True
Level1:
flag: True
potential_model_override: 0
potential_bem_members: [main_column,column1,column2,column3,Y_pontoon_lower1,Y_pontoon_lower2,Y_pontoon_lower3]
# min_freq_BEM: 0.15
min_freq: 0.01
max_freq: 0.5
save_designs: True
plot_designs: True
DLC_driver:
metocean_conditions:
# wind_speed: [3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25]
# wave_height_NSS: [1.589253312, 1.589253312, 1.796850486, 2.066758485, 2.39622745, 2.785549752, 3.237992345, 3.757419053, 4.346083996, 5.004368641, 5.731637064, 6.526989576]
# wave_period_NSS: [9.788170598, 9.788170598, 9.992163283, 10.24618949, 10.54260929, 10.87776655, 11.25141272, 11.66433667, 12.11660442, 12.60751661, 13.13629721, 13.70255467]
# wave_height_fatigue: [1.589253312, 1.589253312, 1.796850486, 2.066758485, 2.39622745, 2.785549752, 3.237992345, 3.757419053, 4.346083996, 5.004368641, 5.731637064, 6.526989576]
# wave_period_fatigue: [9.788170598, 9.788170598, 9.992163283, 10.24618949, 10.54260929, 10.87776655, 11.25141272, 11.66433667, 12.11660442, 12.60751661, 13.13629721, 13.70255467]
# wave_height_SSS: [1.589253312, 1.589253312, 1.796850486, 2.066758485, 2.39622745, 2.785549752, 3.237992345, 3.757419053, 4.346083996, 5.004368641, 5.731637064, 6.526989576]
# wave_period_SSS: [9.788170598, 9.788170598, 9.992163283, 10.24618949, 10.54260929, 10.87776655, 11.25141272, 11.66433667, 12.11660442, 12.60751661, 13.13629721, 13.70255467]
# wave_height_1: 6.98
# wave_period_1: 11.7
# wave_height_50: 10.68
# wave_period_50: 14.2
# ERA5 Sicily site
wind_speed: [3., 5., 7., 9., 11., 13., 15., 17., 19., 21., 23., 25.]
wave_height_NSS : [0.5291, 0.6575, 0.8539, 1.1164, 1.4446, 1.8389, 2.2999, 2.8285, 3.4253, 4.0909, 4.8256, 5.6296]
wave_period_NSS : [4.8789, 5.1630, 5.5450, 5.9892, 6.4748, 6.9906, 7.5306, 8.0907, 8.6678, 9.2590, 9.8617, 10.4735]
wave_height_fatigue: [0.5291, 0.6575, 0.8539, 1.1164, 1.4446, 1.8389, 2.2999, 2.8285, 3.4253, 4.0909, 4.8256, 5.6296]
wave_period_fatigue: [4.8789, 5.1630, 5.5450, 5.9892, 6.4748, 6.9906, 7.5306, 8.0907, 8.6678, 9.2590, 9.8617, 10.4735]
wave_height_SSS : [3.8518, 4.0043, 4.2972, 4.6667, 5.0741, 5.5055, 5.9615, 6.4454, 6.9611, 7.5069, 8.0758, 8.6488]
wave_period_SSS : [9.0521, 9.1847, 9.4330, 9.7352, 10.0556, 10.3819, 10.7138, 11.0528, 11.4009, 11.7558, 12.1125, 12.4596]
wave_height_1: 7.092929379
wave_period_1: 12.28700857
wave_height_50: 9.651482298
wave_period_50: 14.33277729
DLCs:
- DLC: "1.1"
wind_speed: [3, 5, 7, 9, 10, 11, 13, 15, 17, 19, 22, 25]
# wind_speed: [2, 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 5., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 7., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 9., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 11., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 13., 15., 15., 15., 15., 15., 15., 15., 15., 15., 15., 17., 17., 17., 17., 17., 17., 17., 17., 17., 17., 19., 19., 19., 19., 19., 19., 21., 21., 21., 21., 23., 30]
# wave_height : [1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 3.0000, 3.0000, 3.0000, 3.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 1.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 1.0000, 1.0000, 1.0000, 1.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 1.0000, 1.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 3.0000, 5.0000, 5.0000, 3.0000, 3.0000, 3.0000, 3.0000, 5.0000, 5.0000, 3.0000, 3.0000, 5.0000, 5.0000, 5.0000, 5.00000]
# wave_period : [4.0000, 4.0000, 4.0000, 4.0000, 4.0000, 4.0000, 4.0000, 6.0000, 6.0000, 6.0000, 6.0000, 6.0000, 6.0000, 8.0000, 8.0000, 8.0000, 8.0000, 8.0000, 8.0000, 10.0000, 10.0000, 10.0000, 10.0000, 4.0000, 4.0000, 4.0000, 4.0000, 6.0000, 6.0000, 6.0000, 6.0000, 6.0000, 6.0000, 8.0000, 8.0000, 8.0000, 8.0000, 8.0000, 8.0000, 10.0000, 10.0000, 4.0000, 4.0000, 4.0000, 6.0000, 6.0000, 6.0000, 6.0000, 6.0000, 8.0000, 8.0000, 8.0000, 8.0000, 10.0000, 10.0000, 8.0000, 8.0000, 10.0000, 10.0000, 4.0000, 4.0000, 6.0000, 6.0000, 8.0000, 8.0000, 8.0000, 10.0000, 10.0000, 6.0000, 8.0000, 8.0000, 10.0000, 10.0000, 4.0000, 4.0000, 6.0000, 6.0000, 8.0000, 8.0000, 6.0000, 6.0000, 8.0000, 8.0000, 10.0000, 10.0000, 4.0000, 4.0000, 6.0000, 6.0000, 6.0000, 6.0000, 8.0000, 8.0000, 10.0000, 10.0000, 6.0000, 6.0000, 6.0000, 6.0000, 8.0000, 8.0000, 10.0000, 10.0000, 10.0000, 10.0000, 6.0000, 6.0000, 8.0000, 8.0000, 10.0000, 10.0000, 8.0000, 8.0000, 10.0000, 10.0000, 10.0000, 10.0000]
# yaw_misalign : [0, -150.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -150.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -150.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -90.0000, -30.0000, 30.0000, 90.0000, -90.0000, -30.0000, 30.0000, 90.0000, -150.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -150.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -30.0000, 30.0000, -30.0000, 30.0000, 90.0000, -90.0000, -30.0000, 30.0000, 90.0000, 150.0000, -90.0000, -30.0000, 30.0000, 90.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -90.0000, -30.0000, 30.0000, -30.0000, 30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, -30.0000, 30.0000, 30.0000, 0]
# probabilities : [0.20438453717032, 0.0014, 0.0031, 0.0255, 0.0388, 0.0067, 0.0017, 0.0037, 0.0068, 0.0200, 0.0247, 0.0076, 0.0039, 0.0022, 0.0034, 0.0069, 0.0074, 0.0029, 0.0014, 0.0008, 0.0014, 0.0019, 0.0007, 0.0008, 0.0280, 0.0407, 0.0029, 0.0019, 0.0040, 0.0240, 0.0316, 0.0041, 0.0019, 0.0014, 0.0033, 0.0086, 0.0096, 0.0017, 0.0009, 0.0017, 0.0023, 0.0236, 0.0318, 0.0009, 0.0015, 0.0232, 0.0332, 0.0016, 0.0007, 0.0021, 0.0088, 0.0085, 0.0009, 0.0010, 0.0016, 0.0015, 0.0017, 0.0012, 0.0010, 0.0154, 0.0198, 0.0235, 0.0308, 0.0011, 0.0065, 0.0045, 0.0006, 0.0008, 0.0006, 0.0053, 0.0062, 0.0021, 0.0018, 0.0060, 0.0072, 0.0176, 0.0207, 0.0022, 0.0010, 0.0026, 0.0035, 0.0108, 0.0102, 0.0021, 0.0019, 0.0009, 0.0012, 0.0072, 0.0094, 0.0047, 0.0054, 0.0110, 0.0100, 0.0020, 0.0015, 0.0012, 0.0019, 0.0033, 0.0040, 0.0076, 0.0066, 0.0018, 0.0013, 0.0007, 0.0008, 0.0010, 0.0011, 0.0039, 0.0033, 0.0014, 0.0014, 0.0010, 0.0010, 0.0012, 0.0015, 0.0007, 0.0034883780]
n_seeds: 1
analysis_time: 100.
transient_time: 0.
turbulent_wind:
HubHt: 190.0
GridHeight: 320.0
GridWidth: 350.0
Clockwise: True
RefHt: 190.0
PLExp: 0.11
IECturbc: -1
IEC_WindType: 'NTM'
ROSCO:
tuning_yaml: MED15-308_ROSCO.yaml
and the following analysis options:
general:
folder_output: MED15/output_v20.4.0
fname_output: MED15-308_v20.4.0
design_variables:
floating:
joints:
flag: True
z_coordinate:
- names: [main_keel, col1_keel, col2_keel, col3_keel]
lower_bound: -40
upper_bound: -20
r_coordinate:
- names: [col1_keel, col1_freeboard, col2_keel, col2_freeboard, col3_keel, col3_freeboard]
lower_bound: 55
upper_bound: 85
members:
flag: True
groups:
- names: [column1, column2, column3]
diameter:
lower_bound: 10.0
upper_bound: 16.0
constant: True
thickness:
lower_bound: 0.025
upper_bound: 0.15
constant: True
- names: [Y_pontoon_lower1, Y_pontoon_lower2, Y_pontoon_lower3]
thickness:
lower_bound: 0.025
upper_bound: 0.15
constant: True
- names: [Y_pontoon_upper1, Y_pontoon_upper2, Y_pontoon_upper3]
thickness:
lower_bound: 0.015
upper_bound: 0.15
constant: True
# merit_figure: platform_mass # Merit figure of the optimization problem. The options are 'AEP' - 'LCOE' - 'Cp' - 'blade_mass' - 'blade_tip_deflection'
merit_figure: LCOE
# merit_figure_user:
# name: financese.lcoe
constraints:
control:
Max_PtfmPitch:
flag: True
max: 10
Std_PtfmPitch:
flag: True
max: 4
floating:
# operational_heel:
# upper_bound: 0.17453
# operational_heel:
# upper_bound: 0.087266
stress:
flag: True
global_buckling:
flag: True
shell_buckling:
flag: True
driver:
optimization:
flag: True
tol: 1.e-6 # Optimality tolerance
max_iter: 1 # Maximum number of iterations (SLSQP)
solver: LN_COBYLA # Optimization solver. Other options are 'SLSQP' - 'CONMIN'
recorder:
flag: true # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
includes: ['*floating*','*finance*','*myopex*','*raft*','*wlf*','*fcr*']
Thanks in advance.
Best regards,
