def system_Haldane_TBmodels_sym(tbmodels_Haldane): """Create system for Fe using Tbmodels""" # Load system system = wberri.System_TBmodels(tbmodels_Haldane, berry=True, use_wcc_phase=True)#,periodic=(True,True,False)) system.set_symmetry(["C3z"]) return system
def system_Haldane_TBmodels(tbmodels_Haldane): # Load system system = wberri.System_TBmodels(tbmodels_Haldane, berry=True, use_wcc_phase=False)#,periodic=(True,True,False)) # with the 2D TBmodel, the periodicity is detected automatically return system
haldane.add_hop(t1, 1, 0, [ 1, 0]) haldane.add_hop(t1, 1, 0, [ 0, 1]) # add second neighbour complex hoppings haldane.add_hop(t2 , 0, 0, [ 0, -1]) haldane.add_hop(t2 , 0, 0, [ 1, 0]) haldane.add_hop(t2 , 0, 0, [ -1, 1]) haldane.add_hop(t2 , 1, 1, [ -1, 0]) haldane.add_hop(t2 , 1, 1, [ 1,-1]) haldane.add_hop(t2 , 1, 1, [ 0, 1]) return haldane # Define the model for a fixed set of parameters haldane=HaldaneTB(2,1,1/3,np.pi/10) # Call the interface for TBmodels to define the system class syst=wb.System_TBmodels(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="tbmodels_Haldane" num_iter=10 wb.integrate(syst, grid=grid, Efermi=Efermi, smearEf=300, # 10K quantities=q_int, numproc=8,
haldane.add_hop(t1, 1, 0, [0, 1]) # add second neighbour complex hoppings haldane.add_hop(t2, 0, 0, [0, -1]) haldane.add_hop(t2, 0, 0, [1, 0]) haldane.add_hop(t2, 0, 0, [-1, 1]) haldane.add_hop(t2, 1, 1, [-1, 0]) haldane.add_hop(t2, 1, 1, [1, -1]) haldane.add_hop(t2, 1, 1, [0, 1]) return haldane # Define the model for a fixed set of parameters haldane = HaldaneTB(2, 1, 1 / 3, np.pi / 10) # Call the interface for TBmodels to define the system class syst = wb.System_TBmodels(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 = "tbmodels_Haldane" num_iter = 10 wb.integrate( syst, grid=grid, Efermi=Efermi, smearEf=300, # 10K quantities=q_int,
Es= 4.5 # site energy t =-1.4 # hopping parameter r0=np.array([-0.5, 0.5, 0.5]) r1=np.array([ 0.5,-0.5, 0.5]) r2=np.array([ 0.5, 0.5,-0.5]) uc=np.array([r0,r1,r2])# in rows cc=True tbmodel = tb.Model(on_site=[Es], dim=3, occ=1, pos=[[0.0,0.0,0.0]],uc=uc,contains_cc=cc) # 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]): tbmodel.add_hop(t, 0, 0, R) system=wb.System_TBmodels(tbmodel,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='tbmodelsLi' q_int=['dos','cumdos','conductivity_ohmic','conductivity_ohmic_fsurf'] num_iter=30 grid=wb.Grid(system,length=200,NKFFT=20)
uc = np.array([r0, r1, r2]) # in rows cc = True tbmodel = tb.Model(on_site=[Es], dim=3, occ=1, pos=[[0.0, 0.0, 0.0]], uc=uc, contains_cc=cc) # 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]): tbmodel.add_hop(t, 0, 0, R) system = wb.System_TBmodels(tbmodel, 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 = 'tbmodelsLi' q_int = ['dos', 'cumdos', 'conductivity_ohmic', 'conductivity_ohmic_fsurf'] num_iter = 30 grid = wb.Grid(system, length=600, NKFFT=40)