triqs.lattice.super_lattice.TBSuperLattice

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

Bases: TBLattice

A tight-binding superlattice built on top of a base TBLattice.

Parameters:
tb_latticeTBLattice

The base tight-binding TBLattice.

super_lattice_unitsnumpy.ndarray

Two-dimensional (ndim, ndim) array giving the superlattice basis vectors in the tb_lattice (integer) coordinates.

cluster_siteslist of array-like of int, optional

Coordinates of the cluster in tb_lattice coordinates. If None, cluster positions are computed automatically as all points whose coordinates in the superlattice basis lie in [0, 1) along each dimension.

remove_internal_hoppingsbool, default False

If True, hopping terms inside the cluster are removed. Useful e.g. when adding Hartree-Fock terms at a cluster boundary.

Attributes

Norb

(int) Total number of orbitals in the supercell (n_orbitals * Ncluster_sites).

Ncluster_sites

(int) Number of sites in the cluster.

Methods

change_coordinates_L_to_SL(x)

Map a base-lattice point x (in lattice coordinates) to its superlattice coordinates (R, alpha).

change_coordinates_SL_to_L(R, alpha)

Map a superlattice point (R, alpha) to its position on the base lattice in lattice coordinates.

cluster_sites()

Yield each cluster-site position in base-lattice coordinates.

fold(D1[, remove_internal, create_zero])

Fold a real-space function defined on the base lattice onto the superlattice.

pack_index_site_orbital(n_site, n_orbital)

Combine a (site, orbital) index pair into a single superlattice orbital index.

unpack_index_site_orbital(index)

Split a superlattice orbital index back into a (n_site, n_orbital) pair (inverse of pack_index_site_orbital()).