def PlotConvergence(filename): """ this function only serves to plot the energy vs. time for a calculation to visualize convergence. """ file,ext=os.path.splitext(filename) file=file+'.txt' try: f=open(file,'r') except: print "that text file (%s) doesn't exist!" % file sys.exit() regexp=re.compile('DFT:\s+\d+') times,energies=[],[] for line in f.readlines(): if regexp.search(line): fields=line.split() times.append(string.atof(fields[1])) energies.append(string.atof(fields[3])) data1=Data(x=times,y=energies) p=GracePlot() p.plot(data1)
data=Data(e,d+(7-i)*offset, line=Line(color=black), symbol=Symbol(symbol=None), legend='data') fdata=Data(ef,df+(7-i)*offset, line=Line(filltype=1, color=black, fillcolor=10-i), legend='fdata') DataSets.append(data) DataSets.append(fdata) p.plot(DataSets) p.xlabel('E-E\sF\N (eV)') p.ylabel('Density of States (arbitrary units)') p.xaxis(-10,5, label=Label(font=6), tick=Tick(TickLabel=TickLabel(font=6))) p.yaxis(0,35, label=Label(font=6), tick=Tick(TickLabel=TickLabel(font=6))) p._send('xaxis label font 6') for i in range(len(list)): p.text(labels[i],x=1.5,y=(7.0-i)*offset+0.5,charsize=1.5,font=6)
from Numeric import * ed=[-2.44, -2.60, -2.74, -2.84, -3.00, -3.12, -3.18, -3.16] ed.reverse() labels=['Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni' ,'Pt'] xvalues=range(len(ed)) p=GracePlot(3,4.0) p.SetView(xmin=0.15,xmax=0.95,ymin=0.12,ymax=1.2) d=Data(xvalues,ed, symbol=Symbol(symbol=circle,fillcolor=black,size=1.4), line=Line(linestyle=0)) p.plot(d) p.xaxis(tick=Tick(SpecialTicks=SpecialTicks((0, 'Ti'), (1, 'V'), (2, 'Cr'), (3, 'Mn'), (4, 'Fe'), (5, 'Co'), (6, 'Ni'), (7, 'Pt')))) p.text(x=0,y=-2.45,string='(a.)',font=2,charsize=1.6) p.redraw() p.xlabel('Subsurface Metal') p.ylabel('d-band center (eV)') p.save('figure_1a.eps') p.save('figure_1a.pdf') p.save('figure_1a.agr')