CASM  1.1.0
A Clusters Approach to Statistical Mechanics
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
SymTools.hh File Reference

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::sym
 
 CASM::xtal
 

Functions

xtal::Lattice & CASM::sym::apply (const xtal::SymOp &op, xtal::Lattice &lat)
 Apply SymOp to a Lattice. More...
 
xtal::Lattice CASM::sym::copy_apply (const xtal::SymOp &op, xtal::Lattice lat_copy)
 Copy and apply SymOp to a Lattice. More...
 
template<typename ExternSymOp >
xtal::Lattice CASM::sym::copy_apply (const ExternSymOp &op, const xtal::Lattice &lat)
 
std::vector< Index > CASM::xtal::invariant_subgroup_indices (const Lattice &lat, SymOpVector const &super_grp)
 Construct indices of the subgroup that leaves a lattice unchanged. More...
 
template<typename ExternSymOpVector >
std::vector< Index > CASM::xtal::invariant_subgroup_indices (const Lattice &lat, ExternSymOpVector const &super_grp)
 
template<typename OutputIt >
OutputIt CASM::xtal::invariant_subgroup_indices (const Lattice &lat, const std::vector< SymOp > &super_group, OutputIt result)
 Construct indices of the subgroup for which this->is_equivalent(copy_apply(op, *this)) More...
 
Lattice CASM::xtal::symmetrize (const Lattice &lat, const std::vector< SymOp > &enforced_group)
 Convert a Cartesian symmetry operation representation to fractional. More...
 
Lattice CASM::xtal::symmetrize (const Lattice &lat, double point_group_tolerance)
 Return a copy of the given lattice, which obeys the symmetry of its point group, when generated within the tolerance. More...
 
std::vector< SymOp > CASM::xtal::make_point_group (Lattice const &_lat)
 Populate. More...
 
std::vector< SymOp > CASM::xtal::make_point_group (Lattice const &_lat, double _tol)
 Populate. More...
 
template<typename Object , typename OpIterator >
std::pair< OpIterator, Eigen::Matrix3d > CASM::xtal::is_equivalent_superlattice (const Object &scel, const Object &unit, OpIterator begin, OpIterator end, double tol)
 
template<typename LatIterator , typename SymOpIterator >
Lattice CASM::xtal::make_equivalent_superduperlattice (LatIterator begin, LatIterator end, SymOpIterator op_begin, SymOpIterator op_end)
 returns Lattice that is smallest possible superlattice of all input Lattice More...
 
template<typename StructureType , typename ExternSymOpVector >
StructureType CASM::xtal::symmetrize (const StructureType &structure, const ExternSymOpVector &enforced_group)