コード例 #1
0
ファイル: optimizers.py プロジェクト: sebasanper/wflopg
def _iterate_visualization(axes, owflop, history):
    axes['convergence'].clear()
    vis.draw_convergence(axes['convergence'], history)
    axes['step_size'].clear()
    vis.draw_step_size(axes['step_size'], history)
    axes['layout'].clear()
    vis.site_setup(axes['layout'])
    vis.connect_layouts(axes['layout'], history.layout)
    vis.draw_turbines(axes['layout'], history.isel(iteration=0).layout,
                      owflop.rotor_radius_adim)
    vis.draw_turbines(axes['layout'], history.isel(iteration=-1).layout,
                      owflop.rotor_radius_adim,
                      minimal_proximity=owflop.minimal_proximity,
                      inside=owflop.inside)
    vis.draw_boundaries(axes['layout'], owflop.boundaries)
    _plt.pause(0.1)
コード例 #2
0
ファイル: BWFS_IV.py プロジェクト: sebasanper/wflopg
 for k, kind in enumerate(['soft', 'aggressive']):
     axp[kind] = fig.add_subplot(gs[0, k], sharey=shareyp)
     vis.site_setup(axp[kind], o.minimal_proximity)
     vis.draw_boundaries(axp[kind], o.boundaries)
     vis.draw_turbines(axp[kind],
                       history[(kind, turbines)].layout.sel(iteration=0),
                       o.rotor_radius_adim,
                       turbine_color='#87f')
     vis.draw_turbines(
         axp[kind],
         history[(kind, turbines)].layout.isel(
             iteration=history[(kind, turbines)].objective.argmin()),
         o.rotor_radius_adim,
         o.minimal_proximity,
         turbine_color='#f56')
     vis.connect_layouts(axp[kind], history[(kind, turbines)].layout)
     axp[kind].set_xlim([-1.02, 1])
     axp[kind].set_ylim([-1.02, .47])
     axp[kind].set_title(kind)
     axs[kind] = fig.add_subplot(gs[2, k], sharey=shareys)
     vis.draw_step_size(axs[kind], history[(kind, turbines)])
     axs[kind].set_xlim([-2.5, 17.5])
     axs[kind].set_ylim([.02, 50])
     axs[kind].set_xticks([0, 5, 10, 15])
     axc[kind] = fig.add_subplot(gs[1, k], sharex=axs[kind], sharey=shareyc)
     plt.setp(axc[kind].get_xticklabels(), visible=False)
     vis.draw_convergence(axc[kind], history[(kind, turbines)])
     axc[kind].set_xlim([-2.5, 17.5])
     # axc[kind].set_ylim([1.5, 5])
     axc[kind].set_xticks([0, 5, 10, 15])
     axc[kind].set_xlabel('')
コード例 #3
0
ファイル: Mosetti_et_al.py プロジェクト: sebasanper/wflopg
shareys = None
for k, pg in enumerate({'M': "Mosetti et al.", 'H': "hexagonal"}.items()):
    axp[pg[0]] = fig.add_subplot(gs[2, k], sharey=shareyp)
    vis.site_setup(axp[pg[0]], o.minimal_proximity)
    vis.draw_boundaries(axp[pg[0]], o.boundaries)
    vis.draw_turbines(axp[pg[0]], history[pg[0]].layout.sel(iteration=0),
                      o.rotor_radius_adim, turbine_color='#87f')
    vis.draw_turbines(
        axp[pg[0]],
        history[pg[0]].layout.isel(
            iteration=history[pg[0]].objective.argmin()),
        o.rotor_radius_adim,
        o.minimal_proximity,
        turbine_color='#f56'
    )
    vis.connect_layouts(axp[pg[0]], history[pg[0]].layout)
    axp[pg[0]].set_xlim([-np.sqrt(.5)-.1, np.sqrt(.5)+.1])
    axp[pg[0]].set_ylim([-np.sqrt(.5)-.2, np.sqrt(.5)+.1])
    axp[pg[0]].set_title(pg[1])
    axs[pg[0]] = fig.add_subplot(gs[4, k], sharey=shareys)
    vis.draw_step_size(axs[pg[0]], history[pg[0]])
    axs[pg[0]].set_xlim([-2.5, 22.5])
    axs[pg[0]].set_ylim([.004, 14])
    axs[pg[0]].set_xticks([0, 5, 10, 15, 20])
    axc[pg[0]] = fig.add_subplot(gs[3, k], sharex=axs[pg[0]], sharey=shareyc)
    plt.setp(axc[pg[0]].get_xticklabels(), visible=False)
    vis.draw_convergence(axc[pg[0]], history[pg[0]])
    axc[pg[0]].set_xlim([-2.5, 22.5])
    axc[pg[0]].set_ylim([1.5, 5])
    axc[pg[0]].set_xticks([0, 5, 10, 15, 20])
    axc[pg[0]].set_xlabel('')
コード例 #4
0
ファイル: IEA37C1_36+64.py プロジェクト: sebasanper/wflopg
shareys = None
for k, n in enumerate([36, 64]):
    axp[n] = fig.add_subplot(gs[0, k], sharey=shareyp)
    vis.site_setup(axp[n], os[n].minimal_proximity)
    vis.draw_boundaries(axp[n], os[n].boundaries)
    vis.draw_turbines(axp[n],
                      histories[n].layout.sel(iteration=0),
                      os[n].rotor_radius_adim,
                      turbine_color='#87f')
    vis.draw_turbines(
        axp[n],
        histories[n].layout.isel(iteration=histories[n].objective.argmin()),
        os[n].rotor_radius_adim,
        os[n].minimal_proximity,
        turbine_color='#f56')
    vis.connect_layouts(axp[n], histories[n].layout)
    axp[n].set_title(f"{n} turbines")
    axs[n] = fig.add_subplot(gs[2, k], sharey=shareys)
    vis.draw_step_size(axs[n], histories[n])
    axs[n].set_xlim([-2.5, 32.5])
    axs[n].set_ylim([.009, 15])
    axs[n].set_xticks([0, 5, 10, 15, 20, 25, 30])
    axc[n] = fig.add_subplot(gs[1, k], sharex=axs[n], sharey=shareyc)
    plt.setp(axc[n].get_xticklabels(), visible=False)
    vis.draw_convergence(axc[n], histories[n])
    axc[n].set_xlim([-2.5, 32.5])
    axc[n].set_ylim([19, 32.5])
    axc[n].set_xticks([0, 5, 10, 15, 20, 25, 30])
    axc[n].set_xlabel('')
    if n == 36:
        shareyc = axc[n]