mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-30 20:35:10 +02:00
Fixed missing providers
This commit is contained in:
parent
be1da3c402
commit
9e03e49beb
@ -6540,35 +6540,37 @@ qmckl_exit_code qmckl_provide_een_rescaled_e_gl(qmckl_context context)
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+NAME: qmckl_factor_een_rescaled_e_gl_args
|
#+NAME: qmckl_factor_een_rescaled_e_gl_args
|
||||||
| Variable | Type | In/Out | Description |
|
| Variable | Type | In/Out | Description |
|
||||||
|--------------------------+-------------------------------------------------------+--------+--------------------------------------|
|
|---------------------+-------------------------------------------------------+--------+--------------------------------------|
|
||||||
| ~context~ | ~qmckl_context~ | in | Global state |
|
| ~context~ | ~qmckl_context~ | in | Global state |
|
||||||
| ~walk_num~ | ~int64_t~ | in | Number of walkers |
|
| ~walk_num~ | ~int64_t~ | in | Number of walkers |
|
||||||
| ~elec_num~ | ~int64_t~ | in | Number of electrons |
|
| ~elec_num~ | ~int64_t~ | in | Number of electrons |
|
||||||
| ~cord_num~ | ~int64_t~ | in | Order of polynomials |
|
| ~cord_num~ | ~int64_t~ | in | Order of polynomials |
|
||||||
| ~rescale_factor_ee~ | ~double~ | in | Factor to rescale ee distances |
|
| ~rescale_factor_ee~ | ~double~ | in | Factor to rescale ee distances |
|
||||||
| ~coord_ee~ | ~double[walk_num][3][elec_num]~ | in | Electron coordinates |
|
| ~coord_ee~ | ~double[walk_num][3][elec_num]~ | in | Electron coordinates |
|
||||||
| ~ee_distance~ | ~double[walk_num][elec_num][elec_num]~ | in | Electron-electron distances |
|
| ~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~ | ~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 |
|
| ~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
|
#+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, &
|
context, walk_num, elec_num, cord_num, rescale_factor_ee, &
|
||||||
coord_ee, ee_distance, een_rescaled_e, een_rescaled_e_gl) &
|
coord_ee, ee_distance, een_rescaled_e, een_rescaled_e_gl) &
|
||||||
result(info)
|
result(info) bind(C)
|
||||||
|
use, intrinsic :: iso_c_binding
|
||||||
use qmckl
|
use qmckl
|
||||||
implicit none
|
implicit none
|
||||||
integer(qmckl_context), intent(in) :: context
|
integer(qmckl_context), intent(in) :: context
|
||||||
integer*8 , intent(in) :: walk_num
|
integer(c_int64_t) , intent(in), value :: walk_num
|
||||||
integer*8 , intent(in) :: elec_num
|
integer(c_int64_t) , intent(in), value :: elec_num
|
||||||
integer*8 , intent(in) :: cord_num
|
integer(c_int64_t) , intent(in), value :: cord_num
|
||||||
double precision , intent(in) :: rescale_factor_ee
|
real(c_double) , intent(in), value :: rescale_factor_ee
|
||||||
double precision , intent(in) :: coord_ee(elec_num,3,walk_num)
|
real(c_double) , intent(in) :: coord_ee(elec_num,3,walk_num)
|
||||||
double precision , intent(in) :: ee_distance(elec_num,elec_num,walk_num)
|
real(c_double) , 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)
|
real(c_double) , 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)
|
real(c_double) , intent(out) :: een_rescaled_e_gl(elec_num,4,elec_num,0:cord_num,walk_num)
|
||||||
double precision,dimension(:,:,:),allocatable :: elec_dist_gl
|
|
||||||
|
double precision, allocatable :: elec_dist_gl(:,:,:)
|
||||||
double precision :: x, rij_inv, kappa_l
|
double precision :: x, rij_inv, kappa_l
|
||||||
integer*8 :: i, j, k, l, nw, ii
|
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
|
! Prepare table of exponentiated distances raised to appropriate power
|
||||||
do nw = 1, walk_num
|
do nw = 1, walk_num
|
||||||
do j = 1, elec_num
|
do j = 1, elec_num
|
||||||
do i = 1, j-1
|
do i = 1, j-1
|
||||||
rij_inv = 1.0d0 / ee_distance(i, j, nw)
|
rij_inv = 1.0d0 / ee_distance(i, j, nw)
|
||||||
do ii = 1, 3
|
do ii = 1, 3
|
||||||
elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv
|
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
|
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
|
do i = j+1, elec_num
|
||||||
rij_inv = 1.0d0 / ee_distance(i, j, nw)
|
rij_inv = 1.0d0 / ee_distance(i, j, nw)
|
||||||
do ii = 1, 3
|
do ii = 1, 3
|
||||||
elec_dist_gl(i, ii, j) = (coord_ee(i, ii, nw) - coord_ee(j, ii, nw)) * rij_inv
|
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
|
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
|
! Not necessary: should be set to zero by qmckl_malloc
|
||||||
! een_rescaled_e_gl(:,:,:,0,nw) = 0.d0
|
! een_rescaled_e_gl(:,:,:,0,nw) = 0.d0
|
||||||
|
|
||||||
do l = 1, cord_num
|
do l = 1, cord_num
|
||||||
kappa_l = - dble(l) * rescale_factor_ee
|
kappa_l = - dble(l) * rescale_factor_ee
|
||||||
do j = 1, elec_num
|
do j = 1, elec_num
|
||||||
do i = 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, 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, 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, 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) = 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) + &
|
een_rescaled_e_gl(i, 4, j, l, nw) = een_rescaled_e_gl(i, 4, j, l, nw) + &
|
||||||
kappa_l * kappa_l
|
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,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,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,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,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 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
|
#+end_src
|
||||||
|
|
||||||
# #+CALL: generate_c_header(table=qmckl_factor_een_rescaled_e_gl_args,rettyp=get_value("CRetType"),fname=get_value("Name"))
|
# #+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
|
#+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
|
#+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 (
|
qmckl_exit_code qmckl_compute_jastrow_champ_factor_een_rescaled_e_gl_hpc (
|
||||||
const qmckl_context context,
|
const qmckl_context context,
|
||||||
|
@ -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);
|
qmckl_exit_code rc = qmckl_provide_een_rescaled_single_e(context);
|
||||||
if(rc != QMCKL_SUCCESS) return rc;
|
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);
|
rc = qmckl_provide_single_en_distance(context);
|
||||||
if(rc != QMCKL_SUCCESS) return rc;
|
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);
|
qmckl_exit_code rc = qmckl_provide_een_rescaled_single_e(context);
|
||||||
if(rc != QMCKL_SUCCESS) return rc;
|
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);
|
rc = qmckl_provide_een_rescaled_single_n(context);
|
||||||
if(rc != QMCKL_SUCCESS) return rc;
|
if(rc != QMCKL_SUCCESS) return rc;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user