Skip to main content

bistritzer_macdonald_kernel

Function bistritzer_macdonald_kernel 

Source
pub fn bistritzer_macdonald_kernel(
    twist_angle: TwistAngle,
    interlayer_coupling: Energy,
    fermi_velocity: Speed,
    k_point: Momentum,
    shell_cutoff: usize,
) -> Result<CausalTensor<Complex<f64>>, PhysicsError>
Expand description

Constructs the Bistritzer-MacDonald Continuum Hamiltonian for Twisted Bilayer Graphene (TBG).

This kernel implements the continuum model for TBG at small twist angles, constructing the Moiré Hamiltonian in a plane-wave basis. It captures the interplay between the intralayer Dirac cones and the spatially modulated interlayer tunneling potential.

§Physical Model

The Hamiltonian is constructed in the basis of Dirac spinors from the two layers, coupled by interlayer tunneling matrices $T_j$.

$$ H = \begin{pmatrix} H_1(\mathbf{k}) & U(\mathbf{r}) \ U^\dagger(\mathbf{r}) & H_2(\mathbf{k}) \end{pmatrix} $$

In momentum space, the tunneling potential $U(\mathbf{r})$ scatters states between Moiré momentum shells.

§Implementation Details

  • Basis Structure: The Hamiltonian is returned as a block matrix.
    • Block (0,0): Layer 1 Dirac cone at the input $\mathbf{k}$.
    • Block (j,j): Layer 2 Dirac cones shifted by the Moiré reciprocal vectors $\mathbf{q}_j$.
    • Off-diagonal Blocks: Constant tunneling matrices $T_j$ connecting the shells.
  • Cutoff: Currently supports shell_cutoff = 1, which includes the central cone and the first shell of 3 nearest-neighbor cones in the Moiré Brillouin Zone.
  • Dimensions: Returns an $8 \times 8$ complex tensor (matrix) representing the coupled spinor states.

§Arguments

  • twist_angle - Moiré twist angle $\theta$ (in radians).
  • interlayer_coupling - Tunneling energy amplitude $w$ (in Joules or eV).
  • fermi_velocity - Monolayer graphene Fermi velocity $v_F$ (in m/s).
  • k_point - Momentum vector $\mathbf{k}$ in the Moiré Brillouin Zone (relative to the $\Gamma$ point).
  • shell_cutoff - Number of shells to include in the basis expansion (Must be 1).

§Returns

  • Result<CausalTensor<Complex<f64>>, PhysicsError> - The Hamiltonian matrix.

§Errors

  • CalculationError - If shell_cutoff is not 1.