Beispiel #1
0
def geth(mu):
  g = geometry.honeycomb_zigzag_ribbon(10)
  h = g.get_hamiltonian(has_spin=True)
  
  
  def fm(r):
      if r[1]<(np.min(g.y)+2.0): return [0.6,0.,0.]
      else: return [0.,0.,0.]
  
  
#  def fd(r):
#      if r[1]>0.0: return 0.1
#      else: return 0.0
#  def ff(r):
#      if r[1]>0.0: return mu
#      return 0.0
  
  
  h.add_zeeman(fm)
  h.add_kane_mele(0.02)
  h.shift_fermi(mu)
  h.add_swave(0.0)
  return h
Beispiel #2
0
def geth(mu):
  g = geometry.honeycomb_zigzag_ribbon(10)
  h = g.get_hamiltonian(has_spin=True)
  
  
  def fm(r):
      if r[1]<(np.min(g.y)+2.0): return [0.6,0.,0.]
      else: return [0.,0.,0.]
  
  
#  def fd(r):
#      if r[1]>0.0: return 0.1
#      else: return 0.0
#  def ff(r):
#      if r[1]>0.0: return mu
#      return 0.0
  
  
  h.add_zeeman(fm)
  h.add_kane_mele(0.02)
  h.shift_fermi(mu)
  h.add_swave(0.0)
  return h
Beispiel #3
0
# Add the root path of the pygra library
import os
import sys
sys.path.append(os.path.dirname(os.path.realpath(__file__)) + "/../../../src")

# zigzag ribbon
from pygra import geometry
import numpy as np
g = geometry.honeycomb_zigzag_ribbon(50)  # create geometry of a zigzag ribbon
h = g.get_hamiltonian()  # create hamiltonian of the system
h.add_haldane(0.1)
from pygra import kdos

edge = np.zeros(h.intra.shape[0])
edge += 1.0
edge[10:edge.shape[0]] = 0.0
frand = lambda: (-0.5 + np.random.random(edge.shape[0])) * edge
kdos.kdos_bands(h, frand=frand)
Beispiel #4
0
# Add the root path of the pygra library
import os ; import sys ; sys.path.append(os.environ['PYGRAROOT'])

# zigzag ribbon
from pygra import geometry
g = geometry.honeycomb_zigzag_ribbon(10) # create geometry of a zigzag ribbon
h = g.get_hamiltonian(has_spin=True) # create hamiltonian of the system
def fr(r):
    if r[1]<0.0:  return 0.3
    else: return -0.3
h.add_rashba(fr)
h.get_bands() # calculate band structure
Beispiel #5
0
# Add the root path of the pygra library
import os ; import sys 
sys.path.append(os.path.dirname(os.path.realpath(__file__))+"/../../../src")





import numpy as np
from pygra import geometry
from pygra import ldos
g = geometry.honeycomb_zigzag_ribbon()
h = g.get_hamiltonian(has_spin=True)
ldos.multi_ldos(h,nk=4,es=np.linspace(-1,1,100),delta=0.1,nrep=3)






Beispiel #6
0
# Add the root path of the pygra library
import os ; import sys ; sys.path.append(os.environ['PYGRAROOT'])

import numpy as np
from pygra import geometry
from pygra import ldos
g = geometry.honeycomb_zigzag_ribbon()
h = g.get_hamiltonian(has_spin=True)
ldos.multi_ldos(h,nk=4,es=np.linspace(-1,1,100),delta=0.1,nrep=3)