From 8ebcb6361078c7ac281cb253a0ba17fa0d1573a6 Mon Sep 17 00:00:00 2001 From: v1j4y Date: Fri, 11 Feb 2022 14:50:42 +0100 Subject: [PATCH 1/3] Bug Fix for icc. Fixes #60. --- org/qmckl_local_energy.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org/qmckl_local_energy.org b/org/qmckl_local_energy.org index 1a1cacc..7e9e392 100644 --- a/org/qmckl_local_energy.org +++ b/org/qmckl_local_energy.org @@ -1645,7 +1645,7 @@ end function qmckl_compute_drift_vector_f #+begin_src c :tangle (eval c_test) :exports none // Calculate the Drift vector -double drift_vector[walk_num][3]; +double drift_vector[walk_num][elec_num][3]; rc = qmckl_get_drift_vector(context, &(drift_vector[0][0])); assert (rc == QMCKL_SUCCESS); From 71b0bbfaff044341c23765c83406eb794a2354cb Mon Sep 17 00:00:00 2001 From: v1j4y Date: Fri, 11 Feb 2022 15:28:11 +0100 Subject: [PATCH 2/3] Fix test for drift. --- org/qmckl_local_energy.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org/qmckl_local_energy.org b/org/qmckl_local_energy.org index 7e9e392..ccd933d 100644 --- a/org/qmckl_local_energy.org +++ b/org/qmckl_local_energy.org @@ -1647,7 +1647,7 @@ end function qmckl_compute_drift_vector_f double drift_vector[walk_num][elec_num][3]; -rc = qmckl_get_drift_vector(context, &(drift_vector[0][0])); +rc = qmckl_get_drift_vector(context, &(drift_vector[0][0][0])); assert (rc == QMCKL_SUCCESS); #+end_src * End of files :noexport: From 1bb1e1f7d3b09afc987125d4bed0765749cd34f2 Mon Sep 17 00:00:00 2001 From: v1j4y Date: Fri, 11 Feb 2022 15:50:58 +0100 Subject: [PATCH 3/3] Fix bug in calculation of en_distance_rescaled_deriv_e. --- org/qmckl_electron.org | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org/qmckl_electron.org b/org/qmckl_electron.org index 9f79bcc..5e0d5dd 100644 --- a/org/qmckl_electron.org +++ b/org/qmckl_electron.org @@ -401,7 +401,7 @@ qmckl_get_electron_rescale_factor_en (const qmckl_context context, double* const | | Normal | Transposed | |---------+--------------------------+--------------------------| | C | ~[walk_num*elec_num][3]~ | ~[3][walk_num*elec_num]~ | - | Fortran | ~(3,walk_num*elec_num)~ | ~(walk_num*elec_num, 3)~ | + | Fortran | ~(3,walk_num*elec_num)~ | ~(walk_num*elec_num, 3)~ | #+begin_src c :comments org :tangle (eval h_func) :exports none @@ -978,7 +978,7 @@ qmckl_exit_code qmckl_provide_ee_distance(qmckl_context context) | ~context~ | ~qmckl_context~ | in | Global state | | ~elec_num~ | ~int64_t~ | in | Number of electrons | | ~walk_num~ | ~int64_t~ | in | Number of walkers | - | ~coord~ | ~double[3][walk_num][elec_num]~ | in | Electron coordinates | + | ~coord~ | ~double[3][walk_num][elec_num]~ | in | Electron coordinates | | ~ee_distance~ | ~double[walk_num][elec_num][elec_num]~ | out | Electron-electron distances | #+begin_src f90 :comments org :tangle (eval f) :noweb yes @@ -2493,7 +2493,7 @@ integer function qmckl_compute_en_distance_rescaled_deriv_e_f(context, elec_num, integer*8 , intent(in) :: walk_num double precision , intent(in) :: elec_coord(elec_num,walk_num,3) double precision , intent(in) :: nucl_coord(nucl_num,3) - double precision , intent(out) :: en_distance_rescaled_deriv_e(elec_num,nucl_num,walk_num) + double precision , intent(out) :: en_distance_rescaled_deriv_e(4,elec_num,nucl_num,walk_num) integer*8 :: k @@ -2529,7 +2529,7 @@ integer function qmckl_compute_en_distance_rescaled_deriv_e_f(context, elec_num, info = qmckl_distance_rescaled_deriv_e(context, 'T', 'T', elec_num, nucl_num, & elec_coord(1,k,1), elec_num*walk_num, & nucl_coord, nucl_num, & - en_distance_rescaled_deriv_e(1,1,k), elec_num, rescale_factor_kappa_en) + en_distance_rescaled_deriv_e(1,1,1,k), elec_num, rescale_factor_kappa_en) if (info /= QMCKL_SUCCESS) then exit endif