CASM
AClustersApproachtoStatisticalMechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules
Configuration

Detailed Description

A Configuration represents the values of all degrees of freedom in a Supercell.

Modules

 Configuration Enumerators
 Enumerates Configuration.
 
 ConfigIsEquivalent
 Methods for comparing Configurations (with the same Supercell)
 

Classes

class  CASM::ConfigDoF
 A container class for the different degrees of freedom a Configuration might have. More...
 
class  CASM::ConfigMapper
 
struct  CASM::ConfigInsertResult
 Holds results of Configuration::insert. More...
 
class  CASM::Configuration
 A Configuration represents the values of all degrees of freedom in a Supercell. More...
 
class  CASM::FillSupercell
 

Enumerations

enum  CASM::ConfigMapper::NullInitializer { CASM::ConfigMapper::null_initializer }
 
enum  CASM::ConfigMapper::Options { CASM::ConfigMapper::none = 0, CASM::ConfigMapper::rotate = (1u << 0), CASM::ConfigMapper::strict = (1u << 1), CASM::ConfigMapper::robust = (1u << 2) }
 

Functions

Configuration & CASM::apply (const PermuteIterator &it, Configuration &config)
 
Configuration CASM::sub_configuration (Supercell &sub_scel, const Configuration &super_config, const UnitCell &origin)
 Returns the sub-configuration that fills a particular Supercell. More...
 
Configuration CASM::make_configuration (PrimClex &primclex, std::string name)
 Make Configuration from name string. More...
 
Correlation CASM::correlations (const Configuration &config, Clexulator &clexulator)
 Returns correlations using 'clexulator'. More...
 
Eigen::VectorXd CASM::comp (const Configuration &config)
 Returns parametric composition, as calculated using PrimClex::param_comp. More...
 
Eigen::VectorXd CASM::comp_n (const Configuration &config)
 Returns the composition, as number of each species per unit cell. More...
 
double CASM::n_vacancy (const Configuration &config)
 Returns the vacancy composition, as number per unit cell. More...
 
double CASM::n_species (const Configuration &config)
 Returns the total number species per unit cell. More...
 
Eigen::VectorXd CASM::species_frac (const Configuration &config)
 Returns the composition as species fraction, with [Va] = 0.0, in the order of Structure::get_struc_molecule. More...
 
Eigen::VectorXd CASM::site_frac (const Configuration &config)
 Returns the composition as site fraction, in the order of Structure::get_struc_molecule. More...
 
double CASM::relaxed_energy (const Configuration &config)
 Returns the relaxed energy, normalized per unit cell. More...
 
double CASM::relaxed_energy_per_species (const Configuration &config)
 Returns the relaxed energy, normalized per species. More...
 
double CASM::reference_energy (const Configuration &config)
 Returns the reference energy, normalized per unit cell. More...
 
double CASM::reference_energy_per_species (const Configuration &config)
 Returns the reference energy, normalized per species. More...
 
double CASM::formation_energy (const Configuration &config)
 Returns the formation energy, normalized per unit cell. More...
 
double CASM::formation_energy_per_species (const Configuration &config)
 Returns the formation energy, normalized per species. More...
 
double CASM::clex_formation_energy (const Configuration &config)
 Returns the formation energy, normalized per unit cell. More...
 
double CASM::clex_formation_energy_per_species (const Configuration &config)
 Returns the formation energy, normalized per species. More...
 
bool CASM::is_calculated (const Configuration &config)
 Return true if all current properties have been been calculated for the configuration. More...
 
double CASM::rms_force (const Configuration &_config)
 Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.) More...
 
double CASM::basis_deformation (const Configuration &_config)
 Cost function that describes the degree to which basis sites have relaxed. More...
 
double CASM::lattice_deformation (const Configuration &_config)
 Cost function that describes the degree to which lattice has relaxed. More...
 
double CASM::volume_relaxation (const Configuration &_config)
 Change in volume due to relaxation, expressed as the ratio V/V_0. More...
 
double CASM::relaxed_magmom (const Configuration &_config)
 Returns the relaxed magnetic moment, normalized per unit cell. More...
 
double CASM::relaxed_magmom_per_species (const Configuration &_config)
 Returns the relaxed magnetic moment, normalized per species. More...
 
Eigen::VectorXd CASM::relaxed_mag_basis (const Configuration &_config)
 Returns the relaxed magnetic moment of each basis site. More...
 
Eigen::VectorXd CASM::relaxed_mag (const Configuration &_config)
 Returns the relaxed magnetic moment for each molecule. More...
 
bool CASM::is_primitive (const Configuration &_config)
 returns true if _config describes primitive cell of the configuration it describes More...
 
bool CASM::is_canonical (const Configuration &_config)
 returns true if _config no symmetry transformation applied to _config will increase its lexicographic order More...
 
