Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
172 views
unlisted
ubuntu2204
Kernel: Python 3 (ipykernel)
import numpy as np import h5py as h5 import matplotlib.pyplot as plt from matplotlib import rcParams from matplotlib.colors import LinearSegmentedColormap as LinSegCMap from matplotlib.ticker import LinearLocator import warnings warnings.filterwarnings('ignore') rcParams['font.family'] = 'serif' rcParams['font.serif'] = ['Computer Modern Roman'] rcParams['text.usetex'] = True rcParams['xtick.major.size']=7 rcParams['ytick.major.size']=7 rcParams['xtick.minor.size']=3.5 rcParams['ytick.minor.size']=3.5 rcParams['xtick.labelsize']=10 rcParams['ytick.labelsize']=10 rcParams['contour.negative_linestyle'] = 'solid'
pos_neg_colormap = LinSegCMap.from_list(name='pos_neg_colormap', colors =['cyan','chartreuse','green','darkblue','blue','1.0','red','darkred','salmon','gold','yellow'], N=255)
F = h5.File('../data/P0550.h5','r') Re_tau = F['Re_tau'][()] u_tau = F['u_tau'][()] dUdy_wall = F['dUdy'][()] LMFx = F['LMFx'][()] LMFz = F['LMFz'][()] kx_org = F['kx'][()] kz_org = F['kz'][()] kx, kz = np.meshgrid(kx_org,kz_org) k_ref = 1/100 k_ref_inv = 100 k = np.sqrt(kx*kx + kz*kz) kx_sharp = kx / k * np.log10(k*k_ref_inv) kz_sharp = kz / k * np.log10(k*k_ref_inv) kx_sharp[0,0] = 0.0 kz_sharp[0,0] = 0.0 E_T_uu_xz_yp_5 = F['Spectra_T_uu_xz_yp_5'][()] print('T_uu_xz y plus = 5: ', np.sum(E_T_uu_xz_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_xz_yp_5[0,0] = 0.0 E_T_uu_y_yp_5 = F['Spectra_T_uu_y_yp_5'][()] print('T_uu_y y plus = 5: ', np.sum(E_T_uu_y_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_y_yp_5 = E_T_uu_y_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_y_yp_5[0,0] = 0.0 F.close() P0550_kx_sharp = kx_sharp P0550_kz_sharp = kz_sharp P0550_E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 P0550_E_T_uu_y_yp_5 = E_T_uu_y_yp_5 P0550_k_ref_inv = k_ref_inv P0550_Re_tau = Re_tau
T_uu_xz y plus = 5: -2.9990522781701145e-09 T_uu_y y plus = 5: 0.11073697766083025
F = h5.File('../data/P1000.h5','r') Re_tau = F['Re_tau'][()] u_tau = F['u_tau'][()] dUdy_wall = F['dUdy'][()] LMFx = F['LMFx'][()] LMFz = F['LMFz'][()] kx_org = F['kx'][()] kz_org = F['kz'][()] kx, kz = np.meshgrid(kx_org,kz_org) k_ref = 1/100 k_ref_inv = 100 k = np.sqrt(kx*kx + kz*kz) kx_sharp = kx / k * np.log10(k*k_ref_inv) kz_sharp = kz / k * np.log10(k*k_ref_inv) kx_sharp[0,0] = 0.0 kz_sharp[0,0] = 0.0 E_T_uu_xz_yp_5 = F['Spectra_T_uu_xz_yp_5'][()] print('T_uu_xz y plus = 5: ', np.sum(E_T_uu_xz_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_xz_yp_5[0,0] = 0.0 E_T_uu_y_yp_5 = F['Spectra_T_uu_y_yp_5'][()] print('T_uu_y y plus = 5: ', np.sum(E_T_uu_y_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_y_yp_5 = E_T_uu_y_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_y_yp_5[0,0] = 0.0 F.close() P1000_kx_sharp = kx_sharp P1000_kz_sharp = kz_sharp P1000_E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 P1000_E_T_uu_y_yp_5 = E_T_uu_y_yp_5 P1000_k_ref_inv = k_ref_inv P1000_Re_tau = Re_tau
T_uu_xz y plus = 5: -2.668071605154198e-09 T_uu_y y plus = 5: 0.12121669747348303
F = h5.File('../data/P2000.h5','r') Re_tau = F['Re_tau'][()] u_tau = F['u_tau'][()] dUdy_wall = F['dUdy'][()] LMFx = F['LMFx'][()] LMFz = F['LMFz'][()] kx_org = F['kx'][()] kz_org = F['kz'][()] kx, kz = np.meshgrid(kx_org,kz_org) k_ref = 1/100 k_ref_inv = 100 k = np.sqrt(kx*kx + kz*kz) kx_sharp = kx / k * np.log10(k*k_ref_inv) kz_sharp = kz / k * np.log10(k*k_ref_inv) kx_sharp[0,0] = 0.0 kz_sharp[0,0] = 0.0 E_T_uu_xz_yp_5 = F['Spectra_T_uu_xz_yp_5'][()] print('T_uu_xz y plus = 5: ', np.sum(E_T_uu_xz_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_xz_yp_5[0,0] = 0.0 E_T_uu_y_yp_5 = F['Spectra_T_uu_y_yp_5'][()] print('T_uu_y y plus = 5: ', np.sum(E_T_uu_y_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_y_yp_5 = E_T_uu_y_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_y_yp_5[0,0] = 0.0 F.close() P2000_kx_sharp = kx_sharp P2000_kz_sharp = kz_sharp P2000_E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 P2000_E_T_uu_y_yp_5 = E_T_uu_y_yp_5 P2000_k_ref_inv = k_ref_inv P2000_Re_tau = Re_tau
T_uu_xz y plus = 5: -1.5909171954868406e-09 T_uu_y y plus = 5: 0.13362229772188203
F = h5.File('../data/P5200.h5','r') Re_tau = F['Re_tau'][()] u_tau = F['u_tau'][()] dUdy_wall = F['dUdy'][()] LMFx = F['LMFx'][()] LMFz = F['LMFz'][()] kx_org = F['kx'][()] kz_org = F['kz'][()] kx, kz = np.meshgrid(kx_org,kz_org) k_ref = 1/100 k_ref_inv = 100 k = np.sqrt(kx*kx + kz*kz) kx_sharp = kx / k * np.log10(k*k_ref_inv) kz_sharp = kz / k * np.log10(k*k_ref_inv) kx_sharp[0,0] = 0.0 kz_sharp[0,0] = 0.0 E_T_uu_xz_yp_5 = F['Spectra_T_uu_xz_yp_5'][()] print('T_uu_xz y plus = 5: ', np.sum(E_T_uu_xz_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_xz_yp_5[0,0] = 0.0 E_T_uu_y_yp_5 = F['Spectra_T_uu_y_yp_5'][()] print('T_uu_y y plus = 5: ', np.sum(E_T_uu_y_yp_5)/dUdy_wall/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_T_uu_y_yp_5 = E_T_uu_y_yp_5 * np.log(10)*k*k/np.log10(k*k_ref_inv)/dUdy_wall/u_tau/u_tau; E_T_uu_y_yp_5[0,0] = 0.0 F.close() P5200_kx_sharp = kx_sharp P5200_kz_sharp = kz_sharp P5200_E_T_uu_xz_yp_5 = E_T_uu_xz_yp_5 P5200_E_T_uu_y_yp_5 = E_T_uu_y_yp_5 P5200_k_ref_inv = k_ref_inv P5200_Re_tau = Re_tau
T_uu_xz y plus = 5: 4.351436038813451e-09 T_uu_y y plus = 5: 0.1440205255750274
k_ref_inv = 100 k_for_lambda_1e_3 = np.log10(np.pi*2/(1e-3)*k_ref_inv) lambda_1e_3_x = np.arange(10001)/10000*k_for_lambda_1e_3 lambda_1e_3_y = np.sqrt(k_for_lambda_1e_3**2 - lambda_1e_3_x**2) k_for_lambda_1e_2 = np.log10(np.pi*2/(1e-2)*k_ref_inv) lambda_1e_2_x = np.arange(10001)/10000*k_for_lambda_1e_2 lambda_1e_2_y = np.sqrt(k_for_lambda_1e_2**2 - lambda_1e_2_x**2) k_for_lambda_1e_1 = np.log10(np.pi*2/(1e-1)*k_ref_inv) lambda_1e_1_x = np.arange(10001)/10000*k_for_lambda_1e_1 lambda_1e_1_y = np.sqrt(k_for_lambda_1e_1**2 - lambda_1e_1_x**2) k_for_lambda_1e0 = np.log10(np.pi*2/(1e0)*k_ref_inv) lambda_1e0_x = np.arange(10001)/10000*k_for_lambda_1e0 lambda_1e0_y = np.sqrt(k_for_lambda_1e0**2 - lambda_1e0_x**2) k_for_lambda_1e1 = np.log10(np.pi*2/(1e1)*k_ref_inv) lambda_1e1_x = np.arange(10001)/10000*k_for_lambda_1e1 lambda_1e1_y = np.sqrt(k_for_lambda_1e1**2 - lambda_1e1_x**2) k_for_lambda_1e2 = np.log10(np.pi*2/(1e2)*k_ref_inv) lambda_1e2_x = np.arange(10001)/10000*k_for_lambda_1e2 lambda_1e2_y = np.sqrt(k_for_lambda_1e2**2 - lambda_1e2_x**2)
fig = plt.figure(1,figsize=(13,6.5)) ticknum = 200 valmax=0.28 levels1 = LinearLocator(numticks=ticknum).tick_values(-valmax,valmax) plt.subplot(241) plt.gca().set_rasterization_zorder(-1) plt.contourf(P0550_kx_sharp,P0550_kz_sharp,P0550_E_T_uu_y_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-',label=r'$\lambda/\delta = 10^{-3}$') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-',label=r'$\lambda/\delta = 10^{-2}$') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-',label=r'$\lambda/\delta = 10^{-1}$') plt.plot(lambda_1e0_x , lambda_1e0_y,'C3-',label=r'$\lambda/\delta = 1$') plt.plot(lambda_1e1_x , lambda_1e1_y,'C4-',label=r'$\lambda/\delta = 10$') plt.plot(lambda_1e2_x , lambda_1e2_y,'C5-',label=r'$\lambda/\delta = 10^{2}$') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.ylabel(r'$k_z^\sharp$',rotation=0) plt.xticks([]) plt.xlim([0,6]) plt.ylim([0,6]) plt.legend(frameon=False, ncol=9, loc='upper left', bbox_to_anchor=(-0.1,1.18)) plt.text(5.7,5.7,r'(a) $T^\bot_{y^+ = 5}, Re_\tau = 550$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(242) plt.gca().set_rasterization_zorder(-1) plt.contourf(P1000_kx_sharp,P1000_kz_sharp,P1000_E_T_uu_y_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xticks([]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(b) $T^\bot_{y^+ = 5}, Re_\tau = 1000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(243) plt.gca().set_rasterization_zorder(-1) plt.contourf(P2000_kx_sharp,P2000_kz_sharp,P2000_E_T_uu_y_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xticks([]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(c) $T^\bot_{y^+ = 5}, Re_\tau = 2000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(244) plt.gca().set_rasterization_zorder(-1) plt.contourf(P5200_kx_sharp,P5200_kz_sharp,P5200_E_T_uu_y_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xticks([]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(d) $T^\bot_{y^+ = 5}, Re_\tau = 5200$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(245) plt.gca().set_rasterization_zorder(-1) plt.contourf(P0550_kx_sharp,P0550_kz_sharp,P0550_E_T_uu_xz_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.ylabel(r'$k_z^\sharp$',rotation=0) plt.xlabel(r'$k_x^\sharp$') plt.xticks([0,1,2,3,4,5,6]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(e) $T^\|_{y^+ = 5}, Re_\tau = 550$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(246) plt.gca().set_rasterization_zorder(-1) plt.contourf(P1000_kx_sharp,P1000_kz_sharp,P1000_E_T_uu_xz_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xlabel(r'$k_x^\sharp$') plt.xticks([0,1,2,3,4,5,6]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(f) $T^\|_{y^+ = 5}, Re_\tau = 1000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(247) plt.gca().set_rasterization_zorder(-1) plt.contourf(P2000_kx_sharp,P2000_kz_sharp,P2000_E_T_uu_xz_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xlabel(r'$k_x^\sharp$') plt.xticks([0,1,2,3,4,5,6]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(g) $T^\|_{y^+ = 5}, Re_\tau = 2000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(248) plt.gca().set_rasterization_zorder(-1) plt.contourf(P5200_kx_sharp,P5200_kz_sharp,P5200_E_T_uu_xz_yp_5,levels=levels1,cmap=pos_neg_colormap,zorder=-5) plt.plot(lambda_1e_3_x, lambda_1e_3_y,'C0-') plt.plot(lambda_1e_2_x, lambda_1e_2_y,'C1-') plt.plot(lambda_1e_1_x, lambda_1e_1_y,'C2-') plt.plot(lambda_1e0_x , lambda_1e0_y, 'C3-') plt.plot(lambda_1e1_x , lambda_1e1_y, 'C4-') plt.plot(lambda_1e2_x , lambda_1e2_y, 'C5-') plt.plot([0,3],[0,6],'r--',label=r'$k_z = 2k_x$') plt.plot([0,6],[0,6],'k-',label=r'$k_z = k_x$') plt.plot([0,6],[0,3],'b-.',label=r'$k_z = k_x/2$') plt.yticks([]) plt.xlabel(r'$k_x^\sharp$') plt.xticks([0,1,2,3,4,5,6]) plt.xlim([0,6]) plt.ylim([0,6]) plt.text(5.7,5.7,r'(h) $T^\|_{y^+ = 5}, Re_\tau = 5200$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplots_adjust(hspace=0.05, wspace=0.05) fig.subplots_adjust(right=0.9) cbar_ax = fig.add_axes([0.925,0.1,0.025,.8]) cbar = plt.colorbar(cax=cbar_ax,ticks=[-valmax,-0.5*valmax,0.0,valmax/2,valmax]) cbar.ax.set_yticklabels([r"$-0.28$",r"$-0.14$",r"$0.0$",r"$0.14$",r"$0.28$"]) plt.savefig('figure08.eps',bbox_inches='tight',dpi=200) plt.show() plt.close()
Image in a Jupyter notebook