CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <Structure.hh>
Structure specifies the lattice and atomic basis of a crystal.
Definition at line 30 of file Structure.hh.
Public Member Functions | |
operator const xtal::BasicStructure & () const | |
Returns constant reference to the structure. More... | |
const xtal::BasicStructure & | structure () const |
const std::shared_ptr< const xtal::BasicStructure > & | shared_structure () const |
const Lattice & | lattice () const |
const std::vector< xtal::Site > & | basis () const |
Structure () | |
Structure (const xtal::BasicStructure &base) | |
Structure (const fs::path &filepath) | |
Structure (const Structure &RHS) | |
~Structure () | |
const MasterSymGroup & | factor_group () const |
const SymGroup & | point_group () const |
SymGroupRep const * | basis_permutation_symrep () const |
SymGroupRepID | basis_permutation_symrep_ID () const |
std::vector< SymGroupRepID > | occupant_symrep_IDs () const |
std::vector< std::map< DoFKey, SymGroupRepID > > | site_dof_symrep_IDs () const |
SymGroupRepID | global_dof_symrep_ID (const std::string dof_name) const |
Structure & | operator= (const Structure &RHS) |
Private Member Functions | |
void | _reset_occupant_symrep_IDs () |
void | _reset_site_dof_symrep_IDs () |
void | _generate_basis_symreps () |
void | _generate_global_symreps () |
Obtain global dof symreps of factor_group. More... | |
void | _fg_converge (SymGroup &factor_group, double small_tol, double large_tol, double increment) |
void | generate_factor_group () |
void | copy_attributes_from (const Structure &RHS) |
copy all non-derived members More... | |
Private Attributes | |
MasterSymGroup | m_factor_group |
SymGroupRepID | m_basis_perm_rep_ID |
This holds the representation id of the permutation representation. More... | |
std::vector< SymGroupRepID > | m_occupant_symrep_IDs |
Hold the SymRepIDs for the occupant DoF, one for each of the basis sites. More... | |
std::vector< std::map< DoFKey, SymGroupRepID > > | m_site_dof_symrep_IDs |
std::unordered_map< std::string, SymGroupRepID > | m_global_dof_symrep_IDs |
std::shared_ptr< const xtal::BasicStructure > | m_structure_ptr |
CASM::Structure::Structure | ( | ) |
Definition at line 56 of file Structure.cc.
|
explicit |
Definition at line 64 of file Structure.cc.
|
explicit |
Definition at line 41 of file Structure.cc.
CASM::Structure::Structure | ( | const Structure & | RHS | ) |
Have to explicitly define the copy constructor so that factor_group does not depend on the lattice of 'RHS'
Definition at line 59 of file Structure.cc.
|
inline |
Definition at line 116 of file Structure.hh.
|
private |
|
private |
Obtain the basis permutation symrep and site dof symreps of factor_group sets internal m_basis_perm_rep_ID
Definition at line 162 of file Structure.cc.
|
private |
Obtain global dof symreps of factor_group.
Definition at line 275 of file Structure.cc.
|
private |
Definition at line 142 of file Structure.cc.
|
private |
Definition at line 151 of file Structure.cc.
|
inline |
Definition at line 102 of file Structure.hh.
SymGroupRep const * CASM::Structure::basis_permutation_symrep | ( | ) | const |
Definition at line 116 of file Structure.cc.
SymGroupRepID CASM::Structure::basis_permutation_symrep_ID | ( | ) | const |
Definition at line 122 of file Structure.cc.
|
private |
copy all non-derived members
Definition at line 79 of file Structure.cc.
const MasterSymGroup & CASM::Structure::factor_group | ( | ) | const |
Definition at line 107 of file Structure.cc.
|
private |
determines primitive cell, finds its factor group using generate_factor_group_slow, and then expands the factor group into the supercell using lattice translations
Definition at line 88 of file Structure.cc.
SymGroupRepID CASM::Structure::global_dof_symrep_ID | ( | const std::string | dof_name | ) | const |
Definition at line 137 of file Structure.cc.
|
inline |
Definition at line 100 of file Structure.hh.
std::vector< SymGroupRepID > CASM::Structure::occupant_symrep_IDs | ( | ) | const |
Definition at line 128 of file Structure.cc.
CASM::Structure::operator const xtal::BasicStructure & | ( | ) | const |
Returns constant reference to the structure.
Have to explicitly define the assignment operator so that sites in this structure do not depend on the lattice of 'RHS'
Definition at line 69 of file Structure.cc.
const SymGroup & CASM::Structure::point_group | ( | ) | const |
Definition at line 110 of file Structure.cc.
|
inline |
Definition at line 96 of file Structure.hh.
std::vector< std::map< DoFKey, SymGroupRepID > > CASM::Structure::site_dof_symrep_IDs | ( | ) | const |
Definition at line 132 of file Structure.cc.
|
inline |
Definition at line 92 of file Structure.hh.
|
private |
This holds the representation id of the permutation representation.
Definition at line 43 of file Structure.hh.
|
private |
Group symmetry operations that map the lattice and basis of Structure onto themselves, assuming that the crystal is periodic
Definition at line 40 of file Structure.hh.
|
private |
Holds SymRepIDs for each of the global DoFs, using the DoF name as the key to access the SymRepID value
Definition at line 54 of file Structure.hh.
|
private |
Hold the SymRepIDs for the occupant DoF, one for each of the basis sites.
Definition at line 46 of file Structure.hh.
|
private |
Hold the SymRepIDs for the continuous DoFs, map of DoFKey : SymGroupRepIDs for each basis site
Definition at line 50 of file Structure.hh.
|
private |
Definition at line 85 of file Structure.hh.