a = 0.24595 # [nm] unit cell length a_cc = 0.142 # [nm] carbon-carbon distance t = -3.033 # [eV] nearest neighbour hopping def monolayer_graphene(): # create a lattice with 2 primitive vectors lat = pb.Lattice( a1=[a/2, a/2 * sqrt(3)], a2=[a/2, -a/2 * sqrt(3)] ) lat.add_sublattices( # name and position ('A', [0, -a_cc/2]), ('B', [0, a_cc/2]) ) lat.add_hoppings( # inside the main cell ([0, 0], 'A', 'B', t), # between neighboring cells ([0, 1], 'A', 'B', t), ([-1, 0], 'A', 'B', t), ) return lat lattice = monolayer_graphene() model = pb.Model(monolayer_graphene(),pb.translational_symmetry()) model.plot(site={'radius': 0.02, 'cmap': ['blue', 'red']},\ hopping={'width': 1, 'cmap': ['grey']}) model.lattice.plot_vectors(position=[0,0]) # For the brillouin zone model.lattice.plot_brillouin_zone()