std::string CASM::calc_status (const Configuration &_config)
 Status of calculation. More...
 
std::string CASM::failure_type (const Configuration &_config)
 
bool CASM::has_relaxed_energy (const Configuration &_config)
 
bool CASM::has_reference_energy (const Configuration &_config)
 
bool CASM::has_formation_energy (const Configuration &_config)
 
bool CASM::has_rms_force (const Configuration &_config)
 
bool CASM::has_basis_deformation (const Configuration &_config)
 
bool CASM::has_lattice_deformation (const Configuration &_config)
 
bool CASM::has_volume_relaxation (const Configuration &_config)
 
bool CASM::has_relaxed_magmom (const Configuration &_config)
 
bool CASM::has_relaxed_mag_basis (const Configuration &_config)
 
bool CASM::has_calc_status (const Configuration &_config)
 
bool CASM::has_failure_type (const Configuration &_config)
 
std::ostream & CASM::operator<< (std::ostream &sout, const Configuration &c)
 
void CASM::reset_properties (Configuration &_config)
 

Enumeration Type Documentation

Enumerator
null_initializer 

Definition at line 20 of file ConfigMapping.hh.

Enumerator
none 
rotate 
strict 
robust 

Definition at line 21 of file ConfigMapping.hh.

Function Documentation

Configuration & CASM::apply ( const PermuteIterator &  it,
Configuration &  config 
)

Definition at line 1383 of file Configuration.cc.

double CASM::basis_deformation ( const Configuration &  _config)

Cost function that describes the degree to which basis sites have relaxed.

Definition at line 1676 of file Configuration.cc.

std::string CASM::calc_status ( const Configuration &  _config)
inline

Status of calculation.

Definition at line 758 of file Configuration.hh.

double CASM::clex_formation_energy ( const Configuration &  config)

Returns the formation energy, normalized per unit cell.

Definition at line 1637 of file Configuration.cc.

double CASM::clex_formation_energy_per_species ( const Configuration &  config)

Returns the formation energy, normalized per species.

Returns the formation energy, normalized per unit cell.

Definition at line 1656 of file Configuration.cc.

Eigen::VectorXd CASM::comp ( const Configuration &  config)

Returns parametric composition, as calculated using PrimClex::param_comp.

Definition at line 1562 of file Configuration.cc.

Eigen::VectorXd CASM::comp_n ( const Configuration &  config)

Returns the composition, as number of each species per unit cell.

Definition at line 1567 of file Configuration.cc.

Correlation CASM::correlations ( const Configuration &  config,
Clexulator &  clexulator 
)

Returns correlations using 'clexulator'.

Definition at line 1557 of file Configuration.cc.

std::string CASM::failure_type ( const Configuration &  _config)
inline

Definition at line 764 of file Configuration.hh.

double CASM::formation_energy ( const Configuration &  config)

Returns the formation energy, normalized per unit cell.

Definition at line 1625 of file Configuration.cc.

double CASM::formation_energy_per_species ( const Configuration &  config)

Returns the formation energy, normalized per species.

  • Currently, this is really a Molecule fraction

Definition at line 1632 of file Configuration.cc.

bool CASM::has_basis_deformation ( const Configuration &  _config)

Definition at line 1737 of file Configuration.cc.

bool CASM::has_calc_status ( const Configuration &  _config)
inline

Definition at line 787 of file Configuration.hh.

bool CASM::has_failure_type ( const Configuration &  _config)
inline

Definition at line 792 of file Configuration.hh.

bool CASM::has_formation_energy ( const Configuration &  _config)

Definition at line 1729 of file Configuration.cc.

bool CASM::has_lattice_deformation ( const Configuration &  _config)

Definition at line 1741 of file Configuration.cc.

bool CASM::has_reference_energy ( const Configuration &  _config)

Definition at line 1724 of file Configuration.cc.

bool CASM::has_relaxed_energy ( const Configuration &  _config)

Definition at line 1720 of file Configuration.cc.

bool CASM::has_relaxed_mag_basis ( const Configuration &  _config)

Definition at line 1753 of file Configuration.cc.

bool CASM::has_relaxed_magmom ( const Configuration &  _config)

Definition at line 1749 of file Configuration.cc.

bool CASM::has_rms_force ( const Configuration &  _config)

Definition at line 1733 of file Configuration.cc.

bool CASM::has_volume_relaxation ( const Configuration &  _config)

Definition at line 1745 of file Configuration.cc.

bool CASM::is_calculated ( const Configuration &  config)

Return true if all current properties have been been calculated for the configuration.

Definition at line 1661 of file Configuration.cc.

bool CASM::is_canonical ( const Configuration &  _config)

returns true if _config no symmetry transformation applied to _config will increase its lexicographic order

Definition at line 1716 of file Configuration.cc.

bool CASM::is_primitive ( const Configuration &  _config)

