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
# 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)
# 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
# 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)
# 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)