|
TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
|
#include <triqs/experimental/lattice/superlattice.hpp>
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. | |
| 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.
| sl_units | Unit 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_pts | Cluster points, i.e. the underlying-lattice sites of one superlattice unit cell, given in lattice coordinates. |
Definition at line 20 of file superlattice.cpp.
|
inline |
Get the dimension of the superlattice.
Definition at line 64 of file superlattice.hpp.
|
inline |
Get the cluster points of the superlattice.
Definition at line 57 of file superlattice.hpp.
|
inline |
Get the unit vectors of the superlattice.
Definition at line 50 of file superlattice.hpp.
| 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.
| r_l | Point in lattice coordinates. |
| epsilon | Tolerance used to decide whether the transformed point lies on the superlattice. |
Definition at line 34 of file superlattice.cpp.
|
inline |
Get the number of cluster sites in one superlattice unit cell.
Definition at line 71 of file superlattice.hpp.