fig = plt.figure() path = Path(verts, codes) ax = fig.add_subplot(111) patch = patches.PathPatch(path, facecolor='gainsboro', lw=0) ax.add_patch(patch) # ndofs,u,p,p_f,p_c,phi,u_f file_name = [32000, 16000, 8000, 4000, 2000, 1000] data = [] for j in range(0, len(file_name)): data = (np.genfromtxt(str(file_name[j]), delimiter=' ', dtype=float)) plt.loglog(data[:, 0], abs(data[:, 1] - 1111.1111111), color=colors.color(j), marker=colors.marker(j), label='width = ' + str(file_name[j]) + ' m') plt.xlim([300, 60000]) #plt.ylim([4e-3,0.4]) plt.xlabel("\#DoFs") plt.ylabel("Error in K") plt.legend(loc="upper right", ncol=2, prop=prop) plt.savefig( 'latent_heat.pdf', #bbox_extra_artists=(legend,), bbox_inches='tight', dpi=200)
import matplotlib.pyplot as plt import colors for file in ['cont','cont3']: figsize=(7,5) prop={'size':12} plt.rc('text', usetex=True) plt.rcParams['text.latex.preamble'] = '\usepackage{relsize}' plt.rc('font', family='sanserif') figure=plt.figure(dpi=100,figsize=figsize) # ndofs,u,p,p_f,p_c,phi,u_f data=np.genfromtxt(file+'.dat', usecols=(2,4,6,8,10,12,14), dtype = float) print data plt.loglog(data[:,0],data[:,1],color=colors.color(1), marker=colors.marker(1),label='$u$') plt.loglog(data[:,0],data[:,2],color=colors.color(2), marker=colors.marker(1),label='$p$') plt.loglog(data[:,0],data[:,3],color=colors.color(3), marker=colors.marker(1),label='$p_f$') plt.loglog(data[:,0],data[:,4],color=colors.color(4), marker=colors.marker(1),label='$p_c$') plt.loglog(data[:,0],data[:,5],color=colors.color(5), marker=colors.marker(1),label='$\phi$') plt.loglog(data[:,0],data[:,6],color=colors.color(6), marker=colors.marker(1),label='$u_f$') plt.loglog(data[:,0],data[:,0]**(-1./2.),linestyle=':', color='black', label='linear') plt.loglog(data[:,0],data[:,0]**(-2./2.),linestyle='--', color='black', label='quadratic') plt.loglog(data[:,0],data[:,0]**(-3./2.),linestyle='-.', color='black', label='cubic') plt.xlim([5e1, 8e5]) plt.ylim([5e-11, 5e-1]) plt.xlabel("\# DoFs") plt.ylabel("L2 errors")
import colors for part in [1,2]:#,'cont3']: figsize=(7,4.5) prop={'size':11} plt.rc('text', usetex=True) plt.rcParams['text.latex.preamble'] = '\usepackage{relsize}' plt.rc('font', family='sanserif') figure=plt.figure(dpi=100,figsize=figsize) # ndofs,u,p,p_f,p_c,phi,u_f data=np.genfromtxt('cont.dat', usecols=(2,4,6,8,10,12,14), dtype = float) print data if part==1: plt.loglog(data[:,0],data[:,6],color=colors.color(6), marker=colors.marker(1),label='$u_f$ ($k=2$)') plt.loglog(data[:,0],data[:,1],color=colors.color(1), marker=colors.marker(1),label='$u$ ($k=2$)') plt.loglog(data[:,0],data[:,5],color=colors.color(5), marker=colors.marker(1),label='$\phi$ ($k=2$)') else: plt.loglog(data[:,0],data[:,2],color=colors.color(2), marker=colors.marker(1),label='$p$ ($k=1$)') plt.loglog(data[:,0],data[:,4],color=colors.color(4), marker=colors.marker(1),label='$p_c$ ($k=1$)') plt.loglog(data[:,0],data[:,3],color=colors.color(3), marker=colors.marker(1),label='$p_f$ ($k=1$)') slopedata=[min(data[:,0]), max(data[:,0])] # ndofs,u,p,p_f,p_c,phi,u_f data=np.genfromtxt('cont3.dat', usecols=(2,4,6,8,10,12,14), dtype = float) print data m=3 if part==1:
data = [] for j in range(0,len(file_name)): data.append(np.genfromtxt(file_name[j],delimiter=' ', dtype = float)) dofs=[] error=[] resolution=[] # data to plot for i in range(0,len(file_name)): for j in range(0,6): dofs.append(abs(data[i][j][0])) error.append(abs(data[i][j][1])) resolution.append(3000./abs(data[i][j][0])) plt.loglog(dofs[0:6],error[0:6],color=colors.color(1), marker=colors.marker(1),label='$k=8\pi \cdot 10^3$ m$^{-1}$') plt.loglog(dofs[7:12],error[7:12],color=colors.color(3), marker=colors.marker(1),label='$k=16\pi \cdot 10^3$ m$^{-1}$') plt.loglog(dofs[0:6],resolution[0:6],"--",color="black", label='$\mathcal{O}(h^2)$') plt.xlim([2e7, 3000]) #plt.ylim([4e-3,0.4]) plt.xlabel("Degrees of freedom") plt.ylabel("Relative error in $\dot s$") plt.grid(True) plt.legend(loc = "upper left",prop=prop) plt.savefig('growth_rate_error.pdf', #bbox_extra_artists=(legend,), bbox_inches='tight',dpi=200)
import colors for adaptive_file in ['adaptive.dat', 'adaptive_pc.dat']: figsize=(8,5) prop={'size':12} plt.rc('text', usetex=True) plt.rcParams['text.latex.preamble'] = '\usepackage{relsize}' plt.rc('font', family='sanserif') figure=plt.figure(dpi=100,figsize=figsize) # ndofs,u,p,p_f,p_c,phi,u_f data=np.genfromtxt(adaptive_file, usecols=(2,4,6,8,10,12,14), dtype = float) print data plt.loglog(data[:,0],data[:,1],color=colors.color(1), marker=colors.marker(1),label='$u$') plt.loglog(data[:,0],data[:,2],color=colors.color(2), marker=colors.marker(1),label='$p$') plt.loglog(data[:,0],data[:,3],color=colors.color(3), marker=colors.marker(1),label='$p_f$') plt.loglog(data[:,0],data[:,4],color=colors.color(4), marker=colors.marker(1),label='$p_c$') plt.loglog(data[:,0],data[:,5],color=colors.color(5), marker=colors.marker(1),label='$\phi$') plt.loglog(data[:,0],data[:,6],color=colors.color(6), marker=colors.marker(1),label='$u_f$') data=np.genfromtxt('global.dat', usecols=(2,4,6,8,10,12,14), dtype = float) print data plt.loglog(data[:,0],7e0*data[:,0]**(-1./2.),linestyle=':', color='black', label='linear') plt.loglog(data[:,0],7e1*data[:,0]**(-2./2.),linestyle='--', color='black', label='quadratic') plt.loglog(data[:,0],4e2*data[:,0]**(-3./2.),linestyle='-.', color='black', label='cubic')
data.append(np.genfromtxt('log-'+ str(file_name[j]) + '.txt.last-step.csv',delimiter=',', dtype = float)) porosity=[] pressure=[] speed=[] phase_shift=[] # data to plot for j in range(0,len(resolution)): for i in range(0,len(CFL)): porosity.append(abs(data[j*len(CFL)+i][0])) pressure.append(abs(data[j*len(CFL)+i][1])) speed.append(abs(data[j*len(CFL)+i][2])) phase_shift.append(abs(data[j*len(CFL)+i][3])) plt.loglog(resolution,porosity,color=colors.color(4), marker=colors.marker(1),label='$e_\phi$') plt.loglog(resolution,pressure,color=colors.color(5), marker=colors.marker(1),label='$e_p$') plt.loglog(resolution,speed,color=colors.color(6), marker=colors.marker(1),label='$e_c$') plt.xlim([3, 0.25]) plt.ylim([4e-3,0.4]) plt.xlabel("Resolution in m") plt.ylabel("Relative errors") plt.grid(True, which='both') plt.legend(loc = "center left",prop=prop) plt.savefig('solitary_wave_error.pdf', #bbox_extra_artists=(legend,), bbox_inches='tight',dpi=200)
data = [] data.append(np.genfromtxt(file_name,delimiter=' ', dtype = float)) angle=[] analytical=[] numerical=[] end=len(data[0]) # data to plot for j in range(0,end): angle.append(data[0][j][0]*180/math.pi) analytical.append(data[0][j][1]) numerical.append(data[0][j][2]) plt.plot(angle[0:end],numerical[0:end]," ",color=colors.color(3), marker=colors.marker(1), label='numerical') plt.plot(angle[0:end],analytical[0:end],"--", color="black", marker="x", mew=1.5, ms=4, label='analytical') plt.xlim([-5, 185]) #plt.ylim([4e-3,0.4]) plt.xlabel("Initial band angle in $^{\circ}$") plt.ylabel("Melt band growth rate $\dot s$ in s$^{-1}$") plt.xticks([0,45,90,135,180]) plt.grid(True) plt.legend(loc = "lower left",prop=prop) plt.savefig('growth_rate_angle.pdf', #bbox_extra_artists=(legend,), bbox_inches='tight',dpi=200)
dofs = [] error = [] resolution = [] # data to plot for i in range(0, len(file_name)): for j in range(0, 6): dofs.append(abs(data[i][j][0])) error.append(abs(data[i][j][1])) resolution.append(3000. / abs(data[i][j][0])) plt.loglog(dofs[0:6], error[0:6], color=colors.color(1), marker=colors.marker(1), label='$k=8\pi \cdot 10^3$ m$^{-1}$') plt.loglog(dofs[7:12], error[7:12], color=colors.color(3), marker=colors.marker(1), label='$k=16\pi \cdot 10^3$ m$^{-1}$') plt.loglog(dofs[0:6], resolution[0:6], "--", color="black", label='$\mathcal{O}(h^2)$') plt.xlim([2e7, 3000]) #plt.ylim([4e-3,0.4]) plt.xlabel("Degrees of freedom")