1 #ifndef CASM_FillSupercell
2 #define CASM_FillSupercell
26 Supercell
const &supercell);
36 Configuration
const &motif,
37 std::shared_ptr<Supercell const>
const &shared_supercell);
48 Supercell
const &supercell);
56 SymOp
const &symop, Configuration
const &motif,
57 std::shared_ptr<Supercell const>
const &shared_supercell);
65 Configuration
fill_supercell(SymOp
const &symop, Configuration
const &motif,
66 Supercell
const &supercell);
69 template <
typename ConfigOutputIterator>
71 Configuration
const &configuration,
72 std::shared_ptr<Supercell const> shared_supercell,
73 ConfigOutputIterator result);
96 FillSupercell(std::shared_ptr<Supercell const>
const &_shared_supercell);
Supercell const * m_motif_supercell
const SymOp & symop() const
Returns the SymOp used by operator()
FillSupercell(std::shared_ptr< Supercell const > const &_shared_supercell)
Constructor.
SymOp const * m_symop_ptr
void _init(Supercell const &_motif_scel) const
Configuration operator()(Configuration const &motif) const
const SymOp * find_symop(xtal::Lattice const &_motif_lattice) const
Find first SymOp in the prim factor group such that apply(op, motif) can be used to fill the Supercel...
std::vector< std::vector< Index > > m_index_table
Supercell const * m_supercell_ptr
std::shared_ptr< Supercell const > m_shared_supercell
Represents a supercell of the primitive parent crystal structure.
SymOp is the Coordinate representation of a symmetry operation it keeps fraction (FRAC) and Cartesian...
Configuration fill_supercell(Configuration const &motif, std::shared_ptr< Supercell const > const &shared_supercell)
bool is_valid_sub_configuration(xtal::Lattice const &sub_configuration_lattice, Supercell const &supercell)
ConfigOutputIterator make_all_super_configurations(Configuration const &configuration, std::shared_ptr< Supercell const > shared_supercell, ConfigOutputIterator result)
Make all super configurations that fill a particular supercell.