returns true if _config describes primitive cell of the configuration it describes

Definition at line 1711 of file Configuration.cc.

double CASM::lattice_deformation ( const Configuration &  _config)

Cost function that describes the degree to which lattice has relaxed.

Definition at line 1681 of file Configuration.cc.

Configuration CASM::make_configuration ( PrimClex &  primclex,
std::string  name 
)

Make Configuration from name string.

Expects one of the following formats:

  • $CANON_SCELNAME/$CANON_INDEX
    • For canonical forms, whether primitive or not
    • Must exist already in config list
  • $PRIM_SCELNAME/$PRIM_CANON_INDEX.equiv.$FG_PERM.$TRANS_PERM
    • For primitive, but non-canonical forms
    • Primitive canonical form must exist already in config list
    • Applies PermuteIterator(FG_PERM, TRANS_PERM) to primitive canonical configuration
  • $CANON_SCELNAME.$PRIM_FG_OP1/super.$PRIM_FG_OP2.$PRIM_SCELNAME/$PRIM_CANON_INDEX.equiv.$FG_PERM.$TRANS_PERM
    • For non-primitive non-canonical forms
    • Primitive canonical form must exist already in config list
    • Supercell SCELNAME must exist already in supercell list
    • Applies PermuteIterator(FG_PERM, TRANS_PERM) to primitive canonical configuration
    • Then applies prim Structure factor group op with index PRIM_FG_OP and fills the supercell SCELNAME

Definition at line 1482 of file Configuration.cc.

double CASM::n_species ( const Configuration &  config)

Returns the total number species per unit cell.

Equivalent to

comp_n(config).sum() - n_vacancy(config)

Definition at line 1582 of file Configuration.cc.

double CASM::n_vacancy ( const Configuration &  config)

Returns the vacancy composition, as number per unit cell.

Definition at line 1572 of file Configuration.cc.

std::ostream & CASM::operator<< ( std::ostream &  sout,
const Configuration &  c 
)

Definition at line 1894 of file Configuration.cc.

double CASM::reference_energy ( const Configuration &  config)

Returns the reference energy, normalized per unit cell.

Definition at line 1613 of file Configuration.cc.

double CASM::reference_energy_per_species ( const Configuration &  config)

Returns the reference energy, normalized per species.

Definition at line 1620 of file Configuration.cc.

double CASM::relaxed_energy ( const Configuration &  config)

Returns the relaxed energy, normalized per unit cell.

Definition at line 1603 of file Configuration.cc.

double CASM::relaxed_energy_per_species ( const Configuration &  config)

Returns the relaxed energy, normalized per species.

Definition at line 1608 of file Configuration.cc.

Eigen::VectorXd CASM::relaxed_mag ( const Configuration &  _config)

Returns the relaxed magnetic moment for each molecule.

Definition at line 1706 of file Configuration.cc.

Eigen::VectorXd CASM::relaxed_mag_basis ( const Configuration &  _config)

Returns the relaxed magnetic moment of each basis site.

Returns the relaxed magnetic moment at each basis site.

Definition at line 1701 of file Configuration.cc.

double CASM::relaxed_magmom ( const Configuration &  _config)

Returns the relaxed magnetic moment, normalized per unit cell.

Definition at line 1691 of file Configuration.cc.

double CASM::relaxed_magmom_per_species ( const Configuration &  _config)

Returns the relaxed magnetic moment, normalized per species.

Definition at line 1696 of file Configuration.cc.

void CASM::reset_properties ( Configuration &  _config)
inline

Definition at line 834 of file Configuration.hh.

double CASM::rms_force ( const Configuration &  _config)

Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.)

Definition at line 1671 of file Configuration.cc.

Eigen::VectorXd CASM::site_frac ( const Configuration &  config)

Returns the composition as site fraction, in the order of Structure::get_struc_molecule.

Definition at line 1598 of file Configuration.cc.

Eigen::VectorXd CASM::species_frac ( const Configuration &  config)

Returns the composition as species fraction, with [Va] = 0.0, in the order of Structure::get_struc_molecule.

  • Currently, this is really a Molecule fraction

Definition at line 1589 of file Configuration.cc.

Configuration CASM::sub_configuration ( Supercell &  sub_scel,
const Configuration &  super_config,
const UnitCell &  origin 
)

Returns the sub-configuration that fills a particular Supercell.

Parameters
sub_scelThe Supercell of the sub-configuration
super_configThe super-configuration
originThe UnitCell indicating the which unit cell in the super-configuration is the origin in sub-configuration
  • Copies DoF from the super-configuration directly into the sub-configuration

Definition at line 1397 of file Configuration.cc.

double CASM::volume_relaxation ( const Configuration &  _config)

Change in volume due to relaxation, expressed as the ratio V/V_0.

Definition at line 1686 of file Configuration.cc.