pythtb.TBModel.cut_piece#
- TBModel.cut_piece(num_cells, periodic_dir, glue_edges=False)[source]#
Cut a (d-1)-dimensional piece out of a d-dimensional tight-binding model.
Constructs a (d-1)-dimensional tight-binding model out of a d-dimensional one by repeating the unit cell a given number of times along one of the periodic lattice vectors.
- Parameters:
- num_cellsint
How many times to repeat the unit cell.
Changed in version 2.0.0: Renamed from
numfor clarity.- periodic_dirint
Index of the periodic lattice vector along which to make the system finite.
Changed in version 2.0.0: Renamed from
fin_dirfor clarity.- glue_edgesbool, optional
If True, allow hoppings from one edge to the other of a cut model.
- Returns:
- cut_modelTBModel
Object of type
pythtb.TBModelrepresenting a cutout tight-binding model.
See also
- Hybrid Wannier functions in cubic slab
For an example
- Three-site Thouless pump
For an example
Notes
Orbitals in
cut_modelare numbered so that the i-th orbital of the n-th unit cell has indexi + norb * n(here norb is the number of orbitals in the original model).The real-space lattice vectors of the returned model are the same as those of the original model; only the dimensionality of reciprocal space is reduced.
Examples
Construct two-dimensional model B out of three-dimensional model A by repeating model along second lattice vector ten times
>>> A = TBModel(Lattice([[1.0, 0.0, 0.0], ... [0.0, 1.0, 0.0], ... [0.0, 0.0, 1.0]], ...)) >>> B = A.cut_piece(10, 1)
Further cut two-dimensional model B into one-dimensional model A by repeating unit cell twenty times along third lattice vector and allow hoppings from one edge to the other
>>> C = B.cut_piece(20, 2, glue_edges=True)