From 25e98da2d6ce1a296379bd311d017bf1b08eb165 Mon Sep 17 00:00:00 2001 From: eginer Date: Fri, 7 Feb 2025 18:38:52 +0100 Subject: [PATCH] added mo_in_r on extra grid --- src/dft_utils_in_r/ao_in_r.irp.f | 6 ++--- src/dft_utils_in_r/mo_in_r.irp.f | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/dft_utils_in_r/ao_in_r.irp.f b/src/dft_utils_in_r/ao_in_r.irp.f index e9c003d4..c8822776 100644 --- a/src/dft_utils_in_r/ao_in_r.irp.f +++ b/src/dft_utils_in_r/ao_in_r.irp.f @@ -185,9 +185,9 @@ END_PROVIDER END_PROVIDER BEGIN_PROVIDER[double precision, aos_in_r_array_extra, (ao_num,n_points_extra_final_grid)] - implicit none + implicit none BEGIN_DOC - ! aos_in_r_array_extra(i,j) = value of the ith ao on the jth grid point + ! aos_in_r_array_extra(i,j) = value of the ith ao on the jth grid point of the EXTRA grid END_DOC integer :: i,j double precision :: aos_array(ao_num), r(3) @@ -214,7 +214,7 @@ END_PROVIDER BEGIN_PROVIDER[double precision, aos_in_r_array_extra_transp, (n_points_extra_final_grid,ao_num)] BEGIN_DOC - ! aos_in_r_array_extra_transp(i,j) = value of the jth ao on the ith grid point + ! aos_in_r_array_extra_transp(i,j) = value of the jth ao on the ith grid point of the EXTRA grid END_DOC implicit none diff --git a/src/dft_utils_in_r/mo_in_r.irp.f b/src/dft_utils_in_r/mo_in_r.irp.f index ad931402..623de4f8 100644 --- a/src/dft_utils_in_r/mo_in_r.irp.f +++ b/src/dft_utils_in_r/mo_in_r.irp.f @@ -181,3 +181,44 @@ END_PROVIDER + +!!!!!EXTRA GRID + + BEGIN_PROVIDER[double precision, mos_in_r_array_extra_omp, (mo_num,n_points_extra_final_grid)] + implicit none + BEGIN_DOC + ! mos_in_r_array_extra(i,j) = value of the ith mo on the jth grid point on the EXTRA GRID + END_DOC + integer :: i,j + double precision :: mos_array_extra(mo_num), r(3) + print*,'coucou' + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,r,mos_array_extra,j) & + !$OMP SHARED(mos_in_r_array_extra_omp,n_points_extra_final_grid,mo_num,final_grid_points_extra) + do i = 1, n_points_extra_final_grid + r(1) = final_grid_points_extra(1,i) + r(2) = final_grid_points_extra(2,i) + r(3) = final_grid_points_extra(3,i) + call give_all_mos_at_r(r,mos_array_extra) + do j = 1, mo_num + mos_in_r_array_extra_omp(j,i) = mos_array_extra(j) + enddo + enddo + !$OMP END PARALLEL DO + print*,'coucou fin' + END_PROVIDER + + + BEGIN_PROVIDER[double precision, mos_in_r_array_extra_transp,(n_points_extra_final_grid,mo_num)] + implicit none + BEGIN_DOC + ! mos_in_r_array_extra_transp(i,j) = value of the jth mo on the ith grid point + END_DOC + integer :: i,j + do i = 1, n_points_extra_final_grid + do j = 1, mo_num + mos_in_r_array_extra_transp(i,j) = mos_in_r_array_extra_omp(j,i) + enddo + enddo + END_PROVIDER