def example_218WD_10MW(): example = optimizationSpar() tt = time.time() example.water_depth = 218. example.load_condition = 'N' example.significant_wave_height = 10.820 example.significant_wave_period = 9.800 example.keel_cg_mooring = 45. example.keel_cg_operating_system = 30.730 example.reference_wind_speed = 11. example.reference_height = 119. example.alpha = 0.110 example.material_density = 7850. example.E = 200.e9 example.nu = 0.3 example.yield_stress = 345000000. example.rotor_mass = 677000.000 example.tower_mass = 698235.000 example.free_board = 13. example.draft = 92. example.fixed_ballast_mass = 6276669.794 example.hull_mass = 2816863.293 example.permanent_ballast_mass = 3133090.391 example.variable_ballast_mass = 1420179.260 example.number_of_sections = 4 example.outer_diameter = [8.,9.,9.,15.] example.length = [6., 12., 15., 72.] example.end_elevation = [7., -5., -20., -92.] example.start_elevation = [13., 7., -5., -20.] example.bulk_head = ['N', 'T', 'N', 'B'] #example.system_acceleration = 0.856545480516845 example.gust_factor = 1.0 example.tower_base_OD = 7.720 example.tower_top_OD = 4.050 example.tower_length = 102.63 example.cut_out_speed = 25. example.turbine_size = '10MW' example.rotor_diameter = 194.0 example.run() yna = convert_units(example.spar.neutral_axis ,'m','inch') filteredStiffeners = filtered_stiffeners_table() for i in range (0,len(filteredStiffeners)-1): stiffener_bef = filteredStiffeners[i] stiffener_aft = filteredStiffeners[i+1] if yna > stiffener_bef[6] and yna<stiffener_aft[6]: opt_index = i+1 second_fit = Spar() second_fit.wall_thickness = example.spar.wall_thickness second_fit.number_of_rings = example.spar.number_of_rings second_fit.stiffener_index = opt_index second_fit.initial_pass = False second_fit.water_depth = example.water_depth second_fit.load_condition = example.load_condition second_fit.significant_wave_height = example.significant_wave_height second_fit.significant_wave_period = example.significant_wave_period second_fit.keel_cg_mooring = example.keel_cg_mooring second_fit.keel_cg_operating_system = example.keel_cg_operating_system second_fit.reference_wind_speed = example.reference_wind_speed second_fit.reference_height = example.reference_height second_fit.alpha = example.alpha second_fit.material_density = example.material_density second_fit.E = example.E second_fit.nu =example.nu second_fit.yield_stress = example.yield_stress second_fit.rotor_mass = example.rotor_mass second_fit.tower_mass = example.tower_mass second_fit.free_board = example.free_board second_fit.draft = example.draft second_fit.fixed_ballast_mass = example.fixed_ballast_mass second_fit.hull_mass = example.hull_mass second_fit.permanent_ballast_mass = example.permanent_ballast_mass second_fit.variable_ballast_mass = example.variable_ballast_mass second_fit.number_of_sections = example.number_of_sections second_fit.outer_diameter = example.outer_diameter second_fit.length = example.length second_fit.end_elevation = example.end_elevation second_fit.start_elevation = example.start_elevation second_fit.bulk_head = example.bulk_head #second_fit.system_acceleration=example.system_acceleration second_fit.gust_factor = example.gust_factor second_fit.tower_base_OD = example.tower_base_OD second_fit.tower_top_OD = example.tower_top_OD second_fit.tower_length = example.tower_length second_fit.cut_out_speed = example.cut_out_speed second_fit.turbine_size = example.turbine_size second_fit.rotor_diameter = example.rotor_diameter second_fit.run() index = opt_index unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) while ((unity-1.0) > 1e-7): if index <124: index += 1 second_fit.stiffener_index = index second_fit.run() unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) #print unity-1.0 else: second_fit.stiffener_index = opt_index for i in range(0,second_fit.number_of_sections): if second_fit.VAL[i] >1. or second_fit.VAG[i]>1. or second_fit.VEL[i]>1. or second_fit.VEG[i]>1.: second_fit.number_of_rings[i] += 1 second_fit.run() unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) #print second_fit.number_of_rings print '--------------example_218WD_10MW------------------' print "Elapsed time: ", time.time()-tt, " seconds" sys_print(second_fit)
def example_218WD_6MW(): example = optimizationSpar() tt = time.time() example.water_depth = 218. example.load_condition = 'N' example.significant_wave_height = 10.820 example.significant_wave_period = 9.800 example.keel_cg_mooring = 37.177 example.keel_cg_operating_system = 24.059 example.reference_wind_speed = 11. example.reference_height = 97. example.alpha = 0.110 example.material_density = 7850. example.E = 200.e9 example.nu = 0.3 example.yield_stress = 345000000. example.rotor_mass = 365500.000 example.tower_mass = 366952.000 example.free_board = 13. example.draft = 72. example.fixed_ballast_mass = 3659547.034 example.hull_mass = 1593822.041 example.permanent_ballast_mass = 1761475.914 example.variable_ballast_mass = 820790.246 example.number_of_sections = 4 example.outer_diameter = [7., 8., 8., 13.] example.length = [6., 12., 15., 52.] example.end_elevation = [7., -5., -20., -72.] example.start_elevation = [13., 7., -5., -20.] example.bulk_head = ['N', 'T', 'N', 'B'] #example.system_acceleration = 1.12124749328663 example.gust_factor = 1.0 example.tower_base_OD = 6.0 example.tower_top_OD = 3.51 example.tower_length = 80.5 example.cut_out_speed = 25. example.turbine_size = '6MW' example.rotor_diameter = 154.0 example.run() yna = convert_units(example.spar.neutral_axis ,'m','inch') filteredStiffeners = filtered_stiffeners_table() for i in range (0,len(filteredStiffeners)-1): stiffener_bef = filteredStiffeners[i] stiffener_aft = filteredStiffeners[i+1] if yna > stiffener_bef[6] and yna<stiffener_aft[6]: opt_index = i+1 second_fit = Spar() second_fit.wall_thickness = example.spar.wall_thickness second_fit.number_of_rings = example.spar.number_of_rings second_fit.stiffener_index = opt_index second_fit.initial_pass = False second_fit.water_depth = example.water_depth second_fit.load_condition = example.load_condition second_fit.significant_wave_height = example.significant_wave_height second_fit.significant_wave_period = example.significant_wave_period second_fit.keel_cg_mooring = example.keel_cg_mooring second_fit.keel_cg_operating_system = example.keel_cg_operating_system second_fit.reference_wind_speed = example.reference_wind_speed second_fit.reference_height = example.reference_height second_fit.alpha = example.alpha second_fit.material_density = example.material_density second_fit.E = example.E second_fit.nu =example.nu second_fit.yield_stress = example.yield_stress second_fit.rotor_mass = example.rotor_mass second_fit.tower_mass = example.tower_mass second_fit.free_board = example.free_board second_fit.draft = example.draft second_fit.fixed_ballast_mass = example.fixed_ballast_mass second_fit.hull_mass = example.hull_mass second_fit.permanent_ballast_mass = example.permanent_ballast_mass second_fit.variable_ballast_mass = example.variable_ballast_mass second_fit.number_of_sections = example.number_of_sections second_fit.outer_diameter = example.outer_diameter second_fit.length = example.length second_fit.end_elevation = example.end_elevation second_fit.start_elevation = example.start_elevation second_fit.bulk_head = example.bulk_head second_fit.gust_factor = example.gust_factor second_fit.tower_base_OD = example.tower_base_OD second_fit.tower_top_OD = example.tower_top_OD second_fit.tower_length = example.tower_length second_fit.cut_out_speed = example.cut_out_speed second_fit.turbine_size = example.turbine_size second_fit.rotor_diameter = example.rotor_diameter #second_fit.system_acceleration=example.system_acceleration second_fit.run() index = opt_index unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) while ((unity-1.0) > 1e-7): if index <124: index += 1 second_fit.stiffener_index = index second_fit.run() unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) else: second_fit.stiffener_index = opt_index for i in range(0,second_fit.number_of_sections): if second_fit.VAL[i] >1. or second_fit.VAG[i]>1. or second_fit.VEL[i]>1. or second_fit.VEG[i]>1.: second_fit.number_of_rings[i] += 1 second_fit.run() unity = max(max(second_fit.VAL),max(second_fit.VAG),max(second_fit.VEL),max(second_fit.VEG)) print '--------------example_218WD_6MW------------------' print "Elapsed time: ", time.time()-tt, " seconds" sys_print(second_fit)