CASM  1.1.0
A Clusters Approach to Statistical Mechanics
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)