CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
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 |
class | CASM::ConfigMapper |
class | CASM::Configuration |
struct | CASM::ConfigInsertResult |
Holds results of Configuration::insert. More... | |
struct | CASM::RefToCanonicalPrim |
Operations that transform a canonical primitive configuration to any equivalent. More... | |
Typedefs | |
typedef ConfigCanonicalForm< HasSupercell< Comparisons< Calculable< CRTPBase< Configuration > > > > > | CASM::ConfigurationBase |
Functions | |
Configuration | CASM::sub_configuration (std::shared_ptr< Supercell const > sub_scel_ptr, const Configuration &super_config, const UnitCell &origin=UnitCell(0, 0, 0)) |
Returns the sub-configuration that fills a particular Supercell. More... | |
Configuration | CASM::make_configuration (const PrimClex &primclex, std::string name) |
Make Configuration from name string. More... | |
Eigen::VectorXd | CASM::correlations (const Configuration &config, Clexulator const &clexulator) |
Returns correlations using 'clexulator'. More... | |
Eigen::VectorXd | CASM::corr_contribution (Index linear_unitcell_index, const Configuration &config, Clexulator const &clexulator) |
Returns correlation contribution from a single unit cell, not normalized. More... | |
Eigen::VectorXd | CASM::point_corr (Index linear_unitcell_index, Index neighbor_index, const Configuration &config, Clexulator const &clexulator) |
Returns point correlations from a single site, normalized by cluster orbit size. More... | |
Eigen::MatrixXd | CASM::gradcorrelations (const Configuration &config, Clexulator const &clexulator, DoFKey &key) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'. 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::energy (const Configuration &config) |
Returns the energy, normalized per unit cell. More... | |
double | CASM::energy_per_species (const Configuration &config) |
Returns the 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... | |
double | CASM::rms_force (const Configuration &_config) |
Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.) More... | |
double | CASM::atomic_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::MatrixXd | CASM::relaxed_forces (const Configuration &_config) |
relaxed forces of configuration, determined from DFT (eV/Angstr.), as a 3xN matrix More... | |
IntegralCluster | CASM::config_diff (const Configuration &_config1, const Configuration &_config2) |
Returns an Integral Cluster representing the perturbed sites between the configs. More... | |
Configuration | CASM::closest_setting (const Configuration &_config1, const Configuration &_config2) |
Configuration | CASM::config_clip (const Configuration &_config, const Configuration &_bg, IntegralCluster &_clust) |
Returns a Configuration with the sites in _clust clipped from _config and placed in _bg. 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 no symmetry transformation applied to _config will increase its lexicographic order More... | |
bool | CASM::is_diff_trans_endpoint (const Configuration &_config) |
returns true if _config is an endpoint of any existing diff_trans_config More... | |
std::string | CASM::diff_trans_endpoint_of (const Configuration &_config) |
returns which diff_trans _config is an endpoint of More... | |
bool | CASM::has_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_atomic_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) |
Eigen::VectorXd | CASM::correlations (const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list. More... | |
Eigen::VectorXd | CASM::corr_contribution (Index linear_unitcell_index, const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns correlation contribution from a single unit cell, not normalized. More... | |
Eigen::VectorXd | CASM::point_corr (Index linear_unitcell_index, Index neighbor_index, const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator) |
Returns point correlations from a single site, normalized by cluster orbit size. More... | |
Eigen::MatrixXd | CASM::gradcorrelations (const ConfigDoF &configdof, const Supercell &scel, Clexulator const &clexulator, DoFKey &key) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'. More... | |
Eigen::VectorXi | CASM::num_each_molecule (const ConfigDoF &configdof, const Supercell &scel) |
Returns num_each_molecule(molecule_type), where 'molecule_type' is ordered as Structure::get_struc_molecule() More... | |
Eigen::VectorXd | CASM::comp_n (const ConfigDoF &configdof, const Supercell &scel) |
Returns comp_n, the number of each molecule per primitive cell, ordered as Structure::get_struc_molecule() More... | |
typedef ConfigCanonicalForm< HasSupercell<Comparisons<Calculable<CRTPBase<Configuration> > > > > CASM::ConfigurationBase |
Definition at line 51 of file Configuration.hh.
double CASM::atomic_deformation | ( | const Configuration & | _config | ) |
Cost function that describes the degree to which basis sites have relaxed.
Definition at line 935 of file Configuration.cc.
double CASM::clex_formation_energy | ( | const Configuration & | config | ) |
Returns the formation energy, normalized per unit cell.
Definition at line 910 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 929 of file Configuration.cc.
Configuration CASM::closest_setting | ( | const Configuration & | _config1, |
const Configuration & | _config2 | ||
) |
Returns a rotated/translated version of config 2 that leaves it closest to the occupation of config1
Definition at line 996 of file Configuration.cc.
Eigen::VectorXd CASM::comp | ( | const Configuration & | config | ) |
Returns parametric composition, as calculated using PrimClex::param_comp.
Definition at line 832 of file Configuration.cc.
Returns comp_n, the number of each molecule per primitive cell, ordered as Structure::get_struc_molecule()
Returns comp_n, the number of each molecule per primitive cell, ordered as Structure::xtal::struc_molecule_name()
Definition at line 1301 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 837 of file Configuration.cc.
Configuration CASM::config_clip | ( | const Configuration & | _config, |
const Configuration & | _bg, | ||
IntegralCluster & | _clust | ||
) |
Returns a Configuration with the sites in _clust clipped from _config and placed in _bg.
Definition at line 1024 of file Configuration.cc.
IntegralCluster CASM::config_diff | ( | const Configuration & | _config1, |
const Configuration & | _config2 | ||
) |
Returns an Integral Cluster representing the perturbed sites between the configs.
Returns an IntegralCluster representing the perturbation between the configs.
Definition at line 978 of file Configuration.cc.
Eigen::VectorXd CASM::corr_contribution | ( | Index | linear_unitcell_index, |
const ConfigDoF & | configdof, | ||
const Supercell & | scel, | ||
Clexulator const & | clexulator | ||
) |
Returns correlation contribution from a single unit cell, not normalized.
Returns correlation contribution from a single unit cell, not normalized.
Supercell needs a correctly populated neighbor list.
Definition at line 1147 of file Configuration.cc.
Eigen::VectorXd CASM::corr_contribution | ( | Index | linear_unitcell_index, |
const Configuration & | config, | ||
Clexulator const & | clexulator | ||
) |
Returns correlation contribution from a single unit cell, not normalized.
Returns correlations using 'clexulator'.
Definition at line 807 of file Configuration.cc.
Eigen::VectorXd CASM::correlations | ( | const ConfigDoF & | configdof, |
const Supercell & | scel, | ||
Clexulator const & | clexulator | ||
) |
Returns correlations using 'clexulator'. Supercell needs a correctly populated neighbor list.
Definition at line 1116 of file Configuration.cc.
Eigen::VectorXd CASM::correlations | ( | const Configuration & | config, |
Clexulator const & | clexulator | ||
) |
Returns correlations using 'clexulator'.
Definition at line 801 of file Configuration.cc.
std::string CASM::diff_trans_endpoint_of | ( | const Configuration & | _config | ) |
returns which diff_trans _config is an endpoint of
double CASM::energy | ( | const Configuration & | config | ) |
Returns the energy, normalized per unit cell.
Definition at line 875 of file Configuration.cc.
double CASM::energy_per_species | ( | const Configuration & | config | ) |
Returns the energy, normalized per species.
Definition at line 881 of file Configuration.cc.
double CASM::formation_energy | ( | const Configuration & | config | ) |
Returns the formation energy, normalized per unit cell.
Definition at line 898 of file Configuration.cc.
double CASM::formation_energy_per_species | ( | const Configuration & | config | ) |
Returns the formation energy, normalized per species.
Definition at line 905 of file Configuration.cc.
Eigen::MatrixXd CASM::gradcorrelations | ( | const ConfigDoF & | configdof, |
const Supercell & | scel, | ||
Clexulator const & | clexulator, | ||
DoFKey & | key | ||
) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'.
Definition at line 1197 of file Configuration.cc.
Eigen::MatrixXd CASM::gradcorrelations | ( | const Configuration & | config, |
Clexulator const & | clexulator, | ||
DoFKey & | key | ||
) |
Returns gradient correlations using 'clexulator', with respect to DoF 'dof_type'.
Definition at line 825 of file Configuration.cc.
bool CASM::has_atomic_deformation | ( | const Configuration & | _config | ) |
Definition at line 1074 of file Configuration.cc.
bool CASM::has_energy | ( | const Configuration & | _config | ) |
Definition at line 1055 of file Configuration.cc.
bool CASM::has_formation_energy | ( | const Configuration & | _config | ) |
Definition at line 1064 of file Configuration.cc.
bool CASM::has_lattice_deformation | ( | const Configuration & | _config | ) |
Definition at line 1078 of file Configuration.cc.
bool CASM::has_reference_energy | ( | const Configuration & | _config | ) |
Definition at line 1059 of file Configuration.cc.
bool CASM::has_relaxed_mag_basis | ( | const Configuration & | _config | ) |
Definition at line 1090 of file Configuration.cc.
bool CASM::has_relaxed_magmom | ( | const Configuration & | _config | ) |
Definition at line 1086 of file Configuration.cc.
bool CASM::has_rms_force | ( | const Configuration & | _config | ) |
Definition at line 1068 of file Configuration.cc.
bool CASM::has_volume_relaxation | ( | const Configuration & | _config | ) |
Definition at line 1082 of file Configuration.cc.
bool CASM::is_canonical | ( | const Configuration & | _config | ) |
returns true if no symmetry transformation applied to _config will increase its lexicographic order
Definition at line 1051 of file Configuration.cc.
bool CASM::is_diff_trans_endpoint | ( | const Configuration & | _config | ) |
returns true if _config is an endpoint of any existing diff_trans_config
bool CASM::is_primitive | ( | const Configuration & | _config | ) |
returns true if _config describes primitive cell of the configuration it describes
Definition at line 1045 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 940 of file Configuration.cc.
Configuration CASM::make_configuration | ( | const PrimClex & | primclex, |
std::string | name | ||
) |
Make Configuration from name string.
For configurations in supercells equivalent to the canonical supercell: For canonical configurations:
$CANON_SCELNAME/$CONFIG_INDEX
$CANON_CONFIG_NAME.equiv.$FG_PERM.$TRANS_PERM
$SCEL_NAME/super.$PRIM_FG_OP2.
$NONCANON_CONFIG_NAME`CANON_SCEL_NAME.$PRIM_FG_OP1
Definition at line 783 of file Configuration.cc.
double CASM::n_species | ( | const Configuration & | config | ) |
Returns the total number species per unit cell.
Equivalent to
Definition at line 852 of file Configuration.cc.
double CASM::n_vacancy | ( | const Configuration & | config | ) |
Returns the vacancy composition, as number per unit cell.
Definition at line 842 of file Configuration.cc.
Returns num_each_molecule(molecule_type), where 'molecule_type' is ordered as Structure::get_struc_molecule()
Returns num_each_molecule(molecule_type), where 'molecule_type' is ordered as Structure::xtal::struc_molecule_name()
Definition at line 1282 of file Configuration.cc.
Eigen::VectorXd CASM::point_corr | ( | Index | linear_unitcell_index, |
Index | neighbor_index, | ||
const ConfigDoF & | configdof, | ||
const Supercell & | scel, | ||
Clexulator const & | clexulator | ||
) |
Returns point correlations from a single site, normalized by cluster orbit size.
Definition at line 1169 of file Configuration.cc.
Eigen::VectorXd CASM::point_corr | ( | Index | linear_unitcell_index, |
Index | neighbor_index, | ||
const Configuration & | config, | ||
Clexulator const & | clexulator | ||
) |
Returns point correlations from a single site, normalized by cluster orbit size.
Definition at line 816 of file Configuration.cc.
double CASM::reference_energy | ( | const Configuration & | config | ) |
Returns the reference energy, normalized per unit cell.
Definition at line 886 of file Configuration.cc.
double CASM::reference_energy_per_species | ( | const Configuration & | config | ) |
Returns the reference energy, normalized per species.
Definition at line 893 of file Configuration.cc.
Eigen::MatrixXd CASM::relaxed_forces | ( | const Configuration & | _config | ) |
relaxed forces of configuration, determined from DFT (eV/Angstr.), as a 3xN matrix
Definition at line 963 of file Configuration.cc.
double CASM::relaxed_magmom | ( | const Configuration & | _config | ) |
Returns the relaxed magnetic moment, normalized per unit cell.
Definition at line 952 of file Configuration.cc.
double CASM::relaxed_magmom_per_species | ( | const Configuration & | _config | ) |
Returns the relaxed magnetic moment, normalized per species.
Definition at line 957 of file Configuration.cc.
double CASM::rms_force | ( | const Configuration & | _config | ) |
Root-mean-square forces of relaxed configurations, determined from DFT (eV/Angstr.)
Definition at line 969 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.
Returns the composition as site fraction, in the order of Structure::struc_molecule.
Definition at line 870 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.
Returns the composition as species fraction, with [Va] = 0.0, in the order of Structure::struc_molecule.
Definition at line 860 of file Configuration.cc.
Configuration CASM::sub_configuration | ( | std::shared_ptr< Supercell const > | sub_scel_ptr, |
const Configuration & | super_config, | ||
const UnitCell & | origin = UnitCell(0, 0, 0) |
||
) |
Returns the sub-configuration that fills a particular Supercell.
sub_scel_ptr | The Supercell of the sub-configuration |
super_config | The super-configuration |
origin | The UnitCell indicating the which unit cell in the super-configuration is the origin in sub-configuration |
Definition at line 600 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 945 of file Configuration.cc.