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