# 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_armchair_ribbon(2) # create geometry of a zigzag ribbon g = geometry.chain(2) # create geometry of a zigzag ribbon g.dimensionality = 0 g.write() h = g.get_hamiltonian() from pygra import ldos ldos.multi_ldos(h, projection="atomic")
# 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)
# 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)
n = 40 w = n / 2. # cutoff for the hopping g = geometry.chain(n) # chain g.dimensionality = 0 def ft(n): def f0(i1, i2): if abs(i1 - i2) == 1: i0 = (i1 + i2) / 2.0 / n # average return np.tanh(4. * i0**2) else: return 0. return f0 # return function f0 = ft(n) # function def f(r1, r2): i1 = g.get_index(r1) i2 = g.get_index(r2) return f0(i1, i2) h = g.get_hamiltonian(fun=f, has_spin=False) #h = g.get_hamiltonian(has_spin=False) ldos.multi_ldos(h, delta=2e-2, es=np.linspace(-0.5, 0.5, 300))