CASM  1.1.0
A Clusters Approach to Statistical Mechanics
CASM::PrimStrucMapCalculator Class Reference

#include <ConfigMapping.hh>

+ Inheritance diagram for CASM::PrimStrucMapCalculator:

Detailed Description

Definition at line 148 of file ConfigMapping.hh.

Public Member Functions

 PrimStrucMapCalculator (BasicStructure const &_prim, std::vector< xtal::SymOp > const &symgroup={}, SimpleStructure::SpeciesMode _species_mode=SimpleStructure::SpeciesMode::ATOM)
 
std::vector< Eigen::Vector3d > translations (MappingNode const &_node, SimpleStructure const &child_struc) const override
 construct list of prospective mapping translations More...
 
virtual SimpleStructure resolve_setting (MappingNode const &_node, SimpleStructure const &_child_struc) const override
 Creates copy of _child_struc by applying isometry, lattice transformation, translation, and site permutation of _node Result has all sites within the unit cell. After setting resolution, the lattice and sites of _child_struc match the setting of the parent structure onto which it has been mapped (as defined by '_node') More...
 
void finalize (MappingNode &_node, SimpleStructure const &child_struc, bool const &symmetrize_atomic_cost=false) const override
 Calculates final mapping score and sets _node.is_valid. More...
 
bool populate_cost_mat (MappingNode &_node, SimpleStructure const &child_struc) const override
 
void populate_displacement (MappingNode &_node, SimpleStructure const &child_struc) const
 
SimpleStructure::Info const & struc_info (SimpleStructure const &_struc) const
 
SimpleStructure::Infostruc_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...
 
std::unique_ptr< StrucMapCalculatorInterfaceclone () const
 Make an exact copy of the calculator (including any initialized members) More...
 
std::unique_ptr< StrucMapCalculatorInterfacequasi_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< StrucMapCalculatorInterfacequasi_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

StrucMapCalculatorInterface_clone () const override
 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 override
 Make an exact copy of the calculator (including any initialized members) More...
 
virtual bool _assign_molecules (MappingNode &_node, SimpleStructure const &child_struc) const
 Initializes child_struc.mol_info based on child_struc.atom_info and _node. Default behavior simply copies atom_info to mol_info. More...
 

Private Attributes

BasicStructure m_prim
 
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, Indexm_max_n_species
 maximum allowed number of each species More...
 
std::unordered_set< Indexm_va_allowed
 
std::vector< Eigen::MatrixXd > m_sym_invariant_displacement_modes
 vector of symmetry invariant displacement modes in the parent structure More...
 

Constructor & Destructor Documentation

◆ PrimStrucMapCalculator()

CASM::PrimStrucMapCalculator::PrimStrucMapCalculator ( BasicStructure const &  _prim,
std::vector< xtal::SymOp > const &  symgroup = {},
SimpleStructure::SpeciesMode  _species_mode = SimpleStructure::SpeciesMode::ATOM 
)

Definition at line 301 of file ConfigMapping.cc.

Member Function Documentation

◆ _allowed_species()

StrucMapping::AllowedSpecies const& CASM::xtal::StrucMapCalculatorInterface::_allowed_species ( ) const
inlineprotectedinherited

Definition at line 204 of file StrucMapCalculatorInterface.hh.

◆ _assign_molecules()

bool CASM::xtal::SimpleStrucMapCalculator::_assign_molecules ( MappingNode _node,
SimpleStructure const &  child_struc 
) const
privatevirtualinherited

Initializes child_struc.mol_info based on child_struc.atom_info and _node. Default behavior simply copies atom_info to mol_info.

Definition at line 472 of file SimpleStrucMapCalculator.cc.

◆ _clone()

StrucMapCalculatorInterface* CASM::PrimStrucMapCalculator::_clone ( ) const
inlineoverrideprivatevirtual

Make an exact copy of the calculator (including any initialized members)

Reimplemented from CASM::xtal::SimpleStrucMapCalculator.

Definition at line 158 of file ConfigMapping.hh.

◆ _fixed_species()

StrucMapping::FixedSpecies const& CASM::xtal::StrucMapCalculatorInterface::_fixed_species ( ) const
inlineprotectedinherited

Definition at line 208 of file StrucMapCalculatorInterface.hh.

◆ _max_n_species()

std::map<std::string, Index> const& CASM::xtal::StrucMapCalculatorInterface::_max_n_species ( ) const
inlineprotectedinherited

maximum allowed number of each species

Definition at line 215 of file StrucMapCalculatorInterface.hh.

◆ _quasi_clone()

virtual StrucMapCalculatorInterface* CASM::xtal::SimpleStrucMapCalculator::_quasi_clone ( SimpleStructure  _parent,
SymOpVector const &  _factor_group = {SymOp::identity()},
SimpleStructure::SpeciesMode  _species_mode = SimpleStructure::SpeciesMode::ATOM,
StrucMapping::AllowedSpecies  _allowed_species = {} 
) const
inlineoverrideprivatevirtualinherited

