SimpleBZ
full name: tenpy.models.lattice.SimpleBZ
parent module:
tenpy.models.lattice
type: class
Inheritance Diagram
Methods
|
|
|
Checks whether given points lie inside the 1st Brillouin Zone. |
|
|
Short implementation of Lagrange's algorithm for 2D lattice reduction. |
|
|
|
|
Plot the brillouin zone of the lattice. |
|
Bring a set of points into 1st Brillouin Zone. |
Class Attributes and Properties
|
- class tenpy.models.lattice.SimpleBZ(vertices, basis, dim: int)[source]
Bases:
object
Helper class to provide an interface for the Brillouin Zone of a given lattice.
The Brillouin Zone is the Wigner-Seitz Cell of the reciprocal lattice. For a given lattice with basis vectors \(a_i\), the reciprocal lattice is generated by the reciprocal basis vectors \(b_i\), which obey \(a_i b_j = 2 \pi \delta_{i j}\).
- Parameters:
vertices (array_like) – a list of the vertices of the 1st BZ with shape (N, d) where d is the dimension and N the number of vertices.
basis (array_like) – the reciprocal basis of the real space lattice, i.e. the basis in reciprocal space
dim (int) – dimension of the Brillouin Zone
- contains_points(points) ndarray [source]
Checks whether given points lie inside the 1st Brillouin Zone.
- Parameters:
points (array_like) – points of shape (…, 2) for 2D or shape(…) for 1D that will be checked
- Returns:
boolean array of shape
points.shape[:-1]
if 2D or points.shape if 1D, indicating whether the corresponding point inpoints
is contained in the Brillouin Zone- Return type:
ndarray
- reduce_points(points)[source]
Bring a set of points into 1st Brillouin Zone.
This is done by applying multiples of the reciprocal basis vectors, for points that lie outside the 1st Brillouin Zone.
- Parameters:
points (array_like) – points to reduce given in the shape (…, 2) for 2D or (…) for 1D
- Returns:
reduced_points – of shape
points.shape
the array of the points now reduced to the 1st BZ- Return type:
ndarray
- plot_brillouin_zone(*args, **kwargs)[source]
Plot the brillouin zone of the lattice.
See
_plot_brillouin_zone_1d()
and_plot_brillouin_zone_2d()
.
- static lagrange_lattice_reduction(basis)[source]
Short implementation of Lagrange’s algorithm for 2D lattice reduction.
- Parameters:
basis (array_like) – basis of a lattice in reciprocal space, s.t. the basis vectors are
b1 = basis[0]
,b2 = basis[1]
- Returns:
out – the reduced basis. If \(\{i b_1 + j b_2 | i, j \in \mathbb{Z}\}\) define a lattice L, the reduced basis vectors will generate the same lattice, albeit being the shortest and “most orthogonal” ones to define the lattice
- Return type:
ndarray