diff --git a/org/qmckl_jastrow.org b/org/qmckl_jastrow.org index c034f1d..e7fb20d 100644 --- a/org/qmckl_jastrow.org +++ b/org/qmckl_jastrow.org @@ -78,7 +78,6 @@ int main() { | ~int64_t~ | ~bord_num~ | in | The number of b coeffecients | | ~int64_t~ | ~cord_num~ | in | The number of c coeffecients | | ~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~ | ~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 | @@ -91,10 +90,67 @@ int main() { computed data: - |-------------------+--------------------------------------------+---------------------------------| - | ~coord_vect_full~ | ~[dim_cord_vec]~ | 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 | + |-------------------+--------------------------------------------+-------------------------------------------------| + | ~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 | + | ~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 @@ -106,7 +162,6 @@ typedef struct qmckl_jastrow_struct{ int64_t bord_num; int64_t cord_num; uint64_t type_nuc_num; - uint64_t dim_cord_vec; double * aord_vector; double * bord_vector; double * cord_vector; @@ -116,6 +171,10 @@ typedef struct qmckl_jastrow_struct{ double * factor_ee_deriv_e; double * factor_en_deriv_e; double * factor_een_deriv_e; + uint64_t dim_cord_vec; + double * coord_vect_full, + double * tmp_c, + double * dtmp_c, bool provided; char type; } 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; assert (ctx != NULL); - ctx->jastrow.uninitialized = (1 << 2) - 1; + ctx->jastrow.uninitialized = (1 << ) - 1; /* Default values */ - //ctx->jastrow.rescale_factor_kappa_ee = 1.0; - //ctx->jastrow.rescale_factor_kappa_en = 1.0; return QMCKL_SUCCESS; }