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'
all_positive_colormap = LinSegCMap.from_list(name='all_positive_colormap', colors =['1.0','red','darkred','salmon','cyan','chartreuse','yellow','magenta','purple','plum','blue','darkblue','green'], N=257)
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_uu_yp_15 = F['Spectra_uu_yp_15'][()] print('E_uu_plus at wall: ', np.sum(E_uu_yp_15)/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_uu_yp_15 = E_uu_yp_15 * np.log(10)*k*k/np.log10(k*k_ref_inv)/u_tau/u_tau; E_uu_yp_15[0,0] = 0.0 F.close() P0550_kx_sharp = kx_sharp P0550_kz_sharp = kz_sharp P0550_E_uu_yp_15 = E_uu_yp_15 P0550_k_ref_inv = k_ref_inv P0550_Re_tau = Re_tau
E_uu_plus at wall: 7.647746510599173
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_uu_yp_15 = F['Spectra_uu_yp_15'][()] print('E_uu_plus at wall: ', np.sum(E_uu_yp_15)/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_uu_yp_15 = E_uu_yp_15 * np.log(10)*k*k/np.log10(k*k_ref_inv)/u_tau/u_tau; E_uu_yp_15[0,0] = 0.0 F.close() P1000_kx_sharp = kx_sharp P1000_kz_sharp = kz_sharp P1000_E_uu_yp_15 = E_uu_yp_15 P1000_k_ref_inv = k_ref_inv P1000_Re_tau = Re_tau
E_uu_plus at wall: 8.101250890959545
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_uu_yp_15 = F['Spectra_uu_yp_15'][()] print('E_uu_plus at wall: ', np.sum(E_uu_yp_15)/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_uu_yp_15 = E_uu_yp_15 * np.log(10)*k*k/np.log10(k*k_ref_inv)/u_tau/u_tau; E_uu_yp_15[0,0] = 0.0 F.close() P2000_kx_sharp = kx_sharp P2000_kz_sharp = kz_sharp P2000_E_uu_yp_15 = E_uu_yp_15 P2000_k_ref_inv = k_ref_inv P2000_Re_tau = Re_tau
E_uu_plus at wall: 8.577221749073919
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_uu_yp_15 = F['Spectra_uu_yp_15'][()] print('E_uu_plus at wall: ', np.sum(E_uu_yp_15)/u_tau/u_tau/LMFx/LMFz) # Multiply Jacobian and normalization factor E_uu_yp_15 = E_uu_yp_15 * np.log(10)*k*k/np.log10(k*k_ref_inv)/u_tau/u_tau; E_uu_yp_15[0,0] = 0.0 F.close() P5200_kx_sharp = kx_sharp P5200_kz_sharp = kz_sharp P5200_E_uu_yp_15 = E_uu_yp_15 P5200_k_ref_inv = k_ref_inv P5200_Re_tau = Re_tau
E_uu_plus at wall: 9.142411647878374
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,3.23)) ticknum = 200 valmax = 14.44 plt.subplot(141) plt.gca().set_rasterization_zorder(-1) levels1 = LinearLocator(numticks=ticknum).tick_values(0,valmax) plt.contourf(P0550_kx_sharp,P0550_kz_sharp,P0550_E_uu_yp_15,levels=levels1,cmap=all_positive_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.xlabel(r'$k_x^\sharp$') plt.xticks([0,1,2,3,4,5,6]) 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) $Re_\tau = 550$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(142) plt.gca().set_rasterization_zorder(-1) plt.contourf(P1000_kx_sharp,P1000_kz_sharp,P1000_E_uu_yp_15,levels=levels1,cmap=all_positive_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'(b) $Re_\tau = 1000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(143) plt.gca().set_rasterization_zorder(-1) plt.contourf(P2000_kx_sharp,P2000_kz_sharp,P2000_E_uu_yp_15,levels=levels1,cmap=all_positive_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'(c) $Re_\tau = 2000$', verticalalignment='top', horizontalalignment='right',bbox=dict(facecolor='white', alpha=1.0, linewidth=0)) plt.subplot(144) plt.gca().set_rasterization_zorder(-1) plt.contourf(P5200_kx_sharp,P5200_kz_sharp,P5200_E_uu_yp_15,levels=levels1,cmap=all_positive_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'(d) $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=[0.0,valmax*0.25,valmax*0.5,valmax*0.75,valmax]) cbar.ax.set_yticklabels(["0",r"$3.61$",r"$7.22$",r"$10.83$",r"$14.44$"]) plt.savefig('figure13.eps',bbox_inches='tight',dpi=200) plt.show() plt.close()
Image in a Jupyter notebook