Exemple #1
0
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')