1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2025-04-30 04:15:00 +02:00

Optimized delta_p

This commit is contained in:
Anthony Scemama 2024-12-10 19:54:40 +01:00
parent 1867c186ce
commit 3e6b5fd378

View File

@ -1771,7 +1771,7 @@ integer function qmckl_compute_jastrow_champ_delta_p_doc_f( &
double precision , intent(in) :: een_rescaled_single_e(elec_num, 0:cord_num, walk_num)
double precision , intent(out) :: delta_p(elec_num, nucl_num,0:cord_num, 0:cord_num-1, walk_num)
double precision :: een_rescaled_delta_e(elec_num, 0:cord_num, walk_num)
double precision :: een_rescaled_delta_e(elec_num)
integer*8 :: i, a, c, j, l, k, p, m, n, nw, num
double precision :: dn, dn2
@ -1794,20 +1794,20 @@ integer function qmckl_compute_jastrow_champ_delta_p_doc_f( &
do i=0, cord_num-1
een_rescaled_delta_e(:,i,nw) = een_rescaled_single_e(:,i,nw) - een_rescaled_e(:,num,i,nw)
een_rescaled_delta_e(:) = een_rescaled_single_e(:,i,nw) - een_rescaled_e(:,num,i,nw)
do c=0,cord_num
do a=1,nucl_num
dn = een_rescaled_single_n(a,c,nw) - een_rescaled_n(num,a,c,nw)
dn2 = dn + een_rescaled_n(num,a,c,nw)
do j=1,elec_num
delta_p(j,a,c,i,nw) = een_rescaled_e(j,num,i,nw)*dn + een_rescaled_delta_e(j,i,nw) * dn2
end do
delta_p(j,a,c,i,nw) = een_rescaled_e(j,num,i,nw)*dn + een_rescaled_delta_e(j) * dn2
enddo
end do
end do
info = qmckl_dgemm(context, 'T', 'N', 1_8, nucl_num * (cord_num+1_8), elec_num, 1.0d0, &
een_rescaled_delta_e(1,i,nw),elec_num, &
een_rescaled_delta_e,elec_num, &
een_rescaled_n(1,1,0,nw),elec_num, &
1.0d0, &
delta_p(num,1,0,i,nw),elec_num)