([1, +1], 'A', 'A', t_nn), ([1, +1], 'B', 'B', t_nn), ([1, -2], 'A', 'A', t_nn), ([1, -2], 'B', 'B', t_nn), ) lat.min_neighbors = 2 return lat lattice = graphene(nearest_neighbors=3) lx = int(sys.argv[1]) ly = int(sys.argv[2]) domain_decompose_1 = int(sys.argv[3]) domain_decompose_2 = int(sys.argv[4]) num_moments = int(sys.argv[5]) emin, emax = -3.01 * np.abs(t) - 6 * t_nn, 3.01 * np.abs(t) + 6 * t_nn configuration = kite.Configuration(divisions=[domain_decompose_1, domain_decompose_2], length=[lx, ly], boundaries=[True, True], is_complex=False, precision=1, spectrum_range=[emin, emax]) calculation = kite.Calculation(configuration) calculation.dos(num_points=1000, num_moments=num_moments, num_random=1, num_disorder=1) name = 'dos_gr_nnn.h5' kite.config_system(lattice, configuration, calculation, filename=name)
# Add sublattices lat.add_sublattices( # name, position, and onsite potential ('A', [0, 0], onsite[0]) ) # Add hoppings lat.add_hoppings( ([1, 0], 'A', 'A', - 1), ([0, 1], 'A', 'A', - 1) ) return lat # load a square lattice lattice = square_lattice([0]) # number of decomposition parts in each direction of matrix. This divides the lattice into various sections, # each of which is calculated in parallel nx = ny = 2 # number of unit cells in each direction. lx = 256 ly = 256 configuration = kite.Configuration(divisions=[nx, ny], length=[lx, ly], boundaries=[True, True], is_complex=False, precision=1, spectrum_range=[-4.1,4.1]) calculation_ldos = kite.Calculation(configuration) calculation_ldos.ldos(energy=np.linspace(-1, 1, 100), num_moments=32, num_disorder=1, position=[4,3], sublattice='A') kite.config_system(lattice, configuration, calculation_ldos, filename='config.h5')
def square_lattice(onsite=(0, 0)): a1 = np.array([1, 0]) a2 = np.array([0, 1]) lat = pb.Lattice(a1=a1, a2=a2) lat.add_sublattices(('A', [0, 0], onsite[0])) lat.add_hoppings( ([1, 0], 'A', 'A', - 1), ([0, 1], 'A', 'A', - 1) ) return lat nx = ny = 4 lx = ly = 256 moments = 512 lattice = square_lattice() configuration = kite.Configuration(divisions=[nx, ny], length=[lx, ly], boundaries=[True, True], is_complex=True, precision=1, spectrum_range=[-4.1,4.1]) b1, b2 = lattice.reciprocal_vectors() Gamma = [0, 0] K1 = b1[0:2] + b2[0:2] points = [Gamma, K1] k_path = pb.results.make_path(*points, step=0.01) calculation_arpes = kite.Calculation(configuration) calculation_arpes.arpes(k_vector=k_path, num_moments=moments, num_disorder=1) kite.config_system(lattice, configuration, calculation_arpes, filename='config.h5')