mirror of
https://github.com/TREX-CoE/irpjast.git
synced 2024-12-22 04:14:54 +01:00
Fixed bug (nelec_8)
This commit is contained in:
parent
b15cd4dac3
commit
3c6352730b
4
Makefile
4
Makefile
@ -1,6 +1,6 @@
|
||||
IRPF90 = irpf90/bin/irpf90 --codelet=factor_een:2 --align=4096 # -s nelec_8:504 -s nnuc:100 -s ncord:5 #-a -d
|
||||
FC = ifort -xCORE-AVX512 -g -mkl=sequential -qopt-zmm-usage=high
|
||||
#FC = ifort -xCORE-AVX2 -g -mkl=sequential
|
||||
#FC = ifort -xCORE-AVX512 -g -mkl=sequential -qopt-zmm-usage=high
|
||||
FC = ifort -xCORE-AVX2 -g -mkl=sequential
|
||||
FCFLAGS= -O3 -I .
|
||||
NINJA = ninja
|
||||
ARCHIVE = ar crs
|
||||
|
@ -36,7 +36,7 @@ BEGIN_PROVIDER [ double precision, factor_een ]
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4, nelec) ]
|
||||
BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (nelec,4) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Derivative of the Jeen
|
||||
@ -45,10 +45,10 @@ BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4, nelec) ]
|
||||
integer :: i, j, a, p, k, l, lmax, m, n
|
||||
double precision :: cn, accu, accu2, daccu(1:4), daccu2(1:4)
|
||||
|
||||
! factor_een_deriv_e(1:4,1:nelec) = factor_een_deriv_e_blas(1:4,1:nelec)
|
||||
! factor_een_deriv_e(1:nelec,1:4) = factor_een_deriv_e_blas(1:4,1:nelec)
|
||||
! return
|
||||
|
||||
factor_een_deriv_e(1:4,1:nelec) = 0.0d0
|
||||
factor_een_deriv_e(1:nelec,1:4) = 0.0d0
|
||||
|
||||
do n = 1, dim_cord_vect
|
||||
|
||||
@ -79,11 +79,11 @@ BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4, nelec) ]
|
||||
rescale_een_n(i,a,m+l)
|
||||
|
||||
enddo
|
||||
factor_een_deriv_e(1:4,j) = factor_een_deriv_e(1:4,j) + &
|
||||
factor_een_deriv_e(j,1:4) = factor_een_deriv_e(j,1:4) + &
|
||||
(accu * rescale_een_n_deriv_e(j,1:4,a,m+l) + daccu(1:4) * rescale_een_n(j,a,m+l) +&
|
||||
daccu2(1:4)* rescale_een_n(j,a,m) + accu2*rescale_een_n_deriv_e(j,1:4,a,m)) * cn
|
||||
|
||||
factor_een_deriv_e(4,j) = factor_een_deriv_e(4,j) + 2.d0*( &
|
||||
factor_een_deriv_e(j,4) = factor_een_deriv_e(j,4) + 2.d0*( &
|
||||
daccu (1) * rescale_een_n_deriv_e(j,1,a,m+l) + &
|
||||
daccu (2) * rescale_een_n_deriv_e(j,2,a,m+l) + &
|
||||
daccu (3) * rescale_een_n_deriv_e(j,3,a,m+l) + &
|
||||
@ -96,7 +96,7 @@ BEGIN_PROVIDER [ double precision, factor_een_deriv_e, (4, nelec) ]
|
||||
|
||||
END_PROVIDER
|
||||
|
||||
BEGIN_PROVIDER [ double precision, factor_een_deriv_e_ref, (4, nelec) ]
|
||||
BEGIN_PROVIDER [ double precision, factor_een_deriv_e_ref, (nelec,4) ]
|
||||
implicit none
|
||||
BEGIN_DOC
|
||||
! Dimensions 1-3 : dx, dy, dz
|
||||
@ -152,14 +152,14 @@ BEGIN_PROVIDER [ double precision, factor_een_deriv_e_ref, (4, nelec) ]
|
||||
d2 = drjam_cn(ii) * riam
|
||||
lap1 = lap1 + d1 * d2
|
||||
lap2 = lap2 + drijk(ii) * drjal(ii)
|
||||
factor_een_deriv_e_ref(ii, j) = factor_een_deriv_e_ref(ii, j) + v1 * d2 + d1 * v2
|
||||
factor_een_deriv_e_ref(j,ii) = factor_een_deriv_e_ref(j,ii) + v1 * d2 + d1 * v2
|
||||
enddo
|
||||
|
||||
! v(x) u''(x) + 2 * u'(x) v'(x) + u(x) v''(x)
|
||||
ii = 4
|
||||
d1 = drijk(ii) * rial + rijk * drjal(ii) + lap2 + lap2
|
||||
d2 = drjam_cn(ii) * riam
|
||||
factor_een_deriv_e_ref(ii, j) = factor_een_deriv_e_ref(ii, j) + v1 * d2 + d1 * v2 + lap1 + lap1
|
||||
factor_een_deriv_e_ref(j,ii) = factor_een_deriv_e_ref(j,ii) + v1 * d2 + d1 * v2 + lap1 + lap1
|
||||
|
||||
enddo
|
||||
enddo
|
||||
|
@ -21,10 +21,12 @@
|
||||
|
||||
! dr_{ij}^k . R_{ja}^l -> dtmp_c_{ia}^{kl}
|
||||
do k=0,ncord-1
|
||||
call dgemm('N','N', 4*nelec, nnuc*(ncord+1), nelec, 1.d0, &
|
||||
rescale_een_e_deriv_e(1,1,1,k), 4*size(rescale_een_e_deriv_e,1),&
|
||||
rescale_een_n(1,1,0), size(rescale_een_n,1), 0.d0, &
|
||||
dtmp_c(1,1,1,0,k), 4*size(dtmp_c,1))
|
||||
call dgemm('N','N', 4*nelec_8, nnuc*(ncord+1), nelec, 1.d0, &
|
||||
rescale_een_e_deriv_e(1,1,1,k), &
|
||||
size(rescale_een_e_deriv_e,1)*size(rescale_een_e_deriv_e,2), &
|
||||
rescale_een_n(1,1,0), &
|
||||
size(rescale_een_n,1), 0.d0, &
|
||||
dtmp_c(1,1,1,0,k), size(dtmp_c,1)*size(dtmp_c,2))
|
||||
enddo
|
||||
|
||||
|
||||
@ -80,7 +82,6 @@ END_PROVIDER
|
||||
)*cn2
|
||||
enddo
|
||||
|
||||
|
||||
do ii=1,4
|
||||
do j=1,nelec
|
||||
factor_een_deriv_e_blas(j,ii) = factor_een_deriv_e_blas(j,ii) + (&
|
||||
|
@ -1,5 +1,6 @@
|
||||
program jastrow
|
||||
implicit none
|
||||
print *, 'Number of electrons: ', nelec
|
||||
print *, 'The total Jastrow factor'
|
||||
print *, jastrow_full
|
||||
print *, 'REF'
|
||||
@ -7,7 +8,12 @@ program jastrow
|
||||
print *, 'X'
|
||||
print *, factor_een_deriv_e
|
||||
print *, 'BLAS'
|
||||
print *, factor_een_deriv_e_blas
|
||||
print *, factor_een_deriv_e_blas(1:nelec,1:4)
|
||||
print *, ''
|
||||
print *, factor_een_deriv_e_ref(1:nelec,1) - factor_een_deriv_e_blas(1:nelec,1)
|
||||
print *, factor_een_deriv_e_ref(1:nelec,2) - factor_een_deriv_e_blas(1:nelec,2)
|
||||
print *, factor_een_deriv_e_ref(1:nelec,3) - factor_een_deriv_e_blas(1:nelec,3)
|
||||
print *, factor_een_deriv_e_ref(1:nelec,4) - factor_een_deriv_e_blas(1:nelec,4)
|
||||
!PROVIDE jastrow_full
|
||||
|
||||
end program
|
||||
|
Loading…
Reference in New Issue
Block a user