CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <SuperlatticeEnumerator.hh>
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 Lattice & | unit () const |
Access the unit the is being made into superlattices. More... | |
const SymOpVector & | point_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... | |