CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::xtal::SuperlatticeEnumerator Class Reference

#include <SuperlatticeEnumerator.hh>

Detailed Description

A fake container of supercell matrices.

Provides iterators over symmetrically unique superlattices.

Definition at line 204 of file SuperlatticeEnumerator.hh.

Public Types

typedef long int size_type
 
typedef SuperlatticeIterator const_iterator
 

Public Member Functions

 SuperlatticeEnumerator (const Lattice &unit, const SymOpVector &point_grp, const ScelEnumProps &enum_props)
 Construct a SuperlatticeEnumerator using custom point group operations. More...
 
template<typename ExternSymGroupTypeIt >
 SuperlatticeEnumerator (ExternSymGroupTypeIt begin, ExternSymGroupTypeIt end, const Lattice &unit, const ScelEnumProps &enum_props)
 
const Latticeunit () const
 Access the unit the is being made into superlattices. More...
 
const SymOpVectorpoint_group () const
 Access the unit point group. More...
 
void begin_volume (size_type _begin_volume)
 Set the beginning volume. More...
 
size_type begin_volume () const
 Get the beginning volume. More...
 
void end_volume (size_type _end_volume)
 Set the end volume. More...
 
size_type end_volume () const
 Get the end volume. More...
 
const Eigen::Matrix3i & gen_mat () const
 Get the transformation matrix that's being applied to the unit vectors. More...
 
int dimension () const
 Get the dimensions of the enumerator (1D, 2D or 3D) More...
 
const_iterator begin () const
 A const iterator to the beginning volume, specify here how the iterator should jump through the enumeration. More...
 
const_iterator end () const
 A const iterator to the past-the-last volume. More...
 
const_iterator cbegin () const
 A const iterator to the beginning volume. More...
 
const_iterator cend () const
 A const iterator to the past-the-last volume. More...
 
const_iterator citerator (size_type volume) const
 A const iterator to a specified volume. More...
 

Private Attributes

const Lattice m_unit
 The unit cell of the supercells. More...
 
SymOpVector m_point_group
 The lattice of the unit cell. More...
 
const int m_begin_volume
 The first volume supercells to be iterated over (what cbegin uses) More...
 
const int m_end_volume
 The past-the-last volume supercells to be iterated over (what cend uses) More...
 
const Eigen::Matrix3i m_gen_mat
 This matrix (G) specifies new lattice vectors to enumerate over column-wise, such that the resulting transformation matrix is G*B, where B is the block matrix constructed out of the HermiteCounter matrix H. More...
 
const int m_dims
 The number of lattice directions the enumeration is being done in. More...
 

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