Source code for pythtb.models.checkerboard

from pythtb import TBModel, Lattice


[docs] def checkerboard(delta, t) -> TBModel: r"""Checkerboard tight-binding model. .. versionadded:: 2.0.0 This function creates a checkerboard tight-binding model with the specified hopping parameters and on-site energy. The model is defined on a 2D square lattice with two sublattices. The lattice vectors are given by, .. math:: \mathbf{a}_1 = (1, 0), \quad \mathbf{a}_2 = (0, 1) and the orbital positions are given by, .. math:: \mathbf{\tau}_1 = \left(0, 0\right), \quad \mathbf{\tau}_2 = \left(\frac{1}{2}, \frac{1}{2}\right) The second-quantized Hamiltonian can be written as: .. math:: H = t \sum_{\langle i,j \rangle} (c_i^\dagger c_j + \text{h.c.}) + \Delta \sum_i n_i Parameters ---------- t : float Nearest neighbor hopping amplitude. delta : float On-site energy. Positive for one sublattice, negative for the other. Returns ------- TBModel An instance of the model. """ lat_vecs = [[1, 0], [0, 1]] orb_vecs = [[0, 0], [1 / 2, 1 / 2]] lat = Lattice(lat_vecs, orb_vecs, periodic_dirs=[0, 1]) model = TBModel(lattice=lat, spinful=False) # set on-site energies model.set_onsite([-delta, delta], mode="set") model.set_hop(t, 1, 0, [0, 0]) model.set_hop(t, 1, 0, [1, 0]) model.set_hop(t, 1, 0, [0, 1]) model.set_hop(t, 1, 0, [1, 1]) return model