CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <StrucMapCalculatorInterface.hh>
Definition at line 34 of file StrucMapCalculatorInterface.hh.
Public Member Functions | |
StrucMapCalculatorInterface (SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies allowed_species={}) | |
SimpleStructure::Info const & | struc_info (SimpleStructure const &_struc) const |
SimpleStructure::Info & | struc_info (SimpleStructure &_struc) const |
SimpleStructure const & | parent () const |
double | xtal_tol () const |
Crystallographic tolerance, for now just return CASM::TOL. More... | |
SymOpVector const & | point_group () const |
List of point group operations that map parent onto itself (neglecting internal translation) More... | |
std::vector< Eigen::Vector3d > const & | internal_translations () const |
List of internal translations that map parent onto itself. More... | |
std::unordered_set< Index > const & | va_allowed () const |
StrucMapping::FixedSpecies const & | fixed_species () const |
void | set_sym_invariant_displacement_modes (const std::vector< Eigen::MatrixXd > &_sym_invariant_displacement_modes) |
Sets the sym_invariant_modes. More... | |
const std::vector< Eigen::MatrixXd > & | sym_invariant_displacement_modes () const |
Index | max_n_va () const |
Return maximum possible number of vacancies in underlying primitive structure. More... | |
virtual | ~StrucMapCalculatorInterface () |
virtual std::vector< Eigen::Vector3d > | translations (MappingNode const &_node, SimpleStructure const &child_struc) const =0 |
construct list of prospective mapping translations More... | |
virtual SimpleStructure | resolve_setting (MappingNode const &_node, SimpleStructure const &_child_struc) const =0 |
Creates copy of _child_struc by applying isometry, lattice transformation, translation, and site permutation of _node. More... | |
virtual void | finalize (MappingNode &_node, SimpleStructure const &child_struc, bool const &symmetrize_atomic_cost=false) const =0 |
Calculates final mapping score and sets _node.is_valid. More... | |
virtual bool | populate_cost_mat (MappingNode &_node, SimpleStructure const &child_struc) const =0 |
std::unique_ptr< StrucMapCalculatorInterface > | clone () const |
Make an exact copy of the calculator (including any initialized members) More... | |
std::unique_ptr< StrucMapCalculatorInterface > | quasi_clone (SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies _allowed_species={}) const |
Make an exact copy of the calculator (including any initialized members) More... | |
template<typename ExternSymOpVector > | |
std::unique_ptr< StrucMapCalculatorInterface > | quasi_clone (SimpleStructure _parent, ExternSymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies _allowed_species={}) const |
Protected Member Functions | |
void | _set_allowed_species (StrucMapping::AllowedSpecies allowed_species) |
void | _set_sym_info (SymOpVector const &_factor_group) |
Sets point_group and internal_translations by breaking factor group into pure translations and rotations/rotoreflections _factor_group should be sorted in order of decreasing character. More... | |
StrucMapping::AllowedSpecies const & | _allowed_species () const |
StrucMapping::FixedSpecies const & | _fixed_species () const |
bool | _sublat_allows_va (Index b) const |
std::map< std::string, Index > const & | _max_n_species () const |
maximum allowed number of each species More... | |
Private Member Functions | |
virtual StrucMapCalculatorInterface * | _clone () const =0 |
Make an exact copy of the calculator (including any initialized members) More... | |
virtual StrucMapCalculatorInterface * | _quasi_clone (SimpleStructure _parent, SymOpVector const &_factor_group={SymOp::identity()}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM, StrucMapping::AllowedSpecies _allowed_species={}) const =0 |
Make an exact copy of the calculator (including any initialized members) More... | |
Private Attributes | |
SimpleStructure | m_parent |
SymOpVector | m_point_group |
std::vector< Eigen::Vector3d > | m_internal_translations |
SimpleStructure::SpeciesMode | m_species_mode |
StrucMapping::AllowedSpecies | m_allowed_species |
StrucMapping::FixedSpecies | m_fixed_species |
std::map< std::string, Index > | m_max_n_species |
maximum allowed number of each species More... | |
std::unordered_set< Index > | m_va_allowed |
std::vector< Eigen::MatrixXd > | m_sym_invariant_displacement_modes |
vector of symmetry invariant displacement modes in the parent structure More... | |
|
inline |
Definition at line 36 of file StrucMapCalculatorInterface.hh.
|
inlinevirtual |
Definition at line 97 of file StrucMapCalculatorInterface.hh.
|
inlineprotected |
Definition at line 204 of file StrucMapCalculatorInterface.hh.
|
privatepure virtual |
Make an exact copy of the calculator (including any initialized members)
Implemented in CASM::xtal::SimpleStrucMapCalculator, and CASM::PrimStrucMapCalculator.
|
inlineprotected |
Definition at line 208 of file StrucMapCalculatorInterface.hh.
|
inlineprotected |
maximum allowed number of each species
Definition at line 215 of file StrucMapCalculatorInterface.hh.
|
privatepure virtual |
Make an exact copy of the calculator (including any initialized members)
Implemented in CASM::xtal::SimpleStrucMapCalculator.
|
inlineprotected |
Definition at line 148 of file StrucMapCalculatorInterface.hh.
|
inlineprotected |
Sets point_group and internal_translations by breaking factor group into pure translations and rotations/rotoreflections _factor_group should be sorted in order of decreasing character.
Definition at line 184 of file StrucMapCalculatorInterface.hh.
|
inlineprotected |
Definition at line 212 of file StrucMapCalculatorInterface.hh.
|
inline |
Make an exact copy of the calculator (including any initialized members)
Definition at line 117 of file StrucMapCalculatorInterface.hh.
|
pure virtual |
Calculates final mapping score and sets _node.is_valid.
Implemented in CASM::xtal::SimpleStrucMapCalculator.
|
inline |
Definition at line 79 of file StrucMapCalculatorInterface.hh.
|
inline |
List of internal translations that map parent onto itself.
Definition at line 73 of file StrucMapCalculatorInterface.hh.
|
inline |
Return maximum possible number of vacancies in underlying primitive structure.
Definition at line 95 of file StrucMapCalculatorInterface.hh.
|
inline |
Definition at line 63 of file StrucMapCalculatorInterface.hh.
|
inline |
List of point group operations that map parent onto itself (neglecting internal translation)
Definition at line 70 of file StrucMapCalculatorInterface.hh.
|
pure virtual |
Implemented in CASM::xtal::SimpleStrucMapCalculator.
|
inline |
Definition at line 135 of file StrucMapCalculatorInterface.hh.
|
inline |
Make an exact copy of the calculator (including any initialized members)
Definition at line 123 of file StrucMapCalculatorInterface.hh.
|
pure virtual |
Creates copy of _child_struc by applying isometry, lattice transformation, translation, and site permutation of _node.
Implemented in CASM::xtal::SimpleStrucMapCalculator.
|
inline |
Sets the sym_invariant_modes.
Definition at line 84 of file StrucMapCalculatorInterface.hh.
|
inline |
Definition at line 59 of file StrucMapCalculatorInterface.hh.
|
inline |
Definition at line 55 of file StrucMapCalculatorInterface.hh.
|
inline |
Definition at line 89 of file StrucMapCalculatorInterface.hh.
|
pure virtual |
construct list of prospective mapping translations
Implemented in CASM::xtal::SimpleStrucMapCalculator.
|
inline |
Definition at line 77 of file StrucMapCalculatorInterface.hh.
|
inline |
Crystallographic tolerance, for now just return CASM::TOL.
Definition at line 66 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 231 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 233 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 227 of file StrucMapCalculatorInterface.hh.
|
private |
maximum allowed number of each species
Definition at line 236 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 220 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 223 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 229 of file StrucMapCalculatorInterface.hh.
|
private |
vector of symmetry invariant displacement modes in the parent structure
Definition at line 242 of file StrucMapCalculatorInterface.hh.
|
private |
Definition at line 238 of file StrucMapCalculatorInterface.hh.