CASM
1.1.0
A Clusters Approach to Statistical Mechanics
|
#include <Clexulator.hh>
Abstract base class for cluster expansion correlation calculations.
Definition at line 25 of file Clexulator.hh.
Public Types | |
typedef unsigned int | size_type |
Public Member Functions | |
Base (size_type _nlist_size, size_type _corr_size, size_type _n_point_corr) | |
virtual | ~Base () |
size_type | nlist_size () const |
Neighbor list size. More... | |
size_type | corr_size () const |
Number of correlations. More... | |
size_type | n_point_corr () const |
Valid range for neighbor_ind argument to calc_point_corr. More... | |
std::unique_ptr< Base > | clone () const |
Clone the Clexulator. More... | |
virtual ClexParamPack const & | param_pack () const =0 |
Obtain const reference to abstract ClexParamPack object. More... | |
virtual ClexParamPack & | param_pack ()=0 |
Obtain reference to abstract ClexParamPack object. More... | |
ClexParamKey const & | param_key (std::string const &_param_name) const |
Obtain ClexParamKey for a particular parameter. More... | |
void | set_evaluation (ClexParamKey const &_param_key, std::vector< std::function< double(ConfigDoF const &)> > const &_basis_set) |
Alter evaluation of parameters specified by. More... | |
void | set_evaluation (ClexParamKey const &_param_key, std::vector< std::function< double(std::vector< double > const &)> > const &_basis_set) |
Alter evaluation of parameters specified by. More... | |
void | set_evaluation (ClexParamKey const &_param_key, std::string const &_eval_type) |
Alter evaluation of parameters specified by. More... | |
std::string | check_evaluation (ClexParamKey const &_param_key) const |
Check evaluation mode of parameters specified by. More... | |
const std::set< UnitCell > & | neighborhood () const |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell. More... | |
const std::set< UnitCell > & | neighborhood (size_type linear_orbit_index) const |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell. More... | |
const PrimNeighborList::Matrix3Type & | weight_matrix () const |
The weight matrix used for ordering the neighbor list. More... | |
void | calc_global_corr_contribution (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, double *_corr_begin, double *_corr_end) const |
Calculate contribution to global correlations from one unit cell. More... | |
void | calc_global_corr_contribution (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end) const |
Calculate contribution to global correlations from one unit cell. More... | |
void | calc_restricted_global_corr_contribution (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, double *_corr_begin, double *_corr_end, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const |
Calculate contribution to select global correlations from one unit cell. More... | |
void | calc_point_corr (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, int neighbor_ind, double *_corr_begin, double *_corr_end) const |
Calculate point correlations about basis site 'neighbor_ind'. More... | |
void | calc_restricted_point_corr (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, int neighbor_ind, double *_corr_begin, double *_corr_end, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const |
Calculate select point correlations about basis site 'neighbor_ind'. More... | |
void | calc_delta_point_corr (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, int neighbor_ind, int occ_i, int occ_f, double *_corr_begin, double *_corr_end) const |
Calculate the change in point correlations due to changing an occupant. More... | |
void | calc_restricted_delta_point_corr (ConfigDoF const &_input_configdof, long int const *_nlist_begin, long int const *_nlist_end, int neighbor_ind, int occ_i, int occ_f, double *_corr_begin, double *_corr_end, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const |
Calculate the change in select point correlations due to changing an occupant. More... | |
Protected Member Functions | |
virtual void | _calc_global_corr_contribution () const =0 |
virtual void | _calc_global_corr_contribution (double *_corr_begin) const =0 |
virtual void | _calc_restricted_global_corr_contribution (size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
virtual void | _calc_restricted_global_corr_contribution (double *_corr_begin, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
virtual void | _calc_point_corr (int neighbor_ind) const =0 |
virtual void | _calc_point_corr (int neighbor_ind, double *_corr_begin) const =0 |
virtual void | _calc_restricted_point_corr (int neighbor_ind, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
virtual void | _calc_restricted_point_corr (int neighbor_ind, double *_corr_begin, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
virtual void | _calc_delta_point_corr (int neighbor_ind, int occ_i, int occ_f) const =0 |
virtual void | _calc_delta_point_corr (int neighbor_ind, int occ_i, int occ_f, double *_corr_begin) const =0 |
virtual void | _calc_restricted_delta_point_corr (int neighbor_ind, int occ_i, int occ_f, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
virtual void | _calc_restricted_delta_point_corr (int neighbor_ind, int occ_i, int occ_f, double *_corr_begin, size_type const *_corr_ind_begin, size_type const *_corr_ind_end) const =0 |
void | _register_local_dof (std::string const &_type_name, Index _ind) |
void | _register_global_dof (std::string const &_type_name, Index _ind) |
ConfigDoF const & | _configdof () const |
access reference to internally pointed ConfigDoF More... | |
Index const & | _l (Index nlist_ind) const |
access reference to internally pointed ConfigDoF More... | |
void | _set_nlist (const long int *_nlist_begin, const long int *_nlist_end) const |
Set pointer to neighbor list. More... | |
Protected Attributes | |
std::set< UnitCell > | m_neighborhood |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell. More... | |
std::vector< std::set< UnitCell > > | m_orbit_neighborhood |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell. More... | |
PrimNeighborList::Matrix3Type | m_weight_matrix |
The weight matrix used for ordering the neighbor list. More... | |
std::vector< LocalContinuousConfigDoFValues const * > | m_local_dof_ptrs |
std::vector< GlobalContinuousConfigDoFValues const * > | m_global_dof_ptrs |
Private Member Functions | |
virtual Base * | _clone () const =0 |
Clone the Clexulator. More... | |
void | _set_configdof (ConfigDoF const &_input_configdof) const |
Set internal pointers to correct DoFs. More... | |
Private Attributes | |
size_type | m_nlist_size |
The neighbor list size. More... | |
size_type | m_corr_size |
The number of correlations. More... | |
size_type | m_n_point_corr |
Valid range for neighbor_ind argument to calc_point_corr. More... | |
std::map< std::string, Index > | m_local_dof_registry |
std::map< std::string, Index > | m_global_dof_registry |
ConfigDoF const * | m_config_ptr |
Pointer to ConfigDoF for which evaluation is occuring. More... | |
long int const * | m_nlist_ptr |
Pointer to neighbor list. More... | |
typedef unsigned int CASM::Clexulator_impl::Base::size_type |
Definition at line 27 of file Clexulator.hh.
Definition at line 137 of file Clexulator.cc.
|
virtual |
Definition at line 143 of file Clexulator.cc.
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
protectedpure virtual |
|
privatepure virtual |
Clone the Clexulator.
|
inlineprotected |
access reference to internally pointed ConfigDoF
Definition at line 382 of file Clexulator.hh.
access reference to internally pointed ConfigDoF
Definition at line 385 of file Clexulator.hh.
|
inlineprotected |
Definition at line 374 of file Clexulator.hh.
|
inlineprotected |
Definition at line 367 of file Clexulator.hh.
|
inlineprivate |
Set internal pointers to correct DoFs.
Definition at line 300 of file Clexulator.hh.
|
inlineprotected |
Set pointer to neighbor list.
Call using:
Definition at line 395 of file Clexulator.hh.
|
inline |
Calculate the change in point correlations due to changing an occupant.
neighbor_ind Basis site index about which to calculate correlations
occ_i,occ_f Initial and final occupant variable
_corr_begin Pointer to beginning of data structure where difference in correlations are written
Call using:
Definition at line 247 of file Clexulator.hh.
|
inline |
Calculate contribution to global correlations from one unit cell.
Call using:
Definition at line 135 of file Clexulator.hh.
|
inline |
Calculate contribution to global correlations from one unit cell.
_corr_begin | Pointer to beginning of data structure where correlations are written |
Call using:
Definition at line 112 of file Clexulator.hh.
|
inline |
Calculate point correlations about basis site 'neighbor_ind'.
neighbor_ind Basis site index about which to calculate correlations
_corr_begin Pointer to beginning of data structure where correlations are written
Call using:
Definition at line 187 of file Clexulator.hh.
|
inline |
Calculate the change in select point correlations due to changing an occupant.
neighbor_ind Basis site index about which to calculate correlations
occ_i,occ_f Initial and final occupant variable
_corr_begin Pointer to beginning of data structure where difference in correlations are written
_corr_ind_begin,_corr_ind_end | Pointers to range indicating which correlations should be calculated |
Call using:
Definition at line 282 of file Clexulator.hh.
|
inline |
Calculate contribution to select global correlations from one unit cell.
_corr_begin | Pointer to beginning of data structure where correlations are written |
_corr_ind_begin,_corr_ind_end | Pointers to range indicating which correlations should be calculated |
Call using:
Definition at line 163 of file Clexulator.hh.
|
inline |
Calculate select point correlations about basis site 'neighbor_ind'.
neighbor_ind Neighbor within specified neighborhood about which to calculate correlations _corr_begin Pointer to beginning of data structure where correlations are written
_corr_ind_begin,_corr_ind_end | Pointers to range indicating which correlations should be calculated |
Call using:
Definition at line 218 of file Clexulator.hh.
std::string Base::check_evaluation | ( | ClexParamKey const & | _param_key | ) | const |
Check evaluation mode of parameters specified by.
_param_key,which | can be one of (at least) "READ" (i.e., read from ClexParamPack), "CUSTOM", or "DEFAULT" (i.e., the Clexulator's default implementation) |
Definition at line 173 of file Clexulator.cc.
std::unique_ptr< Base > Base::clone | ( | ) | const |
Clone the Clexulator.
Definition at line 146 of file Clexulator.cc.
|
inline |
Number of correlations.
Definition at line 37 of file Clexulator.hh.
|
inline |
Valid range for neighbor_ind
argument to calc_point_corr.
Definition at line 43 of file Clexulator.hh.
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell.
Definition at line 84 of file Clexulator.hh.
|
inline |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell.
Definition at line 88 of file Clexulator.hh.
|
inline |
Neighbor list size.
Definition at line 34 of file Clexulator.hh.
ClexParamKey const & Base::param_key | ( | std::string const & | _param_name | ) | const |
Obtain ClexParamKey for a particular parameter.
Definition at line 178 of file Clexulator.cc.
|
pure virtual |
Obtain const reference to abstract ClexParamPack object.
|
pure virtual |
Obtain reference to abstract ClexParamPack object.
void Base::set_evaluation | ( | ClexParamKey const & | _param_key, |
std::string const & | _eval_type | ||
) |
Alter evaluation of parameters specified by.
_param_key,using | the string |
_eval_type |
Definition at line 167 of file Clexulator.cc.
void Base::set_evaluation | ( | ClexParamKey const & | _param_key, |
std::vector< std::function< double(ConfigDoF const &)> > const & | _basis_set | ||
) |
Alter evaluation of parameters specified by.
_param_key,using | a custom double -> double function set |
Definition at line 152 of file Clexulator.cc.
void Base::set_evaluation | ( | ClexParamKey const & | _param_key, |
std::vector< std::function< double(std::vector< double > const &)> | , | ||
const & | _basis_set | ||
) |
Alter evaluation of parameters specified by.
_param_key,using | a custom int -> double function set |
Definition at line 158 of file Clexulator.cc.
|
inline |
The weight matrix used for ordering the neighbor list.
Definition at line 93 of file Clexulator.hh.
|
mutableprivate |
Pointer to ConfigDoF for which evaluation is occuring.
Definition at line 423 of file Clexulator.hh.
|
private |
The number of correlations.
Definition at line 317 of file Clexulator.hh.
|
mutableprotected |
Definition at line 419 of file Clexulator.hh.
|
private |
Definition at line 324 of file Clexulator.hh.
|
mutableprotected |
Definition at line 416 of file Clexulator.hh.
|
private |
Definition at line 322 of file Clexulator.hh.
|
private |
Valid range for neighbor_ind
argument to calc_point_corr.
Definition at line 320 of file Clexulator.hh.
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell.
Definition at line 407 of file Clexulator.hh.
|
mutableprivate |
Pointer to neighbor list.
Definition at line 426 of file Clexulator.hh.
|
private |
The neighbor list size.
Definition at line 314 of file Clexulator.hh.
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell.
Definition at line 411 of file Clexulator.hh.
|
protected |
The weight matrix used for ordering the neighbor list.
Definition at line 414 of file Clexulator.hh.