triqs.lattice.super_lattice.TBSuperLattice

class triqs.lattice.super_lattice.TBSuperLattice(tb_lattice, super_lattice_units, cluster_sites=None, remove_internal_hoppings=False)[source]

Builds a superlattice on top of a base TBLattice.

Parameters:
  • tb_lattice (TBLattice instance) – The base tight binding lattice.

  • super_lattice_units (ndarray (2D)) – The unit vectors of the superlattice in the tb_lattice (integer) coordinates.

  • cluster_sites – Coordinates of the cluster in tb_lattice coordinates. If None, an automatic computation of cluster positions is made as follows: it takes all points whose coordinates in the basis of the superlattice are in [0, 1[^dimension.

  • remove_internal_hoppings (bool) – If true, the hopping terms are removed inside the cluster. Useful to add Hartree Fock terms at the boundary of a cluster, e.g.

Methods

__init__(tb_lattice, super_lattice_units[, ...])

param units:

Basis vectors for the real space lattice.

change_coordinates_L_to_SL(x)

Given a point on the tb_lattice in lattice coordinates, returns its coordinates (R, alpha) in the Superlattice

change_coordinates_SL_to_L(R, alpha)

Given a point in the supercell R, site (number) alpha, it computes its position on the tb_lattice in lattice coordinates

cluster_sites()

Generate the position of the cluster site in the tb_lattice coordinates.

dispersion(arg)

Evaluate the dispersion relation for a momentum vector k in units of the reciprocal lattice vectors

fold(D1[, remove_internal, create_zero])

Input: a function r-> f(r) on the tb_lattice given as a dictionnary Output: the function R-> F(R) folded on the superlattice.

fourier(arg)

Evaluate the fourier transform for a momentum vector k in units of the reciprocal lattice vectors

get_kmesh(n_k)

Return a mesh on the Brillouin zone with a given discretization

get_rmesh(n_r)

Return a mesh on the Bravais lattice with a given periodicity

hopping(k)

hopping_dict()

lattice_to_real_coordinates(x)

Signature : (r_t x) -> r_t Transform into real coordinates.

pack_index_site_orbital(n_site, n_orbital)

nsite and n_orbital must start at 0

unpack_index_site_orbital(index)

Inverse of pack_index_site_orbital

Attributes

NOrbitalsInUnitCell

OrbitalNames

OrbitalPositions

Units

hoppings

n_orbitals

Number of orbitals in the unit cell

ndim

Number of dimensions of the lattice

orbital_names

The list of orbital names

orbital_positions

The list of orbital positions

units

Number of dimensions of the lattice