From 9e03e49beb1839c9cf77901e647489015fb0c806 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 11 Dec 2024 16:43:07 +0100 Subject: [PATCH] Fixed missing providers --- org/qmckl_jastrow_champ.org | 156 +++++++++++------------------ org/qmckl_jastrow_champ_single.org | 15 +++ 2 files changed, 72 insertions(+), 99 deletions(-) diff --git a/org/qmckl_jastrow_champ.org b/org/qmckl_jastrow_champ.org index a0ee7c7..f2a1618 100644 --- a/org/qmckl_jastrow_champ.org +++ b/org/qmckl_jastrow_champ.org @@ -6540,35 +6540,37 @@ qmckl_exit_code qmckl_provide_een_rescaled_e_gl(qmckl_context context) :END: #+NAME: qmckl_factor_een_rescaled_e_gl_args - | Variable | Type | In/Out | Description | - |--------------------------+-------------------------------------------------------+--------+--------------------------------------| - | ~context~ | ~qmckl_context~ | in | Global state | - | ~walk_num~ | ~int64_t~ | in | Number of walkers | - | ~elec_num~ | ~int64_t~ | in | Number of electrons | - | ~cord_num~ | ~int64_t~ | in | Order of polynomials | - | ~rescale_factor_ee~ | ~double~ | in | Factor to rescale ee distances | - | ~coord_ee~ | ~double[walk_num][3][elec_num]~ | in | Electron coordinates | - | ~ee_distance~ | ~double[walk_num][elec_num][elec_num]~ | in | Electron-electron distances | - | ~een_rescaled_e~ | ~double[walk_num][0:cord_num][elec_num][elec_num]~ | in | Electron-electron distances | + | Variable | Type | In/Out | Description | + |---------------------+-------------------------------------------------------+--------+--------------------------------------| + | ~context~ | ~qmckl_context~ | in | Global state | + | ~walk_num~ | ~int64_t~ | in | Number of walkers | + | ~elec_num~ | ~int64_t~ | in | Number of electrons | + | ~cord_num~ | ~int64_t~ | in | Order of polynomials | + | ~rescale_factor_ee~ | ~double~ | in | Factor to rescale ee distances | + | ~coord_ee~ | ~double[walk_num][3][elec_num]~ | in | Electron coordinates | + | ~ee_distance~ | ~double[walk_num][elec_num][elec_num]~ | in | Electron-electron distances | + | ~een_rescaled_e~ | ~double[walk_num][0:cord_num][elec_num][elec_num]~ | in | Electron-electron distances | | ~een_rescaled_e_gl~ | ~double[walk_num][0:cord_num][elec_num][4][elec_num]~ | out | Electron-electron rescaled distances | #+begin_src f90 :comments org :tangle (eval f) :noweb yes -integer function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f( & +integer(qmckl_exit_code) function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc( & context, walk_num, elec_num, cord_num, rescale_factor_ee, & coord_ee, ee_distance, een_rescaled_e, een_rescaled_e_gl) & - result(info) + result(info) bind(C) + use, intrinsic :: iso_c_binding use qmckl implicit none integer(qmckl_context), intent(in) :: context - integer*8 , intent(in) :: walk_num - integer*8 , intent(in) :: elec_num - integer*8 , intent(in) :: cord_num - double precision , intent(in) :: rescale_factor_ee - double precision , intent(in) :: coord_ee(elec_num,3,walk_num) - double precision , intent(in) :: ee_distance(elec_num,elec_num,walk_num) - double precision , intent(in) :: een_rescaled_e(elec_num,elec_num,0:cord_num,walk_num) - double precision , intent(out) :: een_rescaled_e_gl(elec_num,4,elec_num,0:cord_num,walk_num) - double precision,dimension(:,:,:),allocatable :: elec_dist_gl + integer(c_int64_t) , intent(in), value :: walk_num + integer(c_int64_t) , intent(in), value :: elec_num + integer(c_int64_t) , intent(in), value :: cord_num + real(c_double) , intent(in), value :: rescale_factor_ee + real(c_double) , intent(in) :: coord_ee(elec_num,3,walk_num) + real(c_double) , intent(in) :: ee_distance(elec_num,elec_num,walk_num) + real(c_double) , intent(in) :: een_rescaled_e(elec_num,elec_num,0:cord_num,walk_num) + real(c_double) , intent(out) :: een_rescaled_e_gl(elec_num,4,elec_num,0:cord_num,walk_num) + + double precision, allocatable :: elec_dist_gl(:,:,:) double precision :: x, rij_inv, kappa_l integer*8 :: i, j, k, l, nw, ii @@ -6598,51 +6600,51 @@ integer function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f( & ! Prepare table of exponentiated distances raised to appropriate power do nw = 1, walk_num - do j = 1, elec_num - do i = 1, j-1 - rij_inv = 1.0d0 / ee_distance(i, j, nw) - do ii = 1, 3 - elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv + do j = 1, elec_num + do i = 1, j-1 + rij_inv = 1.0d0 / ee_distance(i, j, nw) + do ii = 1, 3 + elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv + end do + elec_dist_gl(i, 4, j) = 2.0d0 * rij_inv end do - elec_dist_gl(i, 4, j) = 2.0d0 * rij_inv - end do - elec_dist_gl(j, :, j) = 0.0d0 + elec_dist_gl(j, :, j) = 0.0d0 - do i = j+1, elec_num - rij_inv = 1.0d0 / ee_distance(i, j, nw) - do ii = 1, 3 - elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv + do i = j+1, elec_num + rij_inv = 1.0d0 / ee_distance(i, j, nw) + do ii = 1, 3 + elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv + end do + elec_dist_gl(i, 4, j) = 2.0d0 * rij_inv end do - elec_dist_gl(i, 4, j) = 2.0d0 * rij_inv - end do - end do + end do -! Not necessary: should be set to zero by qmckl_malloc -! een_rescaled_e_gl(:,:,:,0,nw) = 0.d0 + ! Not necessary: should be set to zero by qmckl_malloc + ! een_rescaled_e_gl(:,:,:,0,nw) = 0.d0 - do l = 1, cord_num - kappa_l = - dble(l) * rescale_factor_ee - do j = 1, elec_num - do i = 1, elec_num - een_rescaled_e_gl(i, 1, j, l, nw) = kappa_l * elec_dist_gl(i, 1, j) - een_rescaled_e_gl(i, 2, j, l, nw) = kappa_l * elec_dist_gl(i, 2, j) - een_rescaled_e_gl(i, 3, j, l, nw) = kappa_l * elec_dist_gl(i, 3, j) - een_rescaled_e_gl(i, 4, j, l, nw) = kappa_l * elec_dist_gl(i, 4, j) + do l = 1, cord_num + kappa_l = - dble(l) * rescale_factor_ee + do j = 1, elec_num + do i = 1, elec_num + een_rescaled_e_gl(i, 1, j, l, nw) = kappa_l * elec_dist_gl(i, 1, j) + een_rescaled_e_gl(i, 2, j, l, nw) = kappa_l * elec_dist_gl(i, 2, j) + een_rescaled_e_gl(i, 3, j, l, nw) = kappa_l * elec_dist_gl(i, 3, j) + een_rescaled_e_gl(i, 4, j, l, nw) = kappa_l * elec_dist_gl(i, 4, j) - een_rescaled_e_gl(i, 4, j, l, nw) = een_rescaled_e_gl(i, 4, j, l, nw) + & - kappa_l * kappa_l + een_rescaled_e_gl(i, 4, j, l, nw) = een_rescaled_e_gl(i, 4, j, l, nw) + & + kappa_l * kappa_l - een_rescaled_e_gl(i,1,j,l,nw) = een_rescaled_e_gl(i,1,j,l,nw) * een_rescaled_e(i,j,l,nw) - een_rescaled_e_gl(i,2,j,l,nw) = een_rescaled_e_gl(i,2,j,l,nw) * een_rescaled_e(i,j,l,nw) - een_rescaled_e_gl(i,3,j,l,nw) = een_rescaled_e_gl(i,3,j,l,nw) * een_rescaled_e(i,j,l,nw) - een_rescaled_e_gl(i,4,j,l,nw) = een_rescaled_e_gl(i,4,j,l,nw) * een_rescaled_e(i,j,l,nw) + een_rescaled_e_gl(i,1,j,l,nw) = een_rescaled_e_gl(i,1,j,l,nw) * een_rescaled_e(i,j,l,nw) + een_rescaled_e_gl(i,2,j,l,nw) = een_rescaled_e_gl(i,2,j,l,nw) * een_rescaled_e(i,j,l,nw) + een_rescaled_e_gl(i,3,j,l,nw) = een_rescaled_e_gl(i,3,j,l,nw) * een_rescaled_e(i,j,l,nw) + een_rescaled_e_gl(i,4,j,l,nw) = een_rescaled_e_gl(i,4,j,l,nw) * een_rescaled_e(i,j,l,nw) + end do end do - end do - end do + end do end do -end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f +end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc #+end_src # #+CALL: generate_c_header(table=qmckl_factor_een_rescaled_e_gl_args,rettyp=get_value("CRetType"),fname=get_value("Name")) @@ -6674,50 +6676,6 @@ end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f #+end_src - #+CALL: generate_c_interface(table=qmckl_factor_een_rescaled_e_gl_args,rettyp=get_value("CRetType"),fname=get_value("Name")) - - #+RESULTS: - #+begin_src f90 :tangle (eval f) :comments org :exports none - integer(c_int32_t) function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc & - (context, & - walk_num, & - elec_num, & - cord_num, & - rescale_factor_ee, & - coord_ee, & - ee_distance, & - een_rescaled_e, & - een_rescaled_e_gl) & - bind(C) result(info) - - use, intrinsic :: iso_c_binding - implicit none - - integer (c_int64_t) , intent(in) , value :: context - integer (c_int64_t) , intent(in) , value :: walk_num - integer (c_int64_t) , intent(in) , value :: elec_num - integer (c_int64_t) , intent(in) , value :: cord_num - real (c_double ) , intent(in) , value :: rescale_factor_ee - real (c_double ) , intent(in) :: coord_ee(elec_num,3,walk_num) - real (c_double ) , intent(in) :: ee_distance(elec_num,elec_num,walk_num) - real (c_double ) , intent(in) :: een_rescaled_e(elec_num,elec_num,0:cord_num,walk_num) - real (c_double ) , intent(out) :: een_rescaled_e_gl(elec_num,4,elec_num,0:cord_num,walk_num) - - integer(c_int32_t), external :: qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f - info = qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_f & - (context, & - walk_num, & - elec_num, & - cord_num, & - rescale_factor_ee, & - coord_ee, & - ee_distance, & - een_rescaled_e, & - een_rescaled_e_gl) - - end function qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_doc - #+end_src - #+begin_src c :comments org :tangle (eval h_private_func) :noweb yes :exports none qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc ( const qmckl_context context, diff --git a/org/qmckl_jastrow_champ_single.org b/org/qmckl_jastrow_champ_single.org index fcdcbaa..b03f000 100644 --- a/org/qmckl_jastrow_champ_single.org +++ b/org/qmckl_jastrow_champ_single.org @@ -3773,6 +3773,9 @@ qmckl_exit_code qmckl_provide_een_rescaled_single_e_gl(qmckl_context context) qmckl_exit_code rc = qmckl_provide_een_rescaled_single_e(context); if(rc != QMCKL_SUCCESS) return rc; + rc = qmckl_provide_single_ee_distance(context); + if(rc != QMCKL_SUCCESS) return rc; + rc = qmckl_provide_single_en_distance(context); if(rc != QMCKL_SUCCESS) return rc; @@ -4121,6 +4124,18 @@ qmckl_exit_code qmckl_provide_jastrow_champ_delta_p_gl(qmckl_context context) qmckl_exit_code rc = qmckl_provide_een_rescaled_single_e(context); if(rc != QMCKL_SUCCESS) return rc; + rc = qmckl_provide_een_rescaled_n(context); + if(rc != QMCKL_SUCCESS) return rc; + + rc = qmckl_provide_een_rescaled_e(context); + if(rc != QMCKL_SUCCESS) return rc; + + rc = qmckl_provide_een_rescaled_n_gl(context); + if(rc != QMCKL_SUCCESS) return rc; + + rc = qmckl_provide_een_rescaled_e_gl(context); + if(rc != QMCKL_SUCCESS) return rc; + rc = qmckl_provide_een_rescaled_single_n(context); if(rc != QMCKL_SUCCESS) return rc;