diff --git a/org/qmckl_ao.org b/org/qmckl_ao.org index b307c65..42ac101 100644 --- a/org/qmckl_ao.org +++ b/org/qmckl_ao.org @@ -1087,7 +1087,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_shell_ang_mom(context,shell_ang_mom) & + integer(c_int32_t) function qmckl_set_ao_basis_shell_ang_mom(context,shell_ang_mom) & bind(C) use, intrinsic :: iso_c_binding import @@ -1097,7 +1097,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_shell_prim_num(context,shell_prim_num) & + integer(c_int32_t) function qmckl_set_ao_basis_shell_prim_num(context,shell_prim_num) & bind(C) use, intrinsic :: iso_c_binding import @@ -1107,7 +1107,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_shell_prim_index(context,shell_prim_index) & + integer(c_int32_t) function qmckl_set_ao_basis_shell_prim_index(context,shell_prim_index) & bind(C) use, intrinsic :: iso_c_binding import @@ -1117,7 +1117,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_shell_factor(context,shell_factor) & + integer(c_int32_t) function qmckl_set_ao_basis_shell_factor(context,shell_factor) & bind(C) use, intrinsic :: iso_c_binding import @@ -1127,7 +1127,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_exponent(context,exponent) & + integer(c_int32_t) function qmckl_set_ao_basis_exponent(context,exponent) & bind(C) use, intrinsic :: iso_c_binding import @@ -1137,7 +1137,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_coefficient(context,coefficient) & + integer(c_int32_t) function qmckl_set_ao_basis_coefficient(context,coefficient) & bind(C) use, intrinsic :: iso_c_binding import @@ -1147,7 +1147,7 @@ interface end function end interface interface - integer(c_int32_t) function qmckl_set_ao_basis_nucleus_prim_factor(context,prim_factor) & + integer(c_int32_t) function qmckl_set_ao_basis_prim_factor(context,prim_factor) & bind(C) use, intrinsic :: iso_c_binding import @@ -1848,6 +1848,20 @@ qmckl_exit_code qmckl_get_ao_basis_shell_vgl(qmckl_context context, double* cons } #+end_src + #+begin_src f90 :tangle (eval fh_func) :comments org :exports none + interface + integer(c_int32_t) function qmckl_get_ao_basis_shell_vgl (context, shell_vgl) & + bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + double precision, intent(out) :: shell_vgl(*) + end function + end interface + #+end_src + *** Provide #+begin_src c :comments org :tangle (eval h_private_func) :noweb yes :exports none @@ -1987,6 +2001,7 @@ integer function qmckl_compute_ao_basis_shell_gaussian_vgl_f(context, & info = QMCKL_SUCCESS ! Don't compute exponentials when the result will be almost zero. + ! TODO : Use numerical precision here cutoff = -dlog(1.d-15) do inucl=1,nucl_num @@ -2253,7 +2268,6 @@ assert( fabs(shell_vgl[14][4][1][15] - ( 1.572966698871693e-02)) < 1.e-14 ); } #+end_src - * Polynomial part ** General functions for Powers of $x-X_i$ :PROPERTIES: diff --git a/org/qmckl_electron.org b/org/qmckl_electron.org index 19aa362..284f3ef 100644 --- a/org/qmckl_electron.org +++ b/org/qmckl_electron.org @@ -607,6 +607,30 @@ qmckl_set_electron_rescale_factor_en(qmckl_context context, return QMCKL_SUCCESS; } + #+end_src + + #+begin_src f90 :comments org :tangle (eval fh_func) :noweb yes +interface + integer(c_int32_t) function qmckl_set_electron_num(context, alpha, beta) bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: alpha + integer (c_int64_t) , intent(in) , value :: beta + end function +end interface +interface + integer(c_int32_t) function qmckl_set_electron_walk_num(context, walk_num) bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: walk_num + end function +end interface #+end_src The following function sets the electron coordinates of all the @@ -696,6 +720,20 @@ qmckl_set_electron_coord(qmckl_context context, const char transp, const double* } #+end_src + #+begin_src f90 :comments org :tangle (eval fh_func) :noweb yes +interface + integer(c_int32_t) function qmckl_set_electron_coord(context, transp, coord) bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + character , intent(in) , value :: transp + double precision , intent(in) :: coord(*) + end function +end interface + #+end_src + ** Test #+begin_src python :results output :exports none