Predefined example models#

Haldane model#

This module contains two equivalent functions that create an instance of the Haldane model with PythTB or TBmodels. The Haldane model is a tight-binding model describing spinless electrons hopping on a 2D honeycomb lattice with a staggered magnetic flux. The parameters of the model are the nearest-neighbor hopping \(t\), the on-site energy term \(\pm\Delta\) with opposite signs on the two sublattices and the second-nearest-neighbor hopping term \(t_2e^{i\phi}\). The Hamiltonian of the model reads:

\[\mathcal{H} = \Delta\sum_{i}\left( c_{i,A}^{\dagger}c_{i,A}-c_{i,B}^{\dagger}c_{i,B} \right) + t \sum_{\langle ij\rangle}c_i^{\dagger}c_j+t_2\sum_{\langle\langle ij\rangle\rangle} e^{i\nu_{ij}\phi}c_i^{\dagger}c_j + \mathrm{h.c.}\]

where \(\nu_{ij}=\pm 1\) is a factor accounting for the direction of the complex hopping.

strawberrypy.example_models.haldane.haldane_pythtb(delta, t, t2, phi)[source]#
strawberrypy.example_models.haldane.haldane_tbmodels(delta, t, t2, phi)[source]#

Kane-Mele model#

This module contains two equivalent functions that create an instance of the Kane-Mele model with PythTB or TBmodels. The Kane-Mele model is a tight-binding model describing spinful electrons hopping on a 2D honeycomb lattice with spin-orbit coupling and a Rashba term (breaking \(S_z\)-symmetry). The parameters of the model are the intensity of the diagonal spin-orbit coupling \(\lambda_{SO}\), the Rashba term \(\lambda_{R}\). The Hamiltonian of the model reads:

\[\mathcal{H} = \Delta\sum_{i}(-1)^{\tau_i}c_{i}^{\dagger}c_{i} + t \sum_{\langle ij\rangle}c_i^{\dagger}c_j+i\lambda_{SO}\sum_{\langle\langle ij\rangle\rangle} \nu_{ij}c_i^{\dagger}\sigma_zc_j + i\lambda_R\sum_{\langle ij\rangle}c_i^{\dagger}(\hat{\mathbf e}_{\langle ij\rangle}\cdot\boldsymbol\sigma)c_j + \mathrm{h.c.}\]

where \(\tau_i\in\{0,1\}\) is an index which distinguishes the two sublattices, \(\nu_{ij}=\pm 1\) accounts for the direction of the hoppings and \(\hat{\mathbf e}_{\langle ij\rangle}=\hat{\mathbf d}_{\langle ij\rangle}\times\hat{\mathbf z}\) where \(\hat{\mathbf d}_{\langle ij\rangle}\) is the unit vector in the direction from site \(i\) to site \(j\). In the Hamiltonian, the double sum on the spin indices is implied in each term, with the convention that if no spin matrices appear, they are contracted over the identity.

strawberrypy.example_models.kane_mele.kane_mele_pythtb(rashba, esite, spin_orb)[source]#
strawberrypy.example_models.kane_mele.kane_mele_tbmodels(rashba, esite, spin_orb)[source]#