mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-03 10:06:09 +01:00
Renaming
This commit is contained in:
parent
5c5c13f5b3
commit
cc81057ff2
@ -639,7 +639,7 @@ qmckl_exit_code qmckl_provide_mo_vgl(qmckl_context context)
|
|||||||
| ~ao_num~ | ~int64_t~ | in | Number of AOs |
|
| ~ao_num~ | ~int64_t~ | in | Number of AOs |
|
||||||
| ~mo_num~ | ~int64_t~ | in | Number of MOs |
|
| ~mo_num~ | ~int64_t~ | in | Number of MOs |
|
||||||
| ~point_num~ | ~int64_t~ | in | Number of points |
|
| ~point_num~ | ~int64_t~ | in | Number of points |
|
||||||
| ~coef_normalized_t~ | ~double[mo_num][ao_num]~ | in | Transpose of the AO to MO transformation matrix |
|
| ~coefficient_t~ | ~double[mo_num][ao_num]~ | in | Transpose of the AO to MO transformation matrix |
|
||||||
| ~ao_vgl~ | ~double[point_num][5][ao_num]~ | in | Value, gradients and Laplacian of the AOs |
|
| ~ao_vgl~ | ~double[point_num][5][ao_num]~ | in | Value, gradients and Laplacian of the AOs |
|
||||||
| ~mo_vgl~ | ~double[point_num][5][mo_num]~ | out | Value, gradients and Laplacian of the MOs |
|
| ~mo_vgl~ | ~double[point_num][5][mo_num]~ | out | Value, gradients and Laplacian of the MOs |
|
||||||
|
|
||||||
@ -653,7 +653,7 @@ qmckl_exit_code qmckl_provide_mo_vgl(qmckl_context context)
|
|||||||
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
|
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
|
||||||
integer function qmckl_compute_mo_basis_mo_vgl_doc_f(context, &
|
integer function qmckl_compute_mo_basis_mo_vgl_doc_f(context, &
|
||||||
ao_num, mo_num, point_num, &
|
ao_num, mo_num, point_num, &
|
||||||
coef_normalized_t, ao_vgl, mo_vgl) &
|
coefficient_t, ao_vgl, mo_vgl) &
|
||||||
result(info)
|
result(info)
|
||||||
use qmckl
|
use qmckl
|
||||||
implicit none
|
implicit none
|
||||||
@ -661,7 +661,7 @@ integer function qmckl_compute_mo_basis_mo_vgl_doc_f(context, &
|
|||||||
integer*8 , intent(in) :: ao_num, mo_num
|
integer*8 , intent(in) :: ao_num, mo_num
|
||||||
integer*8 , intent(in) :: point_num
|
integer*8 , intent(in) :: point_num
|
||||||
double precision , intent(in) :: ao_vgl(ao_num,5,point_num)
|
double precision , intent(in) :: ao_vgl(ao_num,5,point_num)
|
||||||
double precision , intent(in) :: coef_normalized_t(mo_num,ao_num)
|
double precision , intent(in) :: coefficient_t(mo_num,ao_num)
|
||||||
double precision , intent(out) :: mo_vgl(mo_num,5,point_num)
|
double precision , intent(out) :: mo_vgl(mo_num,5,point_num)
|
||||||
integer*8 :: i,j,k
|
integer*8 :: i,j,k
|
||||||
double precision :: c1, c2, c3, c4, c5
|
double precision :: c1, c2, c3, c4, c5
|
||||||
@ -676,15 +676,22 @@ integer function qmckl_compute_mo_basis_mo_vgl_doc_f(context, &
|
|||||||
c4 = ao_vgl(k,4,j)
|
c4 = ao_vgl(k,4,j)
|
||||||
c5 = ao_vgl(k,5,j)
|
c5 = ao_vgl(k,5,j)
|
||||||
do i=1,mo_num
|
do i=1,mo_num
|
||||||
mo_vgl(i,1,j) = mo_vgl(i,1,j) + coef_normalized_t(i,k) * c1
|
mo_vgl(i,1,j) = mo_vgl(i,1,j) + coefficient_t(i,k) * c1
|
||||||
mo_vgl(i,2,j) = mo_vgl(i,2,j) + coef_normalized_t(i,k) * c2
|
mo_vgl(i,2,j) = mo_vgl(i,2,j) + coefficient_t(i,k) * c2
|
||||||
mo_vgl(i,3,j) = mo_vgl(i,3,j) + coef_normalized_t(i,k) * c3
|
mo_vgl(i,3,j) = mo_vgl(i,3,j) + coefficient_t(i,k) * c3
|
||||||
mo_vgl(i,4,j) = mo_vgl(i,4,j) + coef_normalized_t(i,k) * c4
|
mo_vgl(i,4,j) = mo_vgl(i,4,j) + coefficient_t(i,k) * c4
|
||||||
mo_vgl(i,5,j) = mo_vgl(i,5,j) + coef_normalized_t(i,k) * c5
|
mo_vgl(i,5,j) = mo_vgl(i,5,j) + coefficient_t(i,k) * c5
|
||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
info = QMCKL_SUCCESS
|
||||||
|
|
||||||
|
! info = qmckl_dgemm(context,'N', 'N', mo_num, point_num, ao_num, 1.d0, &
|
||||||
|
! coefficient_t, int(size(coefficient_t,1),8), &
|
||||||
|
! ao_vgl, int(size(ao_vgl,1),8), 0.d0, &
|
||||||
|
! mo_vgl, int(size(mo_vgl,1),8))
|
||||||
|
|
||||||
|
|
||||||
end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -698,7 +705,7 @@ end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
|||||||
const int64_t ao_num,
|
const int64_t ao_num,
|
||||||
const int64_t mo_num,
|
const int64_t mo_num,
|
||||||
const int64_t point_num,
|
const int64_t point_num,
|
||||||
const double* coef_normalized_t,
|
const double* coefficient_t,
|
||||||
const double* ao_vgl,
|
const double* ao_vgl,
|
||||||
double* const mo_vgl );
|
double* const mo_vgl );
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -712,7 +719,7 @@ end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
|||||||
const int64_t ao_num,
|
const int64_t ao_num,
|
||||||
const int64_t mo_num,
|
const int64_t mo_num,
|
||||||
const int64_t point_num,
|
const int64_t point_num,
|
||||||
const double* coef_normalized_t,
|
const double* coefficient_t,
|
||||||
const double* ao_vgl,
|
const double* ao_vgl,
|
||||||
double* const mo_vgl );
|
double* const mo_vgl );
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -722,7 +729,7 @@ end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
|||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
#+begin_src f90 :tangle (eval f) :comments org :exports none
|
#+begin_src f90 :tangle (eval f) :comments org :exports none
|
||||||
integer(c_int32_t) function qmckl_compute_mo_basis_mo_vgl_doc &
|
integer(c_int32_t) function qmckl_compute_mo_basis_mo_vgl_doc &
|
||||||
(context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl) &
|
(context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl) &
|
||||||
bind(C) result(info)
|
bind(C) result(info)
|
||||||
|
|
||||||
use, intrinsic :: iso_c_binding
|
use, intrinsic :: iso_c_binding
|
||||||
@ -732,13 +739,13 @@ end function qmckl_compute_mo_basis_mo_vgl_doc_f
|
|||||||
integer (c_int64_t) , intent(in) , value :: ao_num
|
integer (c_int64_t) , intent(in) , value :: ao_num
|
||||||
integer (c_int64_t) , intent(in) , value :: mo_num
|
integer (c_int64_t) , intent(in) , value :: mo_num
|
||||||
integer (c_int64_t) , intent(in) , value :: point_num
|
integer (c_int64_t) , intent(in) , value :: point_num
|
||||||
real (c_double ) , intent(in) :: coef_normalized_t(ao_num,mo_num)
|
real (c_double ) , intent(in) :: coefficient_t(ao_num,mo_num)
|
||||||
real (c_double ) , intent(in) :: ao_vgl(ao_num,5,point_num)
|
real (c_double ) , intent(in) :: ao_vgl(ao_num,5,point_num)
|
||||||
real (c_double ) , intent(out) :: mo_vgl(mo_num,5,point_num)
|
real (c_double ) , intent(out) :: mo_vgl(mo_num,5,point_num)
|
||||||
|
|
||||||
integer(c_int32_t), external :: qmckl_compute_mo_basis_mo_vgl_doc_f
|
integer(c_int32_t), external :: qmckl_compute_mo_basis_mo_vgl_doc_f
|
||||||
info = qmckl_compute_mo_basis_mo_vgl_doc_f &
|
info = qmckl_compute_mo_basis_mo_vgl_doc_f &
|
||||||
(context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl)
|
(context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl)
|
||||||
|
|
||||||
end function qmckl_compute_mo_basis_mo_vgl_doc
|
end function qmckl_compute_mo_basis_mo_vgl_doc
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -749,14 +756,14 @@ qmckl_compute_mo_basis_mo_vgl (const qmckl_context context,
|
|||||||
const int64_t ao_num,
|
const int64_t ao_num,
|
||||||
const int64_t mo_num,
|
const int64_t mo_num,
|
||||||
const int64_t point_num,
|
const int64_t point_num,
|
||||||
const double* coef_normalized_t,
|
const double* coefficient_t,
|
||||||
const double* ao_vgl,
|
const double* ao_vgl,
|
||||||
double* const mo_vgl )
|
double* const mo_vgl )
|
||||||
{
|
{
|
||||||
#ifdef HAVE_HPC
|
#ifdef HAVE_HPC
|
||||||
return qmckl_compute_mo_basis_mo_vgl_hpc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
return qmckl_compute_mo_basis_mo_vgl_hpc (context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl);
|
||||||
#else
|
#else
|
||||||
return qmckl_compute_mo_basis_mo_vgl_doc (context, ao_num, mo_num, point_num, coef_normalized_t, ao_vgl, mo_vgl);
|
return qmckl_compute_mo_basis_mo_vgl_doc (context, ao_num, mo_num, point_num, coefficient_t, ao_vgl, mo_vgl);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -772,7 +779,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context,
|
|||||||
const int64_t ao_num,
|
const int64_t ao_num,
|
||||||
const int64_t mo_num,
|
const int64_t mo_num,
|
||||||
const int64_t point_num,
|
const int64_t point_num,
|
||||||
const double* coef_normalized_t,
|
const double* coefficient_t,
|
||||||
const double* ao_vgl,
|
const double* ao_vgl,
|
||||||
double* const mo_vgl );
|
double* const mo_vgl );
|
||||||
#endif
|
#endif
|
||||||
@ -785,7 +792,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context,
|
|||||||
const int64_t ao_num,
|
const int64_t ao_num,
|
||||||
const int64_t mo_num,
|
const int64_t mo_num,
|
||||||
const int64_t point_num,
|
const int64_t point_num,
|
||||||
const double* restrict coef_normalized_t,
|
const double* restrict coefficient_t,
|
||||||
const double* restrict ao_vgl,
|
const double* restrict ao_vgl,
|
||||||
double* restrict const mo_vgl )
|
double* restrict const mo_vgl )
|
||||||
{
|
{
|
||||||
@ -820,7 +827,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context,
|
|||||||
double av4[ao_num];
|
double av4[ao_num];
|
||||||
double av5[ao_num];
|
double av5[ao_num];
|
||||||
for (int64_t k=0 ; k<ao_num ; ++k) {
|
for (int64_t k=0 ; k<ao_num ; ++k) {
|
||||||
const double* restrict ck1 = coef_normalized_t + k*mo_num;
|
const double* restrict ck1 = coefficient_t + k*mo_num;
|
||||||
if (avgl1[k] != 0.) {
|
if (avgl1[k] != 0.) {
|
||||||
idx[nidx] = k;
|
idx[nidx] = k;
|
||||||
av1[nidx] = avgl1[k];
|
av1[nidx] = avgl1[k];
|
||||||
@ -835,10 +842,10 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context,
|
|||||||
int64_t n;
|
int64_t n;
|
||||||
for (n=0 ; n < nidx-4 ; n+=4) {
|
for (n=0 ; n < nidx-4 ; n+=4) {
|
||||||
int64_t k = idx[n];
|
int64_t k = idx[n];
|
||||||
const double* restrict ck1 = coef_normalized_t + idx[n ]*mo_num;
|
const double* restrict ck1 = coefficient_t + idx[n ]*mo_num;
|
||||||
const double* restrict ck2 = coef_normalized_t + idx[n+1]*mo_num;
|
const double* restrict ck2 = coefficient_t + idx[n+1]*mo_num;
|
||||||
const double* restrict ck3 = coef_normalized_t + idx[n+2]*mo_num;
|
const double* restrict ck3 = coefficient_t + idx[n+2]*mo_num;
|
||||||
const double* restrict ck4 = coef_normalized_t + idx[n+3]*mo_num;
|
const double* restrict ck4 = coefficient_t + idx[n+3]*mo_num;
|
||||||
|
|
||||||
const double a11 = av1[n ];
|
const double a11 = av1[n ];
|
||||||
const double a21 = av1[n+1];
|
const double a21 = av1[n+1];
|
||||||
@ -880,7 +887,7 @@ qmckl_compute_mo_basis_mo_vgl_hpc (const qmckl_context context,
|
|||||||
int64_t n0 = nidx-4;
|
int64_t n0 = nidx-4;
|
||||||
n0 = n0 < 0 ? 0 : n0;
|
n0 = n0 < 0 ? 0 : n0;
|
||||||
for (int64_t n=n0 ; n < nidx ; n+=1) {
|
for (int64_t n=n0 ; n < nidx ; n+=1) {
|
||||||
const double* restrict ck = coef_normalized_t + idx[n]*mo_num;
|
const double* restrict ck = coefficient_t + idx[n]*mo_num;
|
||||||
const double a1 = av1[n];
|
const double a1 = av1[n];
|
||||||
const double a2 = av2[n];
|
const double a2 = av2[n];
|
||||||
const double a3 = av3[n];
|
const double a3 = av3[n];
|
||||||
|
Loading…
Reference in New Issue
Block a user