Ejemplo n.º 1
0
#STM simulation
tip = GPAW('tip')
srf = GPAW('srf')

h0, s0 = pickle.load(open('lead_hs.pckl'))
h1, s1 = pickle.load(open('tip_hs.pckl'))
h2, s2 = pickle.load(open('srf_hs.pckl'))

assert abs(h0.imag).max() < 1e-14
assert abs(s0.imag).max() < 1e-14
h0 = h0.real
s0 = h0.real

stm = STM(tip, srf,
          hs10=(h0[0], s0[0]),
          hs1=(h1[0], s1[0]),
          hs2=(h2[0], s2[0]),
          hs20=(h0[0], s0[0]),
          align_bf=0)

stm.set(dmin=5)
stm.initialize()

stm.scan()
stm.linescan()

if 0:
    stm.plot(repeat=[3, 3])

energy_tolerance = 0.0003
niter_tolerance = 0
equal(e1, -5.29095, energy_tolerance)
Ejemplo n.º 2
0
niter3 = calc.get_number_of_iterations()
calc.write('srf.gpw', region='surface', cvl=2)
dump_hs(calc, 'srf', region='surface', cvl=2)

#STM simulation
tip = GPAW('tip')
srf = GPAW('srf')

h0, s0 = pickle.load(open('lead_hs.pckl'))
h1, s1 = pickle.load(open('tip_hs.pckl'))
h2, s2 = pickle.load(open('srf_hs.pckl'))

stm = STM(tip,
          srf,
          hs10=(h0[0], s0[0]),
          hs1=(h1[0], s1[0]),
          hs2=(h2[0], s2[0]),
          hs20=(h0[0], s0[0]),
          align_bf=0)

stm.set(dmin=5)
stm.initialize()

stm.scan()
stm.linescan()

if 0:
    stm.plot(repeat=[3, 3])

energy_tolerance = 0.0003
niter_tolerance = 0
Ejemplo n.º 3
0
# tip data
tip = GPAW('tip', txt=None)
h1, s1 = pickle.load(open('tip_hs.pckl')) # h and s matrix
h10, s10 = pickle.load(open('tip_p_hs.pckl')) #principal layer h and s matrix

# surface data
srf = GPAW('srf', txt=None)
h2, s2 = pickle.load(open('srf_hs.pckl')) 
h20, s20 = pickle.load(open('srf_p_hs.pckl'))

# set up the stm-calculator
stm = STM(tip, srf,
          hs1=(h1[0], s1[0]),    # tip 
          hs10=(h10[0], s10[0]), # tip principal layer
          hs2=(h2[0], s2[0]),    # surface 
          hs20=(h20[0], s20[0]), # surface principal layer
          bias = 0.05,           # bias
          de = 0.05/7.,          # spacing of the energy grid at which the
                                 # Green's functions should be evaluated
          logfile='scan.log')    

stm.set(dmin=6) # set tip to surface distance
stm.initialize() 
stm.scan()

stm.linescan([[0, 0], [27, 27]]) # linescan along the [111] direction

# plot the current map and the linescan
stm.plot(label='I[nA]')

Ejemplo n.º 4
0
tip = GPAW('tip', txt=None)
h1, s1 = pickle.load(open('tip_hs.pckl'))  # h and s matrix
h10, s10 = pickle.load(open('tip_p_hs.pckl'))  #principal layer h and s matrix

# surface data
srf = GPAW('srf', txt=None)
h2, s2 = pickle.load(open('srf_hs.pckl'))
h20, s20 = pickle.load(open('srf_p_hs.pckl'))

# set up the stm-calculator
stm = STM(
    tip,
    srf,
    hs1=(h1[0], s1[0]),  # tip 
    hs10=(h10[0], s10[0]),  # tip principal layer
    hs2=(h2[0], s2[0]),  # surface 
    hs20=(h20[0], s20[0]),  # surface principal layer
    bias=0.05,  # bias
    de=0.05 / 7.,  # spacing of the energy grid at which the
    # Green's functions should be evaluated
    logfile='scan.log')

stm.set(dmin=6)  # set tip to surface distance
stm.initialize()
stm.scan()

stm.linescan([[0, 0], [27, 27]])  # linescan along the [111] direction

# plot the current map and the linescan
stm.plot(label='I[nA]')