Dear all,
starting from the RAFT studies example, I was setting up an LCOE optimization problem, using RAFT for the simulation of a single FOWT response. The used analysis and modeling options are reported below.
Analysis options:
general:
folder_output: outputs/15_RAFT_Rect
fname_output: refturb_outputdesign_variables:
floating:
joints:
flag: True
z_coordinate:
- names: [main_keel, col1_keel, col2_keel, col3_keel]
lower_bound: -40.0
upper_bound: -15.0
r_coordinate:
- names: [col1_keel, col1_freeboard, col2_keel, col2_freeboard, col3_keel, col3_freeboard]
lower_bound: 40. #35.8125
upper_bound: 70. #64.6875
members:
flag: True
groups:
- names: [column1,column2,column3]
diameter:
lower_bound: 9.5 #9.375
upper_bound: 20.0 #15.625
constant: True
# thickness:
# lower_bound: 0.05
# upper_bound: 0.25
# constant: True
# - names: [Y_pontoon_lower1, Y_pontoon_lower2, Y_pontoon_lower3]
# diameter:
# lower_bound: 7.5
# upper_bound: 12.5constraints:
control:
rotor_overspeed:
flag: False
min: 0.0
max: 0.25
Max_PtfmPitch:
flag: True
max: 5.5
Std_PtfmPitch:
flag: True
max: 2.
Max_Offset:
flag: True
max: 30.
floating:
stress:
flag: True
global_buckling:
flag: True
shell_buckling:
flag: Truemerit_figure_user:
name: financese.lcoedriver:
optimization:
flag: True # Flag to enable optimization
solver: COBYLA # Optimization solver. Other options are ‘SLSQP’ - ‘CONMIN’
tol: 1.e-2 # Optimality tolerance
max_iter: 100 # Maximum number of iterations (SLSQP)recorder:
flag: True # Flag to activate OpenMDAO recorder
file_name: log_opt.sql # Name of OpenMDAO recorder
includes: [‘raft’,‘floating’,‘platform’]
Modeling options:
General:
verbosity: False # When set to True, the code prints to screen many infos
openfast_configuration:
use_exe: True
allow_fails: True
fail_value: 9999WISDEM:
RotorSE:
flag: True
spar_cap_ss: Spar_Cap_SS
spar_cap_ps: Spar_Cap_PS
te_ss: TE_reinforcement_SS
te_ps: TE_reinforcement_PS
TowerSE:
flag: True
DriveSE:
flag: True
FloatingSE:
flag: True
# gamma_f: 1.35 # Safety factor for fatigue loads
# gamma_m: 1.3 # Safety factor for material properties
# gamma_n: 1.0 # Safety factor for …
# gamma_b: 1.1 # Safety factor for …
# gamma_fatigue: 1.755 # Safety factor for fatigue loads
# buckling_length: 30 # Buckling parameter
# soil_springs: True
# gravity_foundation: False
# frame3dd:
# shear: True
# geom: True
# tol: 1e-9
BOS:
flag: TrueLevel3: # Options for WEIS fidelity level 3 = nonlinear time domain
flag: False
simulation:
DT: 0.01
CompElast: 1
CompInflow: 1
CompAero: 2
CompServo: 1
CompHydro: 1
CompSub: 0
CompMooring: 3
CompIce: 0
OutFileFmt: 3
linearization:
Linearize: False
ElastoDyn:
FlapDOF1: True
FlapDOF2: True
EdgeDOF: True
TeetDOF: False
DrTrDOF: False
GenDOF: True
YawDOF: False
TwFADOF1 : True
TwFADOF2 : True
TwSSDOF1 : True
TwSSDOF2 : True
PtfmSgDOF: True
PtfmSwDOF: True
PtfmHvDOF: True
PtfmRDOF : True
PtfmPDOF : True
PtfmYDOF : True
HydroDyn:
WvLowCOff: 0.15708
WvHiCOff: 3.2
WaveSeed1: 123456789
AddBQuad1: [9.23e5, 0.0, 0.0, 0.0, -8.92e6, 0.0]
AddBQuad2: [0.0, 9.23e5, 0.0, 8.92e6, 0.0, 0.0]
AddBQuad3: [0.0, 0.0, 2.3e6, 0.0, 0.0, 0.0]
AddBQuad4: [0.0, 8.92e6, 0.0, 1.68e10, 0.0, 0.0]
AddBQuad5: [-8.92e6, 0.0, 0.0, 0.0, 1.68e10, 0.0]
AddBQuad6: [0.0, 0.0, 0.0, 0.0, 0.0, 4.8e10]
PotMod: 1
# WaveMod: 0Level1:
flag: True
potential_model_override: 0
trim_ballast: 0
heave_tol: 1
save_designs: TrueROSCO:
flag: True
SD_Mode: 0
PS_Mode: 1
ps_percent: 0.85
F_LPFType: 2
F_NotchType: 2
Fl_Mode: 2
tuning_yaml: …/…/examples/01_aeroelasticse/OpenFAST_models/IEA-15-240-RWT/IEA-15-240-RWT-UMaineSemi/IEA15MW-UMaineSemi.yaml
zeta_pc: [1]
omega_pc: [0.2]
U_pc: [12]
zeta_vs: 0.85 # Torque controller desired damping ratio [-]
omega_vs: 0.12
twr_freq: 3.2
ptfm_freq: 0.2
Kp_float: -10DLC_driver:
metocean_conditions:
wind_speed: [4., 6., 8., 10., 12., 14., 16., 18., 20., 22., 24.]
wave_height_NSS: [0.83, 0.88, 0.94, 1.03, 1.16, 1.34, 1.57, 1.86, 2.22, 2.62, 3.07]
wave_period_NSS: [6.9, 6.96, 7.02, 7.12, 7.25, 7.43, 7.66, 7.94, 8.27, 8.63, 9.01]
wave_height_SSS: [6.3, 8, 8, 8.1, 8.5, 8.5, 9.8, 9.8, 9.8, 9.8, 9.9]
wave_period_SSS: [11.5, 12.7, 12.7, 12.8, 13.1, 13.1, 14.1, 14.1, 14.1, 14.1, 14.1]
wave_height1: 6.98
wave_period1: 11.7
wave_height50: 10.68
wave_period50: 14.2
DLCs:
- DLC: “1.1”
n_seeds: 1
- DLC: “1.3”
n_seeds: 6
# - DLC: “1.4”
# - DLC: “1.5”
# - DLC: “1.6”
# n_seeds: 1
- DLC: “6.1”
n_seeds: 1
# - DLC: “6.3”
# n_seeds: 6
The optimization ends successfully, but I have found a very large final value of the BOS cost per kW from the output file (~14500 $/kW). This results in a very large LCOE value (around 300 $/MWh) as well and in a low sensitivity of the LCOE on the platform sizing, which is the final objective of the optimization. I was wondering where to look for possible error in the settings and if there is a way to set different values of the cost parameters (maybe in the Orbit module).
Thanks in advance.
Best regards,