print('\nFinished interpolating mesh data for bij in {:.4f} s'.format(t1 - t0)) """ Plotting """ figdir = case.resultPaths[time] + 'RotationInvariance/' + estimator_name os.makedirs(figdir, exist_ok=True) # rgb_b2ry_train_mesh = ndimage.rotate(rgb_bary_train_mesh, 90) rgb_bary_pred_test_mesh = ndimage.rotate(rgb_bary_pred_test_mesh, 90) rgb_bary_pred_train_mesh = ndimage.rotate(rgb_bary_pred_train_mesh, 90) xlabel, ylabel = ('$\bm{S}^2$', r'$y$ [m]') geometry = np.genfromtxt(caseDir + '/' + rans_case_name + '/' + "geometry.csv", delimiter=",")[:, :2] figname = 'barycentric_predtest_rot_{0}_{1}_{2}'.format(rot_x, rot_y, rot_z) bary_map = BaseFigure((None,), (None,), name=figname, xlabel=xlabel, ylabel=ylabel, save=save_fig, show=show, figdir=case.resultPaths[time], figheight_multiplier=0.7) path = Path(geometry) patch = PathPatch(path, linewidth=0., facecolor=bary_map.gray) # patch is considered "a single artist" so have to make copy to use more than once patches = [] for _ in range(14): patches.append(copy(patch)) patches = iter(patches) extent_test = (ccx_test.min(), ccx_test.max(), ccy_test.min(), ccy_test.max()) extent_train = (ccx_train.min(), ccx_train.max(), ccy_train.min(), ccy_train.max()) bary_map.initializeFigure() bary_map.axes.imshow(rgb_bary_pred_test_mesh, origin='upper', aspect='equal', extent=extent_test) bary_map.axes.set_xlabel(bary_map.xlabel)
precursor_alm_rans[i] = precursor_alm[i] + rans[i] # SOWFA bij injected RANS, 0 for LES cases rans_bij = (0, 671, 0, 1308, 0, 0, 0, 0) t_tot = np.empty(len(xlabel)) for i in range(len(xlabel)): t_tot[i] = precursor_alm_rans[i] + rans_bij[i] # x locations ind = np.arange(len(xlabel)) # Width of bars width = 0.25 plot = BaseFigure([], [], 'CPUhour', figdir='/media/yluan/', show=False, save=True, ylabel='CPU hour', xlabel='') plot.initializeFigure() p0 = plot.axes.bar(ind, precursor, width, zorder=10) p1 = plot.axes.bar(ind, alm, width, bottom=precursor, zorder=10) p2 = plot.axes.bar(ind, rans, width, bottom=precursor_alm, zorder=10) p3 = plot.axes.bar(ind, rans_bij, width, bottom=precursor_alm_rans, zorder=10) plt.xticks(ind, xlabel, rotation='20') plt.legend((p0[0], p1[0], p2[0], p3[0]), bar_comp, shadow=False, fancybox=False) # plt.show() plot.finalizeFigure(show_xylabel=(False, True), xyscale=('bla', 'bla'))
# xTri, yTri = np.ma.array(xTri, mask, dtype = bool), np.ma.array(yTri, mask) c3 = xyTri[:, 1] / yTriLim[1] c1 = xyTri[:, 0] - 0.5 * c3 c2 = 1 - c1 - c3 rgbVals_example = np.vstack((c1, c2, c3)).T # rgbValsNew = np.empty((c1.shape[0], 3)) # Each 2nd dim is an RGB array of the 2D grid rgbValsNew_example = (rgbVals_example + c_offset) ** c_exp baryMap3D = griddata(xyTri, rgbValsNew_example, (xTri, yTri)) baryMap3D[np.isnan(baryMap3D)] = 1 baryMap3D = ndimage.rotate(baryMap3D, 90) baryMapExample = BaseFigure((None,), (None,), name = baryexample_name, figdir = case.result_path, show = show, save = save) baryMapExample.initializeFigure() baryMapExample.axes[0].imshow(baryMap3D, origin = 'upper', aspect = 'equal', extent = (xTriLim[0], xTriLim[1], yTriLim[0], yTriLim[1])) baryMapExample.axes[0].annotate(r'$\textbf{x}_{2c}$', (xTriLim[0], yTriLim[0]), (xTriLim[0] - 0.1, yTriLim[0])) baryMapExample.axes[0].annotate(r'$\textbf{x}_{3c}$', (np.mean(xTriLim), yTriLim[1])) baryMapExample.axes[0].annotate(r'$\textbf{x}_{1c}$', (xTriLim[1], yTriLim[0])) # baryMapExample.axes[0].get_yaxis().set_visible(False) # baryMapExample.axes[0].get_xaxis().set_visible(False) # baryMapExample.axes[0].set_axis_off() baryMapExample.axes[0].axis('off') plt.tight_layout() plt.savefig(case.result_path + baryexample_name + '.' + ext, dpi = dpi) if save: print('\n{0} saved at {1}'.format(baryexample_name, case.result_path))