CASM
AClustersApproachtoStatisticalMechanics
|
#include <Clexulator.hh>
Evaluates correlations.
CASM generates code for very efficient calculation of basis functions via the print_clexulator function. This source code may be compiled, linked, and used at runtime via Clexulator.
Definition at line 240 of file Clexulator.hh.
Public Types | |
typedef Clexulator_impl::Base::size_type | size_type |
Public Member Functions | |
Clexulator () | |
Clexulator (std::string name, boost::filesystem::path dirpath, PrimNeighborList &nlist, const Logging &logging, std::string compile_options, std::string so_options) | |
Construct a Clexulator. More... | |
Clexulator (const Clexulator &B) | |
Copy constructor. More... | |
Clexulator (Clexulator &&B) | |
Move constructor. More... | |
~Clexulator () | |
Clexulator & | operator= (Clexulator B) |
Assignment operator. More... | |
bool | initialized () const |
Is runtime library loaded? More... | |
std::string | name () const |
Name. More... | |
size_type | nlist_size () const |
Neighbor list size. More... | |
size_type | corr_size () const |
Number of correlations. 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... | |
void | calc_global_corr_contribution (double *corr_begin) const |
Calculate contribution to global correlations from one unit cell. More... | |
void | calc_restricted_global_corr_contribution (double *corr_begin, size_type const *ind_list_begin, size_type const *ind_list_end) const |
Calculate contribution to select global correlations from one unit cell. More... | |
void | calc_point_corr (int b_index, double *corr_begin) const |
Calculate point correlations about basis site 'b_index'. More... | |
void | calc_restricted_point_corr (int b_index, double *corr_begin, size_type const *ind_list_begin, size_type const *ind_list_end) const |
Calculate select point correlations about basis site 'b_index'. More... | |
void | calc_delta_point_corr (int b_index, int occ_i, int occ_f, double *corr_begin) const |
Calculate the change in point correlations due to changing an occupant. More... | |
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 |
Calculate the change in select point correlations due to changing an occupant. More... | |
Private Attributes | |
std::string | m_name |
std::unique_ptr < Clexulator_impl::Base > | m_clex |
std::shared_ptr< RuntimeLibrary > | m_lib |
Friends | |
void | swap (Clexulator &first, Clexulator &second) |
Swap. More... | |
Definition at line 244 of file Clexulator.hh.
|
inline |
Definition at line 247 of file Clexulator.hh.
|
inline |
Construct a Clexulator.
name | Class name for the Clexulator, typically 'X_Clexulator', with X referring to the system of interest (i.e. 'NiAl_Clexulator') |
dirpath | Directory containing the source code and compiled object file. |
nlist,A | PrimNeighborList to be updated to include the neighborhood of this Clexulator |
logging | Print messages to inform users that compilation is occuring |
compile_options | Compilation options |
so_options | Shared library compilation options |
If 'name' is 'X_Clexulator', and 'dirpath' is '/path/to':
The Clexulator has shared ownership of the loaded library, so it is preferrable to duplicate the Clexulator using it's copy constructor rather than construct another using this constructor which will re-load the library.
Definition at line 269 of file Clexulator.hh.
|
inline |
Copy constructor.
Definition at line 317 of file Clexulator.hh.
|
inline |
Move constructor.
Definition at line 327 of file Clexulator.hh.
|
inline |
Definition at line 331 of file Clexulator.hh.
|
inline |
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:
Definition at line 507 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 430 of file Clexulator.hh.
|
inline |
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:
Definition at line 467 of file Clexulator.hh.
|
inline |
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:
Definition at line 529 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 |
ind_list_begin,ind_list_end | Pointers to range indicating which correlations should be calculated |
Call using:
Definition at line 449 of file Clexulator.hh.
|
inline |
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:
Definition at line 487 of file Clexulator.hh.
|
inline |
Number of correlations.
Definition at line 370 of file Clexulator.hh.
|
inline |
Is runtime library loaded?
Definition at line 355 of file Clexulator.hh.
|
inline |
Name.
Definition at line 360 of file Clexulator.hh.
|
inline |
The UnitCellCoord involved in calculating the basis functions, relative origin UnitCell.
Definition at line 376 of file Clexulator.hh.
|
inline |
The UnitCellCoord involved in calculating the basis functions for a particular orbit, relative origin UnitCell.
Definition at line 382 of file Clexulator.hh.
|
inline |
Neighbor list size.
Definition at line 365 of file Clexulator.hh.
|
inline |
Assignment operator.
Definition at line 337 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 400 of file Clexulator.hh.
|
inline |
Set pointer to neighbor list.
Call using:
Definition at line 413 of file Clexulator.hh.
|
inline |
The weight matrix used for ordering the neighbor list.
Definition at line 387 of file Clexulator.hh.
|
friend |
Swap.
Definition at line 345 of file Clexulator.hh.
|
private |
Definition at line 542 of file Clexulator.hh.
|
private |
Definition at line 543 of file Clexulator.hh.
|
private |
Definition at line 541 of file Clexulator.hh.