8 #include <unordered_map>
102 const std::vector<xtal::Site> &
basis()
const {
110 explicit Structure(
const fs::path &filepath);
135 const Structure &struc, std::vector<xtal::Molecule> mol_list);
141 const Structure &struc, std::vector<std::string> mol_name_list);
147 const Structure &struc, std::vector<std::string> mol_name_list);
153 std::map<DoFKey, CASM::DoFSetInfo>
global_dof_info(Structure
const &_struc);
156 Structure
const &_struc);
158 class SupercellSymInfo;
160 Lattice
const &super_lattice);
Structure specifies the lattice and atomic basis of a crystal.
SymGroupRepID m_basis_perm_rep_ID
This holds the representation id of the permutation representation.
std::vector< SymGroupRepID > m_occupant_symrep_IDs
Hold the SymRepIDs for the occupant DoF, one for each of the basis sites.
const xtal::BasicStructure & structure() const
std::vector< std::map< DoFKey, SymGroupRepID > > site_dof_symrep_IDs() const
void _generate_global_symreps()
Obtain global dof symreps of factor_group.
const SymGroup & point_group() const
const Lattice & lattice() const
SymGroupRep const * basis_permutation_symrep() const
std::shared_ptr< const xtal::BasicStructure > m_structure_ptr
MasterSymGroup m_factor_group
const std::vector< xtal::Site > & basis() const
void generate_factor_group()
void _generate_basis_symreps()
SymGroupRepID global_dof_symrep_ID(const std::string dof_name) const
void _reset_site_dof_symrep_IDs()
void _fg_converge(SymGroup &factor_group, double small_tol, double large_tol, double increment)
std::vector< std::map< DoFKey, SymGroupRepID > > m_site_dof_symrep_IDs
void copy_attributes_from(const Structure &RHS)
copy all non-derived members
Structure & operator=(const Structure &RHS)
const MasterSymGroup & factor_group() const
SymGroupRepID basis_permutation_symrep_ID() const
const std::shared_ptr< const xtal::BasicStructure > & shared_structure() const
std::unordered_map< std::string, SymGroupRepID > m_global_dof_symrep_IDs
std::vector< SymGroupRepID > occupant_symrep_IDs() const
void _reset_occupant_symrep_IDs()
SymGroup is a collection of symmetry operations that satisfy the group property The symmetry operatio...
SymGroupRep is an alternative representation of a SymGroup for something other than real space....
Type-safe ID object for communicating and accessing Symmetry representation info.
BasicStructure specifies the lattice and atomic basis of a crystal.
const Lattice & lattice() const
const std::vector< Site > & basis() const
std::vector< std::vector< Index > > make_index_converter(const Structure &struc, std::vector< xtal::Molecule > mol_list)
std::vector< std::vector< Index > > make_index_converter_inverse(const Structure &struc, std::vector< std::string > mol_name_list)
std::map< DoFKey, std::vector< CASM::DoFSetInfo > > local_dof_info(Structure const &_struc)
SupercellSymInfo make_supercell_sym_info(Structure const &prim, Lattice const &super_lattice)
std::map< DoFKey, CASM::DoFSetInfo > global_dof_info(Structure const &_struc)