def system_Haldane_PythTB_wcc(pythtb_Haldane):
    """Create system for Haldane model using PythTB"""
    # Load system
    system = wberri.System_PythTB(pythtb_Haldane, berry=True, use_wcc_phase=True)#,periodic=(True,True,False))

    return system
def system_Haldane_PythTB_sym(pythtb_Haldane):
    """Create system for Haldane model using PythTB"""
    # Load system
    system = wberri.System_PythTB(pythtb_Haldane, berry=True, use_wcc_phase=False)# ,periodic=(True,True,False))
    system.set_symmetry(["C3z"])
    return system
def system_Haldane_PythTB(pythtb_Haldane):
    """Create system for Haldane model using PythTB"""
    # Load system
    system = wberri.System_PythTB(pythtb_Haldane, berry=True, use_wcc_phase=False )#,periodic=(True,True,False)) # with the 2D PythTB model, the periodicity is detected automatically

    return system
    haldane.set_hop(t1, 1, 0, [ 1, 0])
    haldane.set_hop(t1, 1, 0, [ 0, 1])
# add second neighbour complex hoppings
    haldane.set_hop(t2 , 0, 0, [ 0, -1])
    haldane.set_hop(t2 , 0, 0, [ 1, 0])
    haldane.set_hop(t2 , 0, 0, [ -1, 1])
    haldane.set_hop(t2 , 1, 1, [ -1, 0])

    haldane.set_hop(t2 , 1, 1, [ 1,-1])
    haldane.set_hop(t2 , 1, 1, [ 0, 1])
    return haldane

# Define the model for a fixed set of parameters
haldane=HaldanePTB(2,1,1/3,np.pi/10)
# Call the interface for TBmodels to define the system class
syst=wb.System_PythTB(haldane,getAA=True)
Efermi=np.linspace(-4,6,1000)
# Define some symmetries
syst.set_symmetry(['C3z'])
# After defining the symmetries, create the grid class
grid=wb.Grid(syst,NK=(200,200,1))
# Define which quantities are going to be integrated
q_int=["dos","ahc"]
seedname="pythtb_Haldane"
num_iter=10
wb.integrate(syst,
            grid=grid,
            Efermi=Efermi,
            smearEf=300,
            quantities=q_int,
            numproc=8,
Example #5
0
    haldane.set_hop(t1, 1, 0, [0, 1])
    # add second neighbour complex hoppings
    haldane.set_hop(t2, 0, 0, [0, -1])
    haldane.set_hop(t2, 0, 0, [1, 0])
    haldane.set_hop(t2, 0, 0, [-1, 1])
    haldane.set_hop(t2, 1, 1, [-1, 0])

    haldane.set_hop(t2, 1, 1, [1, -1])
    haldane.set_hop(t2, 1, 1, [0, 1])
    return haldane


# Define the model for a fixed set of parameters
haldane = HaldanePTB(2, 1, 1 / 3, np.pi / 10)
# Call the interface for TBmodels to define the system class
syst = wb.System_PythTB(haldane, berry=True, morb=True)
Efermi = np.linspace(-4, 6, 1000)
# Define some symmetries
syst.set_symmetry(['C3z'])
# After defining the symmetries, create the grid class
grid = wb.Grid(syst, NK=(200, 200, 1), NKFFT=(20, 20, 1))
# Define which quantities are going to be integrated
q_int = ["dos", "ahc", "Morb"]
seedname = "pythtb_Haldane"
num_iter = 10
wb.integrate(syst,
             grid=grid,
             Efermi=Efermi,
             smearEf=300,
             quantities=q_int,
             numproc=8,
Example #6
0
my_model=ptb.tb_model(3,3,lat,orb)

# set model parameters
# lattice parameter implicitly set to a=1
Es= 4.5    # site energy
t =-1.4   # hopping parameter

# set on-site energy
my_model.set_onsite([Es])
# set hoppings along four unique bonds
# note that neighboring cell must be specified in lattice coordinates
for R in ([1,0,0],[0,1,0],[0,0,1],[1,1,1]):
    my_model.set_hop(t, 0, 0, R)


system=wb.System_PythTB(my_model,berry=True)
Efermi=np.linspace(-7,16,1000)
# Define the generators of the point group of the crystal (Im-3m)
# generators extracted from Bilbao Crystallographic Center
# (using same notation as https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-point_genpos?w2do=gens&num=32&what=)
# C2z axis (predefined): ITA200z=SYM.Rotation(2,[0,0,1])
# C2y axis (predefined): ITA20y0=SYM.Rotation(2,[0,1,0])
# Inversion (predefined)
ITA3M111=SYM.Rotation(3,[1,1,1])# C3 axis along 111
ITA2xx0=SYM.Rotation(2,[1,1,0])# C2 axis along 110
generators=['C2z','C2y','Inversion',ITA3M111,ITA2xx0]
system.set_symmetry(generators)
seedname='pythtbLi'
q_int=['dos','cumdos','conductivity_ohmic','conductivity_ohmic_fsurf']
num_iter=1
grid=wb.Grid(system,length=200,NKFFT=20)
# make 3D model
my_model = ptb.tb_model(3, 3, lat, orb)

# set model parameters
# lattice parameter implicitly set to a=1
Es = 4.5  # site energy
t = -1.4  # hopping parameter

# set on-site energy
my_model.set_onsite([Es])
# set hoppings along four unique bonds
# note that neighboring cell must be specified in lattice coordinates
for R in ([1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 1, 1]):
    my_model.set_hop(t, 0, 0, R)

system = wb.System_PythTB(my_model, getAA=True)
Efermi = np.linspace(-7, 16, 5000)
# Define the generators of the point group of the crystal (Im-3m)
# generators extracted from Bilbao Crystallographic Center
# (using same notation as https://www.cryst.ehu.es/cgi-bin/cryst/programs/nph-point_genpos?w2do=gens&num=32&what=)
# C2z axis (predefined): ITA200z=SYM.Rotation(2,[0,0,1])
# C2y axis (predefined): ITA20y0=SYM.Rotation(2,[0,1,0])
# Inversion (predefined)
ITA3M111 = SYM.Rotation(3, [1, 1, 1])  # C3 axis along 111
ITA2xx0 = SYM.Rotation(2, [1, 1, 0])  # C2 axis along 110
generators = ['C2z', 'C2y', 'Inversion', ITA3M111, ITA2xx0]
system.set_symmetry(generators)
seedname = 'pythtbLi'
q_int = ['dos', 'cumdos', 'conductivity_ohmic', 'conductivity_ohmic_fsurf']
num_iter = 30
grid = wb.Grid(system, length=600, NKFFT=40)