예제 #1
0
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)
예제 #2
0
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")
예제 #3
0
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:
예제 #4
0
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)

예제 #5
0
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)

예제 #8
0
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")