Make an exact copy of the calculator (including any initialized members)

Implements CASM::xtal::StrucMapCalculatorInterface.

Definition at line 74 of file SimpleStrucMapCalculator.hh.

◆ _set_allowed_species()

void CASM::xtal::StrucMapCalculatorInterface::_set_allowed_species ( StrucMapping::AllowedSpecies  allowed_species)
inlineprotectedinherited

Definition at line 148 of file StrucMapCalculatorInterface.hh.

◆ _set_sym_info()

void CASM::xtal::StrucMapCalculatorInterface::_set_sym_info ( SymOpVector const &  _factor_group)
inlineprotectedinherited

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.

◆ _sublat_allows_va()

bool CASM::xtal::StrucMapCalculatorInterface::_sublat_allows_va ( Index  b) const
inlineprotectedinherited

Definition at line 212 of file StrucMapCalculatorInterface.hh.

◆ clone()

std::unique_ptr<StrucMapCalculatorInterface> CASM::xtal::StrucMapCalculatorInterface::clone ( ) const
inlineinherited

Make an exact copy of the calculator (including any initialized members)

Definition at line 117 of file StrucMapCalculatorInterface.hh.

◆ finalize()

void CASM::xtal::SimpleStrucMapCalculator::finalize ( MappingNode _node,
SimpleStructure const &  child_struc,
bool const &  symmetrize_atomic_cost = false 
) const
overridevirtualinherited

Calculates final mapping score and sets _node.is_valid.

Implements CASM::xtal::StrucMapCalculatorInterface.

Definition at line 231 of file SimpleStrucMapCalculator.cc.

◆ fixed_species()

StrucMapping::FixedSpecies const& CASM::xtal::StrucMapCalculatorInterface::fixed_species ( ) const
inlineinherited

Definition at line 79 of file StrucMapCalculatorInterface.hh.

◆ internal_translations()

std::vector<Eigen::Vector3d> const& CASM::xtal::StrucMapCalculatorInterface::internal_translations ( ) const
inlineinherited

List of internal translations that map parent onto itself.

Definition at line 73 of file StrucMapCalculatorInterface.hh.

◆ max_n_va()

Index CASM::xtal::StrucMapCalculatorInterface::max_n_va ( ) const
inlineinherited

Return maximum possible number of vacancies in underlying primitive structure.

Definition at line 95 of file StrucMapCalculatorInterface.hh.

◆ parent()

SimpleStructure const& CASM::xtal::StrucMapCalculatorInterface::parent ( ) const
inlineinherited

Definition at line 63 of file StrucMapCalculatorInterface.hh.

◆ point_group()

SymOpVector const& CASM::xtal::StrucMapCalculatorInterface::point_group ( ) const
inlineinherited

List of point group operations that map parent onto itself (neglecting internal translation)

Definition at line 70 of file StrucMapCalculatorInterface.hh.

◆ populate_cost_mat()

bool CASM::xtal::SimpleStrucMapCalculator::populate_cost_mat ( MappingNode _node,
SimpleStructure const &  child_struc 
) const
overridevirtualinherited

◆ populate_displacement()

void CASM::xtal::SimpleStrucMapCalculator::populate_displacement ( MappingNode _node,
SimpleStructure const &  child_struc 
) const
inherited

Definition at line 285 of file SimpleStrucMapCalculator.cc.

◆ quasi_clone() [1/2]

template<typename ExternSymOpVector >
std::unique_ptr<StrucMapCalculatorInterface> CASM::xtal::StrucMapCalculatorInterface::quasi_clone ( SimpleStructure  _parent,
ExternSymOpVector const &  _factor_group = {SymOp::identity()},
SimpleStructure::SpeciesMode  _species_mode = SimpleStructure::SpeciesMode::ATOM,
StrucMapping::AllowedSpecies  _allowed_species = {} 
) const
inlineinherited

Definition at line 135 of file StrucMapCalculatorInterface.hh.

◆ quasi_clone() [2/2]

std::unique_ptr<StrucMapCalculatorInterface> CASM::xtal::StrucMapCalculatorInterface::quasi_clone ( SimpleStructure  _parent,
SymOpVector const &  _factor_group = {SymOp::identity()},
SimpleStructure::SpeciesMode  _species_mode = SimpleStructure::SpeciesMode::ATOM,
StrucMapping::AllowedSpecies  _allowed_species = {} 
) const
inlineinherited

Make an exact copy of the calculator (including any initialized members)

Definition at line 123 of file StrucMapCalculatorInterface.hh.

◆ resolve_setting()

SimpleStructure CASM::xtal::SimpleStrucMapCalculator::resolve_setting ( MappingNode const &  _node,
SimpleStructure const &  _child_struc 
) const
overridevirtualinherited

