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 num for 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_dir for 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.TBModel representing a cutout tight-binding model.

Notes

  • Orbitals in cut_model are numbered so that the i-th orbital of the n-th unit cell has index i + 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)