Exemple #1
0
# Different layouts

method = ['dir_rect.json', 'dir_dakota.json']
layout = ['grid', 'amalia', 'optimized', 'random']

n = 45  # number of points to consider

fig, ax = plt.subplots(4,
                       3,
                       figsize=(12, 12),
                       gridspec_kw={'width_ratios': [0.2, 1, 1]})
# Loop over all the axes and prettify the graph.  # later have that in the prettify
for Ax in ax:
    for AX in Ax:
        prettify.set_color_cycle(AX)
        prettify.remove_junk(AX)

for i, lay in enumerate(layout):
    # Get the baseline
    f = open(method[0], 'r')
    r = json.load(f)
    f.close()
    mu_base = r[lay]['average']['mu'][-1]

    # Plot the layout
    ax[i][0].scatter(tx[i], ty[i])
    ax[i][0].set_axis_off()
    ax[i][0].set_xlim([-190, 3990])
    ax[i][0].set_ylim([-245, 5145])
    ax[i][0].set_aspect('equal')
# method_dir = ['dir_dakotar_average.json', 'dir_dakota.json']
# method_speed = ['speed_rect.json', 'speed_dakota.json']
method_speed = ['speed_recttrunc.json', 'speed_dakotaqtrunc.json']
#method_speed = ['speed_chaospy.json', 'speed_dakota.json']
method_2d = ['2d_rect_average.json', '2d_dakotaq_average_trunc.json']
# method_2d = ['2d_dakotaq_average.json', '2d_dakotaq_average_trunc.json']
layout = ['grid', 'amalia', 'optimized', 'random']

n = 45  # number of points to consider

fig, ax = plt.subplots(4, 4, figsize=(17, 12), gridspec_kw={'width_ratios': [0.2, 1, 1, 1]})
# Loop over all the axes and prettify the graph.  # later have that in the prettify
for Ax in ax:
    for AX in Ax:
        prettify.set_color_cycle(AX)
        prettify.remove_junk(AX)

ax[0][0].set_title('layout', position=(0.5, 1.6))
method = method_dir
for i, lay in enumerate(layout):
    # Get the baseline
    f = open(method[0], 'r')
    r = json.load(f)
    f.close()
    mu_base = r[lay]['average']['mu'][-1]

    # Plot the layout
    ax[i][0].scatter(tx[i], ty[i])
    ax[i][0].set_axis_off()
    ax[i][0].set_xlim([-190, 3990])
    ax[i][0].set_ylim([-245, 5145])
    3600,
    'GWh - AEP of the layout as\nmeasured by rectangle rule\nwith n=100 directions',
    fontsize=20)
ax[0][6].text(
    2800,
    -2000,
    'The number of wind directions used\nto calculate AEP in the optimization',
    fontsize=20)
ax[0][0].text(0, 6000, 'polynomial chaos', fontsize=24)
ax[1][0].text(0, 6000, 'rectangle rule', fontsize=24)
fig.tight_layout()
plt.savefig('optimization_results.pdf')

samples_dakota = np.array([5, 10, 15, 20, 30, 40])
samples_rect = np.array([5, 10, 15, 20, 30, 40, 66, 100])
fig, ax = plt.subplots()
prettify.set_color_cycle(ax)
prettify.remove_junk(ax)
ax.plot(samples_rect, rect_mu, 'o-', label='rectangle rule', linewidth=2)
ax.plot(samples_dakota, dakota_mu, '-o', label='polynomial chaos', linewidth=2)
ax.set_xlim(-2, 102)
ax.set_ylim(689, 731)
ax.legend(loc=2, frameon=False, fontsize=16)
ax.set_xlabel('number of wind directions', fontsize=16)
ax.set_ylabel('optimized AEP (GWh)', fontsize=16)
ax.tick_params(axis='both', which='major', labelsize=14)
fig.tight_layout()

plt.savefig('PC_vs_rect_opt_AEP.pdf')
plt.show()
# Clear the last grids
ax[0][7].set_axis_off()
ax[0][8].set_axis_off()

ax[0][6].text(5000, 3600, 'GWh - AEP of the layout as\nmeasured by rectangle rule\nwith n=100 directions', fontsize=20)
ax[0][6].text(2800, -2000, 'The number of wind directions used\nto calculate AEP in the optimization', fontsize=20)
ax[0][0].text(0, 6000, 'polynomial chaos', fontsize=24)
ax[1][0].text(0, 6000, 'rectangle rule', fontsize=24)
fig.tight_layout()
plt.savefig('optimization_results.pdf')


samples_dakota = np.array([5,10,15,20,30,40])
samples_rect = np.array([5,10,15,20,30,40,66,100])
fig, ax = plt.subplots()
prettify.set_color_cycle(ax)
prettify.remove_junk(ax)
ax.plot(samples_rect, rect_mu, 'o-', label='rectangle rule', linewidth=2)
ax.plot(samples_dakota, dakota_mu, '-o', label='polynomial chaos', linewidth=2)
ax.set_xlim(-2,102)
ax.set_ylim(689,731)
ax.legend(loc=2, frameon=False, fontsize=16)
ax.set_xlabel('number of wind directions', fontsize=16)
ax.set_ylabel('optimized AEP (GWh)', fontsize=16)
ax.tick_params(axis='both', which='major', labelsize=14)
fig.tight_layout()

plt.savefig('PC_vs_rect_opt_AEP.pdf')
plt.show()