14 struct MakeInvariantSubgroup {
15 MakeInvariantSubgroup() {}
17 template <
typename SymOpIterator,
typename SymOpOutputIterator>
18 SymOpOutputIterator operator()(
const Supercell &scel, SymOpIterator begin,
20 SymOpOutputIterator result) {
22 scel.lattice(), result);
33 scel.canonical_form(), scel.prim().point_group().begin(),
34 scel.prim().point_group().end(), MakeInvariantSubgroup()) {}
Enumerate over all equivalents.
static const std::string enumerator_name
ScelEnumEquivalents(const Supercell &scel)
Represents a supercell of the primitive parent crystal structure.
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
SymGroup invariant_subgroup(const SymGroup &super_group, const xtal::Lattice &lat)
Returns the subgroup of the given group that keeps the lattice invariant.