CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
CASM::PrimClex Class Reference

#include <PrimClex.hh>

+ Inheritance diagram for CASM::PrimClex:

Detailed Description

PrimClex is the top-level data structure for a CASM project.

The PrimClex provides access to:

  • the parent crystal structure, the prim
  • project files & settings
  • composition axes & references
  • supercells & configurations
  • clusters, basis sets, neighbor lists, & ECI

Definition at line 52 of file PrimClex.hh.

Public Types

typedef ConfigIterator
< Configuration, PrimClex
config_iterator
 
typedef ConfigIterator< const
Configuration, const PrimClex
config_const_iterator
 

Public Member Functions

 PrimClex (const Structure &_prim, const Logging &logging=Logging())
 Initial construction of a PrimClex, from a primitive Structure. More...
 
 PrimClex (const fs::path &_root, const Logging &logging=Logging())
 
void refresh (bool read_settings=false, bool read_composition=false, bool read_chem_ref=false, bool read_configs=false, bool clear_clex=false)
 Reload PrimClex data from settings. More...
 
std::string name () const
 Return project name. More...
 
const DirectoryStructuredir () const
 
ProjectSettingssettings ()
 
const ProjectSettingssettings () const
 
double crystallography_tol () const
 
double lin_alg_tol () const
 
fs::path get_path () const
 Return casm project directory path. More...
 
fs::path get_path (const Index &scel_index) const
 Return supercell directory path. More...
 
fs::path get_path (const Index &scel_index, const Index &config_index) const
 Return configuration directory path. More...
 
fs::path get_config_list_path () const
 Return config_list.json file path. More...
 
bool has_composition_axes () const
 check if CompositionConverter object initialized More...
 
const CompositionConvertercomposition_axes () const
 const Access CompositionConverter object More...
 
bool has_chemical_reference () const
 check if ChemicalReference object initialized More...
 
const ChemicalReferencechemical_reference () const
 const Access ChemicalReference object More...
 
const Structureget_prim () const
 const Access to primitive Structure More...
 
PrimNeighborListnlist () const
 Access to the primitive neighbor list. More...
 
bool vacancy_allowed () const
 returns true if vacancy are an allowed species More...
 
Index vacancy_index () const
 returns the index of vacancies in composition vectors More...
 
boost::container::stable_vector
< Supercell > & 
get_supercell_list ()
 Access entire supercell_list. More...
 
const
boost::container::stable_vector
< Supercell > & 
get_supercell_list () const
 const Access entire supercell_list More...
 
const Supercellget_supercell (Index i) const
 const Access supercell by index More...
 
Supercellget_supercell (Index i)
 Access supercell by index. More...
 
const Supercellget_supercell (std::string scellname) const
 const Access supercell by name More...
 
Supercellget_supercell (std::string scellname)
 Access supercell by name. More...
 
Supercellget_supercell (const Lattice &lat)
 Access supercell by Lattice, adding if necessary. More...
 
const Configurationconfiguration (const std::string &configname) const
 access configuration by name (of the form "scellname/[NUMBER]", e.g., ("SCEL1_1_1_1_0_0_0/0") More...
 
Configurationconfiguration (const std::string &configname)
 
config_iterator config_begin ()
 Configuration iterator: begin. More...
 
config_iterator config_end ()
 Configuration iterator: end. More...
 
config_const_iterator config_begin () const
 Configuration iterator: begin. More...
 
config_const_iterator config_end () const
 Configuration iterator: end. More...
 
config_const_iterator config_cbegin () const
 const Configuration iterator: begin More...
 
config_const_iterator config_cend () const
 const Configuration iterator: end More...
 
config_iterator selected_config_begin ()
 Configuration iterator: begin. More...
 
config_iterator selected_config_end ()
 Configuration iterator: end. More...
 
config_const_iterator selected_config_cbegin () const
 const Configuration iterator: begin More...
 
config_const_iterator selected_config_cend () const
 const Configuration iterator: end More...
 
Eigen::MatrixXd shift_vectors () const
 private: More...
 
void set_composition_axes (const CompositionConverter &_converter)
 Sets the composition axes. More...
 
void write_config_list (std::set< std::string > scel_to_delete={})
 
void generate_supercells (const ScelEnumProps &enum_props)
 Use the given CSPECS. More...
 
void print_enum_info (std::ostream &stream)
 
void print_supercells (std::set< std::string > scel_to_delete={}) const
 
void print_supercells (std::ostream &stream, std::set< std::string > scel_to_delete={}) const
 
void read_supercells (std::istream &stream)
 
void print_clex_configurations ()
 
void read_config_list ()
 
void read_scel_props (int scel_index, const std::string &JSON_output)
 Fill up props of every configuration for a partucluar supercell. This will be deprecated when props disappears. More...
 
void read_all_scel_props (const std::string &JSON_output)
 Call read_config_props on every Supercell. More...
 
int amount_selected () const
 Count over the number of configurations that are selected in all supercells. More...
 
bool contains_supercell (std::string scellname, Index &index) const
 
bool contains_supercell (const Supercell &scel) const
 
bool contains_supercell (const Supercell &scel, Index &index) const
 
Index add_supercell (const Lattice &superlat)
 
Index add_canonical_supercell (const Lattice &superlat)
 
Eigen::Matrix3i calc_transf_mat (const Lattice &superlat) const
 
void set_global_dof_state (const Configuration &curr_config) const
 Set internal values of each DoFEnvironment. More...
 
void set_local_dof_state (const Configuration &curr_config, Index l) const
 
bool has_orbitree (const ClexDescription &key) const
 const Access to global orbitree More...
 
const SiteOrbitreeorbitree (const ClexDescription &key) const
 
bool has_clexulator (const ClexDescription &key) const
 
Clexulator clexulator (const ClexDescription &key) const
 
bool has_eci (const ClexDescription &key) const
 
const ECIContainereci (const ClexDescription &key) const
 
Loglog () const
 
Logdebug_log () const
 
Logerr_log () const
 

Static Public Member Functions

static Logging null ()
 

Private Member Functions

void _init ()
 Initialization routines. More...
 

Private Attributes

fs::path root
 
DirectoryStructure m_dir
 
ProjectSettings m_settings
 
Structure prim
 
bool m_vacancy_allowed
 
Index m_vacancy_index
 
DoFManager m_dof_manager
 
boost::container::stable_vector
< Supercell
supercell_list
 Contains all the supercells that were involved in the enumeration. More...
 
bool m_has_composition_axes = false
 
CompositionConverter m_comp_converter
 
notstd::cloneable_ptr
< ChemicalReference
m_chem_ref
 
notstd::cloneable_ptr
< PrimNeighborList
m_nlist
 
std::map< ClexDescription,
SiteOrbitree
m_orbitree
 
std::map< ClexDescription,
Clexulator
m_clexulator
 
std::map< ClexDescription,
ECIContainer
m_eci
 

Member Function Documentation

Log& CASM::Logging::debug_log ( ) const
inlineinherited

Definition at line 259 of file Log.hh.

Log& CASM::Logging::err_log ( ) const
inlineinherited

Definition at line 263 of file Log.hh.

Log& CASM::Logging::log ( ) const
inlineinherited

Definition at line 255 of file Log.hh.

static Logging CASM::Logging::null ( )
inlinestaticinherited

Definition at line 267 of file Log.hh.


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