1 #ifndef MYCLEX1_CLEXULATOR_HH
2 #define MYCLEX1_CLEXULATOR_HH
29 int m_site_N, m_nlist_N;
32 const int *m_nlist_ptr;
37 const double[3] m_occfunc_0_0, m_occfunc_0_1;
38 const double[2] m_occfunc_1_0;
39 const double[2] m_occfunc_2_0;
45 const double *m_xdisp_ptr;
46 const double *m_ydisp_ptr;
47 const double *m_zdisp_ptr;
51 const double *m_c_var_ptr;
54 int nlist_size()
const {
57 int supercell_size()
const {
60 void set_supercell_size(
int _site_N) {
65 void set_nlist(
const int *_nlist_ptr)
const;
67 void calc_point_corr(
double *corr_out);
69 void set_occ(
const int *_occ_ptr)
const;
70 void set_xdisp(
const double *_occ_ptr)
const;
71 void set_ydisp(
const double *_occ_ptr)
const;
72 void set_zdisp(
const double *_occ_ptr)
const;
73 void set_cvar(
const int *_occ_ptr)
const;
77 double eval_0_bfunc_2_4_0_0();
78 double eval_0_bfunc_2_4_0_1();
79 double eval_0_bfunc_2_4_0_2();
80 double eval_0_bfunc_2_4_0_3();
82 double eval_0_docc_func_0_0_bfunc_2_4_0_3();
83 double eval_0_docc_func_0_1_bfunc_2_4_0_3();
87 const double ClexClust::sitefunc_0_0 = { -1.0, 0.0, 1.0};
88 const double ClexClust::sitefunc_0_1 = {1.0, 0.0, 1.0};
89 const double ClexClust::sitefunc_1_0 = { -1.0, 1.0};
90 const double ClexClust::sitefunc_2_0 = { -1.0, 1.0};
105 class ClexClust_3_5_0 :
public ClexClust {
111 void preprocess(Configuration &config,
int site_ind);
112 double eval(Configuration &config,
int site_ind);
113 double dp1_1_eval(Configuration &config,
int site_ind);
114 double dp1_1_eval(Configuration &config,
int site_ind);
115 double dp1_1_eval(Configuration &config,
int site_ind);