CASM
AClustersApproachtoStatisticalMechanics
|
#include <Clexulator.hh>
Abstract base class for cluster expansion correlation calculations.
Definition at line 16 of file Clexulator.hh.
Public Types | |
typedef unsigned int | size_type |
Public Member Functions | |
Base (size_type _nlist_size, size_type _corr_size) | |
virtual | ~Base () |
size_type | nlist_size () const |
Neighbor list size. More... | |
size_type | corr_size () const |
Number of correlations. More... | |
std::unique_ptr< Base > | clone () const |
Clone the Clexulator. More... | |
const std::set< UnitCellCoord > & | neighborhood () const |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell. More... | |
const std::set< UnitCellCoord > & | 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 | set_config_occ (const int *_occ_ptr) |
Set pointer to data structure containing occupation variables. More... | |
void | set_nlist (const long int *_nlist_ptr) |
Set pointer to neighbor list. More... | |
virtual void | calc_global_corr_contribution (double *corr_begin) const =0 |
Calculate contribution to global correlations from one unit cell. More... | |
virtual void | calc_restricted_global_corr_contribution (double *corr_begin, size_type const *ind_list_begin, size_type const *ind_list_end) const =0 |
Calculate contribution to select global correlations from one unit cell. More... | |
virtual void | calc_point_corr (int b_index, double *corr_begin) const =0 |
Calculate point correlations about basis site 'b_index'. More... | |
virtual void | calc_restricted_point_corr (int b_index, double *corr_begin, size_type const *ind_list_begin, size_type const *ind_list_end) const =0 |
Calculate select point correlations about basis site 'b_index'. More... | |
virtual void | calc_delta_point_corr (int b_index, int occ_i, int occ_f, double *corr_begin) const =0 |
Calculate the change in point correlations due to changing an occupant. More... | |
virtual void | calc_restricted_delta_point_corr (int b_index, int occ_i, int occ_f, double *corr_begin, size_type const *ind_list_begin, size_type const *ind_list_end) const =0 |
Calculate the change in select point correlations due to changing an occupant. More... | |
Protected Attributes | |
const int * | m_occ_ptr |
Pointer to beginning of data structure containing occupation variables. More... | |
const long int * | m_nlist_ptr |
Pointer to neighbor list. More... | |
std::set< UnitCellCoord > | m_neighborhood |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell. More... | |
std::vector< std::set < UnitCellCoord > > | 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... | |
Private Member Functions | |
virtual Base * | _clone () const =0 |
Clone the Clexulator. More... | |
Private Attributes | |
size_type | m_nlist_size |
The neighbor list size. More... | |
size_type | m_corr_size |
The number of correlations. More... | |
typedef unsigned int CASM::Clexulator_impl::Base::size_type |
Definition at line 20 of file Clexulator.hh.
Definition at line 23 of file Clexulator.hh.
|
inlinevirtual |
Definition at line 27 of file Clexulator.hh.
|
privatepure virtual |
Clone the Clexulator.
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate the change in point correlations due to changing an occupant.
b_index 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:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate contribution to global correlations from one unit cell.
corr_begin | Pointer to beginning of data structure where correlations are written |
Call using:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate point correlations about basis site 'b_index'.
b_index Basis site index about which to calculate correlations corr_begin Pointer to beginning of data structure where correlations are written
Call using:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate the change in select point correlations due to changing an occupant.
b_index 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
ind_list_begin,ind_list_end | Pointers to range indicating which correlations should be calculated |
Call using:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate contribution to select global correlations from one unit cell.
corr_begin | Pointer to beginning of data structure where correlations are written |
ind_list_begin,ind_list_end | Pointers to range indicating which correlations should be calculated |
Call using:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
pure virtual |
Calculate select point correlations about basis site 'b_index'.
b_index Basis site index about which to calculate correlations corr_begin Pointer to beginning of data structure where correlations are written
ind_list_begin,ind_list_end | Pointers to range indicating which correlations should be calculated |
Call using:
Implemented in CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::ZrO_Clexulator, CASM::test_Clexulator, and CASM::FCC_ternary_Clexulator.
|
inline |
Clone the Clexulator.
Definition at line 40 of file Clexulator.hh.
|
inline |
Number of correlations.
Definition at line 35 of file Clexulator.hh.
|
inline |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell.
Definition at line 46 of file Clexulator.hh.
|
inline |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell.
Definition at line 52 of file Clexulator.hh.
|
inline |
Neighbor list size.
Definition at line 30 of file Clexulator.hh.
|
inline |
Set pointer to data structure containing occupation variables.
_occ_ptr | Pointer to beginning of data structure containing occupation variables |
Call using:
Definition at line 70 of file Clexulator.hh.
|
inline |
Set pointer to neighbor list.
Call using:
Definition at line 83 of file Clexulator.hh.
|
inline |
The weight matrix used for ordering the neighbor list.
Definition at line 57 of file Clexulator.hh.
|
private |
The number of correlations.
Definition at line 207 of file Clexulator.hh.
|
protected |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell.
Definition at line 220 of file Clexulator.hh.
|
protected |
Pointer to neighbor list.
Definition at line 216 of file Clexulator.hh.
|
private |
The neighbor list size.
Definition at line 204 of file Clexulator.hh.
|
protected |
Pointer to beginning of data structure containing occupation variables.
Definition at line 213 of file Clexulator.hh.
|
protected |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell.
Definition at line 224 of file Clexulator.hh.
|
protected |
The weight matrix used for ordering the neighbor list.
Definition at line 227 of file Clexulator.hh.