mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-10-20 14:58:23 +02:00
Added all the required tables and data for Jastrow. #22
This commit is contained in:
parent
938f362094
commit
c945514e56
@ -78,7 +78,6 @@ int main() {
|
|||||||
| ~int64_t~ | ~bord_num~ | in | The number of b coeffecients |
|
| ~int64_t~ | ~bord_num~ | in | The number of b coeffecients |
|
||||||
| ~int64_t~ | ~cord_num~ | in | The number of c coeffecients |
|
| ~int64_t~ | ~cord_num~ | in | The number of c coeffecients |
|
||||||
| ~uint64_t~ | ~type_nuc_num~ | in | Number of Nucleii types |
|
| ~uint64_t~ | ~type_nuc_num~ | in | Number of Nucleii types |
|
||||||
| ~uint64_t~ | ~dim_cord_vec~ | in | Number of unique C coefficients |
|
|
||||||
| ~double~ | ~aord_vector[aord_num + 1][type_nuc_num]~ | in | Order of a polynomial coefficients |
|
| ~double~ | ~aord_vector[aord_num + 1][type_nuc_num]~ | in | Order of a polynomial coefficients |
|
||||||
| ~double~ | ~bord_vector[bord_num + 1]~ | in | Order of b polynomial coefficients |
|
| ~double~ | ~bord_vector[bord_num + 1]~ | in | Order of b polynomial coefficients |
|
||||||
| ~double~ | ~cord_vector[cord_num][type_nuc_num]~ | in | Order of c polynomial coefficients |
|
| ~double~ | ~cord_vector[cord_num][type_nuc_num]~ | in | Order of c polynomial coefficients |
|
||||||
@ -91,11 +90,68 @@ int main() {
|
|||||||
|
|
||||||
computed data:
|
computed data:
|
||||||
|
|
||||||
|-------------------+--------------------------------------------+---------------------------------|
|
|-------------------+--------------------------------------------+-------------------------------------------------|
|
||||||
| ~coord_vect_full~ | ~[dim_cord_vec]~ | vector of non-zero coefficients |
|
| ~uint64_t~ | ~dim_cord_vec~ | Number of unique C coefficients |
|
||||||
|
| ~coord_vect_full~ | ~[dim_cord_vec][nuc_num]~ | vector of non-zero coefficients |
|
||||||
|
| ~lkpm_of_cindex~ | ~[4][dim_cord_vec]~ | Transform l,k,p, and m into consecutive indices |
|
||||||
| ~tmp_c~ | ~[elec_num][nuc_num][ncord + 1][ncord]~ | vector of non-zero coefficients |
|
| ~tmp_c~ | ~[elec_num][nuc_num][ncord + 1][ncord]~ | vector of non-zero coefficients |
|
||||||
| ~dtmp_c~ | ~[elec_num][4][nuc_num][ncord + 1][ncord]~ | vector of non-zero coefficients |
|
| ~dtmp_c~ | ~[elec_num][4][nuc_num][ncord + 1][ncord]~ | vector of non-zero coefficients |
|
||||||
|
|
||||||
|
For H2O we have the following data:
|
||||||
|
|
||||||
|
#+BEGIN_EXAMPLE
|
||||||
|
type_nuc_num = 1
|
||||||
|
aord_num = 5
|
||||||
|
bord_num = 5
|
||||||
|
cord_num = 23
|
||||||
|
dim_cord_vec = 23
|
||||||
|
|
||||||
|
aord_vector = [ 0.000000000000000E+000, 0.000000000000000E+000, -0.380512000000000E+000,
|
||||||
|
-0.157996000000000E+000, -3.155800000000000E-002, 2.151200000000000E-002]
|
||||||
|
|
||||||
|
bord_vector = [ 0.500000000000000E-000, 0.153660000000000E-000, 6.722620000000000E-002,
|
||||||
|
2.157000000000000E-002, 7.309600000000000E-003, 2.866000000000000E-003]
|
||||||
|
|
||||||
|
cord_vector = [ 0.571702000000000E-000, -0.514253000000000E-000, -0.513043000000000E-000,
|
||||||
|
9.486000000000000E-003, -4.205000000000000E-003, 0.426325800000000E-000,
|
||||||
|
8.288150000000000E-002, 5.118600000000000E-003, -2.997800000000000E-003,
|
||||||
|
-5.270400000000000E-003, -7.499999999999999E-005, -8.301649999999999E-002,
|
||||||
|
1.454340000000000E-002, 5.143510000000000E-002, 9.250000000000000E-004,
|
||||||
|
-4.099100000000000E-003, 4.327600000000000E-003, -1.654470000000000E-003,
|
||||||
|
2.614000000000000E-003, -1.477000000000000E-003, -1.137000000000000E-003,
|
||||||
|
-4.010475000000000E-002, 6.106710000000000E-003 ]
|
||||||
|
|
||||||
|
cord_vector_full = [
|
||||||
|
[ 0.571702000000000E-000, -0.514253000000000E-000, -0.513043000000000E-000,
|
||||||
|
9.486000000000000E-003, -4.205000000000000E-003, 0.426325800000000E-000,
|
||||||
|
8.288150000000000E-002, 5.118600000000000E-003, -2.997800000000000E-003,
|
||||||
|
-5.270400000000000E-003, -7.499999999999999E-005, -8.301649999999999E-002,
|
||||||
|
1.454340000000000E-002, 5.143510000000000E-002, 9.250000000000000E-004,
|
||||||
|
-4.099100000000000E-003, 4.327600000000000E-003, -1.654470000000000E-003,
|
||||||
|
2.614000000000000E-003, -1.477000000000000E-003, -1.137000000000000E-003,
|
||||||
|
-4.010475000000000E-002, 6.106710000000000E-003 ],
|
||||||
|
[ 0.571702000000000E-000, -0.514253000000000E-000, -0.513043000000000E-000,
|
||||||
|
9.486000000000000E-003, -4.205000000000000E-003, 0.426325800000000E-000,
|
||||||
|
8.288150000000000E-002, 5.118600000000000E-003, -2.997800000000000E-003,
|
||||||
|
-5.270400000000000E-003, -7.499999999999999E-005, -8.301649999999999E-002,
|
||||||
|
1.454340000000000E-002, 5.143510000000000E-002, 9.250000000000000E-004,
|
||||||
|
-4.099100000000000E-003, 4.327600000000000E-003, -1.654470000000000E-003,
|
||||||
|
2.614000000000000E-003, -1.477000000000000E-003, -1.137000000000000E-003,
|
||||||
|
-4.010475000000000E-002, 6.106710000000000E-003 ],
|
||||||
|
]
|
||||||
|
|
||||||
|
lkpm_of_cindex =
|
||||||
|
[ 1, 1, 2, 0, 0, 0, 2, 1, 1, 2, 3, 0, 2, 1, 3, 0, 0, 1,
|
||||||
|
3, 1, 1, 0, 3, 1, 1, 3, 4, 0, 2, 2, 4, 0, 0, 2, 4, 1,
|
||||||
|
3, 1, 4, 0, 1, 1, 4, 1, 2, 0, 4, 1, 0, 0, 4, 2, 1, 4,
|
||||||
|
5, 0, 2, 3, 5, 0, 0, 3, 5, 1, 3, 2, 5, 0, 1, 2, 5, 1,
|
||||||
|
4, 1, 5, 0, 2, 1, 5, 1, 0, 1, 5, 2, 3, 0, 5, 1, 1, 0,
|
||||||
|
5, 2 ]
|
||||||
|
|
||||||
|
|
||||||
|
#+END_EXAMPLE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
** Data structure
|
** Data structure
|
||||||
|
|
||||||
@ -106,7 +162,6 @@ typedef struct qmckl_jastrow_struct{
|
|||||||
int64_t bord_num;
|
int64_t bord_num;
|
||||||
int64_t cord_num;
|
int64_t cord_num;
|
||||||
uint64_t type_nuc_num;
|
uint64_t type_nuc_num;
|
||||||
uint64_t dim_cord_vec;
|
|
||||||
double * aord_vector;
|
double * aord_vector;
|
||||||
double * bord_vector;
|
double * bord_vector;
|
||||||
double * cord_vector;
|
double * cord_vector;
|
||||||
@ -116,6 +171,10 @@ typedef struct qmckl_jastrow_struct{
|
|||||||
double * factor_ee_deriv_e;
|
double * factor_ee_deriv_e;
|
||||||
double * factor_en_deriv_e;
|
double * factor_en_deriv_e;
|
||||||
double * factor_een_deriv_e;
|
double * factor_een_deriv_e;
|
||||||
|
uint64_t dim_cord_vec;
|
||||||
|
double * coord_vect_full,
|
||||||
|
double * tmp_c,
|
||||||
|
double * dtmp_c,
|
||||||
bool provided;
|
bool provided;
|
||||||
char type;
|
char type;
|
||||||
} qmckl_jastrow_struct;
|
} qmckl_jastrow_struct;
|
||||||
@ -143,11 +202,9 @@ qmckl_exit_code qmckl_init_jastrow(qmckl_context context) {
|
|||||||
qmckl_context_struct* const ctx = (qmckl_context_struct* const) context;
|
qmckl_context_struct* const ctx = (qmckl_context_struct* const) context;
|
||||||
assert (ctx != NULL);
|
assert (ctx != NULL);
|
||||||
|
|
||||||
ctx->jastrow.uninitialized = (1 << 2) - 1;
|
ctx->jastrow.uninitialized = (1 << ) - 1;
|
||||||
|
|
||||||
/* Default values */
|
/* Default values */
|
||||||
//ctx->jastrow.rescale_factor_kappa_ee = 1.0;
|
|
||||||
//ctx->jastrow.rescale_factor_kappa_en = 1.0;
|
|
||||||
|
|
||||||
return QMCKL_SUCCESS;
|
return QMCKL_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user