CASM  1.1.0
A Clusters Approach to Statistical Mechanics
Superlattice.hh
Go to the documentation of this file.
1 #ifndef XTAL_SUPERLATTICE_HH
2 #define XTAL_SUPERLATTICE_HH
3 
5 
6 namespace CASM {
7 namespace xtal {
8 class Superlattice {
9  private:
14 
16 
17  public:
18  const Lattice &superlattice() const { return m_superlattice; }
19 
20  const Lattice &prim_lattice() const { return m_primitive_lattice; }
21 
26  }
27 
30  Index size() const { return m_size; }
31 
32  Superlattice(const Lattice &tiling_unit, const Lattice &superlattice);
33  Superlattice(const Lattice &tiling_unit,
34  const Eigen::Matrix3l &transformation_matrix);
35 
40  static Superlattice smooth_prim(const Lattice &tiling_unit,
41  const Lattice &superlattice);
42 
43  // TODO: Implement the day you need it.
48  /* static Superlattice smooth_superlattice(const Lattice &tiling_unit, const
49  * Lattice &superlattice); */
50 };
51 
52 } // namespace xtal
53 } // namespace CASM
54 
55 #endif
const Lattice & prim_lattice() const
Definition: Superlattice.hh:20
Eigen::Matrix3l m_transformation_matrix_to_super
Integer matrix that convers the primitive lattice into the superlattice.
Definition: Superlattice.hh:13
const Eigen::Matrix3l & transformation_matrix_to_super() const
Definition: Superlattice.hh:24
const Lattice & superlattice() const
Definition: Superlattice.hh:18
static Superlattice smooth_prim(const Lattice &tiling_unit, const Lattice &superlattice)
Definition: Superlattice.cc:22
Superlattice(const Lattice &tiling_unit, const Lattice &superlattice)
Definition: Superlattice.cc:5
Main CASM namespace.
Definition: APICommand.hh:8
INDEX_TYPE Index
For long integer indexing:
Definition: definitions.hh:39
Matrix< long int, 3, 3 > Matrix3l
Definition: eigen.hh:12