CASM  1.1.0
A Clusters Approach to Statistical Mechanics
SimpleStructureTools.hh File Reference
#include <set>
#include <string>
#include <vector>
#include "casm/crystallography/DoFDecl.hh"
#include "casm/crystallography/SymType.hh"
#include "casm/external/Eigen/Dense"
#include "casm/global/definitions.hh"

Go to the source code of this file.

Namespaces

 CASM
 Main CASM namespace.
 
 CASM::xtal
 
 CASM::xtal::SimpleStructureTools
 

Functions

SimpleStructure CASM::xtal::make_superstructure (Eigen::Ref< const Eigen::Matrix3i > const &_T, SimpleStructure const &_sstruc)
 
std::vector< Index > CASM::xtal::superstructure_basis_idx (Eigen::Ref< const Eigen::Matrix3i > const &_T, SimpleStructure const &_sstruc)
 Constructs a vector containing the basis index of the ith site in the supercell. More...
 
SimpleStructure CASM::xtal::make_simple_structure (BasicStructure const &_struc)
 Construct from decorated structure. More...
 
std::vector< std::set< Index > > CASM::xtal::atom_site_compatibility (SimpleStructure const &sstruc, BasicStructure const &_prim)
 Determine which sites of a BasicStructure can host each atom of a SimpleStructure result[i] is set of site indices in. More...
 
std::vector< std::set< Index > > CASM::xtal::mol_site_compatibility (SimpleStructure const &sstruc, BasicStructure const &_prim)
 Determine which sites of a BasicStructure can host each molecule of a SimpleStructure result[i] is set of site indices in. More...
 
void CASM::xtal::_atomize (SimpleStructure &_sstruc, Eigen::Ref< const Eigen::VectorXi > const &_mol_occ, BasicStructure const &_reference)
 use information in _reference to initialize atom_info from mol_info More...
 
BasicStructure CASM::xtal::make_basic_structure (SimpleStructure const &_sstruc, std::vector< DoFKey > const &_all_dofs, SimpleStructureTools::SpeciesMode mode, std::vector< std::vector< Molecule >> _allowed_occupants={})
 Construct BasicStructure from SimpleStructure. More...
 
std::vector< Eigen::MatrixXd > CASM::xtal::generate_invariant_shuffle_modes (const std::vector< xtal::SymOp > &factor_group, const std::vector< Eigen::PermutationMatrix< Eigen::Dynamic, Eigen::Dynamic, Index >> &permute_group)