TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
triqs::experimental::lattice::superlattice

#include <triqs/experimental/lattice/superlattice.hpp>

Detailed Description

Representation of a superlattice built on top of an underlying Bravais lattice.

A superlattice is defined by its unit vectors, expressed in the coordinates of the underlying lattice, and a set of cluster points that enumerate the underlying-lattice sites contained in one superlattice unit cell. It stores the transformation matrix from lattice to superlattice coordinates and is used to fold lattice functions onto the superlattice.

Definition at line 26 of file superlattice.hpp.

Public Member Functions

 superlattice (nda::array< long, 2 > sl_units, nda::array< long, 2 > cluster_pts)
 Construct a superlattice from its unit vectors and cluster points.
long dim () const
 Get the dimension of the superlattice.
auto const & get_cluster_pts () const
 Get the cluster points of the superlattice.
auto const & get_sl_units () const
 Get the unit vectors of the superlattice.
std::optional< nda::vector< long > > L_to_SL (nda::vector< long > const &r_l, double epsilon=1.e-12) const
 Transform a point from lattice coordinates to superlattice coordinates.
long n_cluster_sites () const
 Get the number of cluster sites in one superlattice unit cell.

Constructor & Destructor Documentation

◆ superlattice()

triqs::experimental::lattice::superlattice::superlattice ( nda::array< long, 2 > sl_units,
nda::array< long, 2 > cluster_pts )

Construct a superlattice from its unit vectors and cluster points.

Parameters
sl_unitsUnit vectors of the superlattice of shape (2, 2) or (3, 3), where sl_units[a, :] is the \( a \)-th unit vector in the coordinates of the underlying lattice.
cluster_ptsCluster points, i.e. the underlying-lattice sites of one superlattice unit cell, given in lattice coordinates.

Definition at line 20 of file superlattice.cpp.

Member Function Documentation

◆ dim()

long triqs::experimental::lattice::superlattice::dim ( ) const
inline

Get the dimension of the superlattice.

Returns
Dimension of the superlattice, either 2 or 3.

Definition at line 64 of file superlattice.hpp.

◆ get_cluster_pts()

auto const & triqs::experimental::lattice::superlattice::get_cluster_pts ( ) const
inline

Get the cluster points of the superlattice.

Returns
Const reference to the set of cluster points in lattice coordinates.

Definition at line 57 of file superlattice.hpp.

◆ get_sl_units()

auto const & triqs::experimental::lattice::superlattice::get_sl_units ( ) const
inline

Get the unit vectors of the superlattice.

Returns
Const reference to the matrix of superlattice unit vectors, where row \( a \) is the \( a \)-th unit vector in lattice coordinates.

Definition at line 50 of file superlattice.hpp.

◆ L_to_SL()

std::optional< nda::vector< long > > triqs::experimental::lattice::superlattice::L_to_SL ( nda::vector< long > const & r_l,
double epsilon = 1.e-12 ) const

Transform a point from lattice coordinates to superlattice coordinates.

Parameters
r_lPoint in lattice coordinates.
epsilonTolerance used to decide whether the transformed point lies on the superlattice.
Returns
Point in superlattice coordinates if r_l lies on the superlattice, otherwise an empty optional.

Definition at line 34 of file superlattice.cpp.

◆ n_cluster_sites()

long triqs::experimental::lattice::superlattice::n_cluster_sites ( ) const
inline

Get the number of cluster sites in one superlattice unit cell.

Returns
Number of cluster sites.

Definition at line 71 of file superlattice.hpp.


The documentation for this class was generated from the following files: