Exemplo n.º 1
0
     6.12615     5.62330
     1.00000     1.00000
 n=6   2   1   E   135.64896     4.82387
     5.14075
     1.00000
%EndBlock PAO.Basis
""")

URLbase = "http://fisica.ehu.es/ag/siesta-psffiles/"
urllib.urlretrieve(URLbase + "Pb.psf", "Pb.psf") 

cell = Num.array([ [0.5,0.5,0.0], [0.5,0.0,0.5], [0.0,0.5,0.5]])
cell = 4.89*cell
atoms = ListOfAtoms([Atom('Pb', (0.0,0.0,0.0))], cell=cell, periodic=1)

for i in range(len(cutoffs)):
  cutoff = cutoffs[i]
  print i, cutoff
  a = Siesta(executable="$HOME/bin/siesta-2.6.9")          # Initialize object
###  a.SetOption("FilterCutoff"," 100.0 Ry")               # Optional Filtering
  a.SetOption("Meshcutoff", str(cutoff)+" Ry")
  a.SetOption("%include"," basis.fdf")
  energy[i], dum, dum2 = a.run(atoms)   # Run Siesta and get the (free)energy

#
# Plot
#
p.add(biggles.Curve(cutoffs[:],energy[:]))
p.show()
os.chdir(orig_dir) 
Exemplo n.º 2
0
f.close()
label = os.path.basename(pseudo_file[:-len(".psf")])

pseudo_file = os.path.abspath(pseudo_file)
print "Processing ", pseudo_file

print "Element label, symbol: ", label, symbol

a=10.0              # Default box length in Ang
cell=Num.array([(a, 0, 0),
      (0, a, 0),
      (0, 0, a)])

a = Siesta(executable="$HOME/bin/siesta-test")          # Initialize object

a.SetOption("DM.NumberPulay","3")
a.SetOption("DM.UseSaveDM","T")
a.SetOption("UseSaveDM","T")
a.SetOption("Meshcutoff", str(cutoff)+" Ry")
#
# Make sure that your fdf has been patched to allow long %include filenames
#
a.SetOption("%include",basis_file)

m=20             # Number of displacements to try
disps=Num.zeros(m,Num.Float)
energy=Num.zeros(m,Num.Float)

output_file=os.path.abspath(label+".eggbox."+str(cutoff))
print "The output will be in file: ", output_file