tbplas.RegularOrbitalMap

class tbplas.RegularOrbitalMap(dim: Tuple[int, int, int], num_orb_pc: int)

Similar to GeneralOrbitalMap, but the orbitals are generated using a 4-fold loops over dim_a, dim_b, dim_c and num_orb_pc.

_dim

dimension of supercell along a, b, c directions

Type:

Tuple[int, int, int]

_dim_bc

cached dim_b * dim_c, for speed boost

Type:

int

_num_orb_pc

number of orbitals in primitive cell

Type:

int

__init__(dim: Tuple[int, int, int], num_orb_pc: int) None
Parameters:
  • dim – dimension of supercell along a, b, c directions

  • num_orb_pc – number of orbitals in primitive cell

Methods

__init__(dim, num_orb_pc)

pc2sc(i_a, i_b, i_c, i_o)

Convert orbital index from pc to sc representation.

sc2pc(id_sc)

Convert orbital index from sc to pc representation.

__init__(dim: Tuple[int, int, int], num_orb_pc: int) None
Parameters:
  • dim – dimension of supercell along a, b, c directions

  • num_orb_pc – number of orbitals in primitive cell

pc2sc(i_a: int, i_b: int, i_c: int, i_o: int) int

Convert orbital index from pc to sc representation.

NOTE: For efficiency we do not accept id_pc_t as input argument as in GeneralOrbitalMap.

Parameters:
  • i_a – cell index along a direction

  • i_b – cell index along a direction

  • i_c – cell index along a direction

  • i_o – orbital index

Returns:

corresponding index in sc representation

sc2pc(id_sc: int) Tuple[int, int, int, int]

Convert orbital index from sc to pc representation. :param id_sc: index of the orbital :return: corresponding index in pc representation

__weakref__

list of weak references to the object