Example 18_rotor_tower_monopile of WISDEM

Hi all

I tried to run the example 18_rotor_tower_monopile of WISDEM tutorial from the Python file:

It runs properly, However, the Optimization FAILED due to the Iteration limit reached as shown below:

Although I have increased the number of iterations as follows, again the Optimization FAILED for the same reason:

        flag: True         # Flag to enable optimization
        tol: 1.e-6          # Optimality tolerance
        max_major_iter: 300  # Maximum number of major design iterations (SNOPT)
        max_minor_iter: 1000 # Maximum number of minor design iterations (SNOPT)
        max_iter: 10         # Maximum number of iterations (SLSQP)
        solver: SLSQP       # Optimization solver. Other options are 'SLSQP' - 'CONMIN'
        step_size: 1.e-2    # Step size for finite differencing
        form: forward       # Finite differencing mode, either forward or central

What should I do to obtain a successful optimization?


you need to increase max_iter, which is passed to the SLSQP optimizer. max_major_iter and max_minor_iter are used only when using the SNOPT optimizer, which you probably do not have access to.
I hope this helps,

Dear Pietro Bortolotti
Thanks for the prompt reply.
I will increase the max_iter to 1000.
Also, I have another question about that example.
After the optimization ends successfully, The output files should contain a scaled version of IEA15MW to IEA20MW, Am I right?
I am asking because I feel there are no differences between the following geometry files




except in the following top-level entries:

name: IEA 15MW Offshore Reference Turbine Scaled to 20MW
assembly: {turbine_class: I, turbulence_class: B, drivetrain: direct_drive, rotor_orientation: Upwind, number_of_blades: 3, hub_height: 170.0, rotor_diameter: 279.71, rated_power: 20000000.0, lifetime: 25.0}
costs: {wake_loss_factor: 0.15, fixed_charge_rate: 0.058, bos_per_kW: 2454, opex_per_kW: 110.0, turbine_number: 30.0, labor_rate: 58.8, painting_rate: 30.0, blade_mass_cost_coeff: 14.6, hub_mass_cost_coeff: 3.9, pitch_system_mass_cost_coeff: 22.1, spinner_mass_cost_coeff: 11.1, lss_mass_cost_coeff: 11.9, bearing_mass_cost_coeff: 4.5, gearbox_mass_cost_coeff: 12.9, hss_mass_cost_coeff: 6.8, generator_mass_cost_coeff: 25.63570380531355, bedplate_mass_cost_coeff: 2.9, yaw_mass_cost_coeff: 8.3, converter_mass_cost_coeff: 18.8, transformer_mass_cost_coeff: 18.8, hvac_mass_cost_coeff: 362.3333772011725, cover_mass_cost_coeff: 16.60090142324545, elec_connec_machine_rating_cost_coeff: 41.85, platforms_mass_cost_coeff: 17.1, tower_mass_cost_coeff: 2.9, controls_machine_rating_cost_coeff: 21.15, crane_cost: 12000.0, electricity_price: 0.04, reserve_margin_price: 120.0, capacity_credit: 0.0, benchmark_price: 0.071}

That’s right, the output yaml files stored in the output folder will look more differently