Creates copy of _child_struc by applying isometry, lattice transformation, translation, and site permutation of _node Result has all sites within the unit cell. After setting resolution, the lattice and sites of _child_struc match the setting of the parent structure onto which it has been mapped (as defined by '_node')

Creates copy of _child_struc by applying isometry, similarity, translation, and site permutation of _node Result has all sites within the unit cell.

Implements CASM::xtal::StrucMapCalculatorInterface.

Definition at line 108 of file SimpleStrucMapCalculator.cc.

◆ set_sym_invariant_displacement_modes()

void CASM::xtal::StrucMapCalculatorInterface::set_sym_invariant_displacement_modes ( const std::vector< Eigen::MatrixXd > &  _sym_invariant_displacement_modes)
inlineinherited

Sets the sym_invariant_modes.

Definition at line 84 of file StrucMapCalculatorInterface.hh.

◆ struc_info() [1/2]

SimpleStructure::Info& CASM::xtal::StrucMapCalculatorInterface::struc_info ( SimpleStructure _struc) const
inlineinherited

Definition at line 59 of file StrucMapCalculatorInterface.hh.

◆ struc_info() [2/2]

SimpleStructure::Info const& CASM::xtal::StrucMapCalculatorInterface::struc_info ( SimpleStructure const &  _struc) const
inlineinherited

Definition at line 55 of file StrucMapCalculatorInterface.hh.

◆ sym_invariant_displacement_modes()

const std::vector<Eigen::MatrixXd>& CASM::xtal::StrucMapCalculatorInterface::sym_invariant_displacement_modes ( ) const
inlineinherited

Definition at line 89 of file StrucMapCalculatorInterface.hh.

◆ translations()

std::vector< Eigen::Vector3d > CASM::xtal::SimpleStrucMapCalculator::translations ( MappingNode const &  _node,
SimpleStructure const &  child_struc 
) const
overridevirtualinherited

construct list of prospective mapping translations

Implements CASM::xtal::StrucMapCalculatorInterface.

Definition at line 28 of file SimpleStrucMapCalculator.cc.

◆ va_allowed()

std::unordered_set<Index> const& CASM::xtal::StrucMapCalculatorInterface::va_allowed ( ) const
inlineinherited

Definition at line 77 of file StrucMapCalculatorInterface.hh.

◆ xtal_tol()

double CASM::xtal::StrucMapCalculatorInterface::xtal_tol ( ) const
inlineinherited

Crystallographic tolerance, for now just return CASM::TOL.

Definition at line 66 of file StrucMapCalculatorInterface.hh.

Member Data Documentation

◆ m_allowed_species

StrucMapping::AllowedSpecies CASM::xtal::StrucMapCalculatorInterface::m_allowed_species
privateinherited

Definition at line 231 of file StrucMapCalculatorInterface.hh.

◆ m_fixed_species

StrucMapping::FixedSpecies CASM::xtal::StrucMapCalculatorInterface::m_fixed_species
privateinherited

Definition at line 233 of file StrucMapCalculatorInterface.hh.

◆ m_internal_translations

std::vector<Eigen::Vector3d> CASM::xtal::StrucMapCalculatorInterface::m_internal_translations
privateinherited

Definition at line 227 of file StrucMapCalculatorInterface.hh.

◆ m_max_n_species

std::map<std::string, Index> CASM::xtal::StrucMapCalculatorInterface::m_max_n_species
privateinherited

maximum allowed number of each species

Definition at line 236 of file StrucMapCalculatorInterface.hh.

◆ m_parent

SimpleStructure CASM::xtal::StrucMapCalculatorInterface::m_parent
privateinherited

Definition at line 220 of file StrucMapCalculatorInterface.hh.

◆ m_point_group

SymOpVector CASM::xtal::StrucMapCalculatorInterface::m_point_group
privateinherited

Definition at line 223 of file StrucMapCalculatorInterface.hh.

◆ m_prim

BasicStructure CASM::PrimStrucMapCalculator::m_prim
private

Definition at line 162 of file ConfigMapping.hh.

◆ m_species_mode

SimpleStructure::SpeciesMode CASM::xtal::StrucMapCalculatorInterface::m_species_mode
privateinherited

Definition at line 229 of file StrucMapCalculatorInterface.hh.

◆ m_sym_invariant_displacement_modes

std::vector<Eigen::MatrixXd> CASM::xtal::StrucMapCalculatorInterface::m_sym_invariant_displacement_modes
privateinherited

vector of symmetry invariant displacement modes in the parent structure

Definition at line 242 of file StrucMapCalculatorInterface.hh.

◆ m_va_allowed

std::unordered_set<Index> CASM::xtal::StrucMapCalculatorInterface::m_va_allowed
privateinherited

Definition at line 238 of file StrucMapCalculatorInterface.hh.


The documentation for this class was generated from the following files: