kwant.continuum.discretize_landau

kwant.continuum.discretize_landau#

kwant.continuum.discretize_landau(hamiltonian, N, momenta=None, grid_spacing=1)[source]#

Discretize a Hamiltonian in a basis of Landau levels.

Parameters:
  • hamiltonian (str or sympy expression)

  • N (positive integer) – The number of Landau levels in the basis.

  • momenta (sequence of str (optional)) – The momenta defining the plane perpendicular to the magnetic field. If not provided, “k_x” and “k_y” are used.

  • grid_spacing (float, default: 1) – The grid spacing to use when discretizing the normal direction (parallel to the magnetic field).

Returns:

builder – ‘hamiltonian’ discretized in a basis of Landau levels in the plane defined by ‘momenta’. If a third coordinate is present in ‘hamiltonian’, then this also has a translational symmetry in that coordinate direction. The builder has a parameter ‘B’ in addition to any other parameters present in the provided ‘hamiltonian’.

Return type:

Builder

Notes

The units of magnetic field are \(ϕ₀ / 2 π a²\) with \(ϕ₀ = h/e\) the magnetic flux quantum and \(a\) the unit length.