10
0
mirror of https://gitlab.com/scemama/eplf synced 2024-10-31 19:23:55 +01:00

Bug correction

This commit is contained in:
Anthony Scemama 2010-12-17 11:45:12 +01:00
parent 77ca64c612
commit a982d23987

View File

@ -97,7 +97,7 @@ END_PROVIDER
integer :: k,l,m,n,p,p2 integer :: k,l,m,n,p,p2
integer :: ik,il,jk,jl integer :: ik,il,jk,jl
double precision :: phase,dtemp(2) double precision :: phase,dtemp(2)
integer :: exc(4), nactive, nactive2 integer :: exc(4), nact, nact2
PROVIDE det PROVIDE det
PROVIDE elec_num_2 PROVIDE elec_num_2
@ -119,13 +119,13 @@ END_PROVIDER
dtemp(1) = 0.d0 dtemp(1) = 0.d0
dtemp(2) = 0.d0 dtemp(2) = 0.d0
do p=1,2 do p=1,2
nactive = elec_num_2(p) -mo_closed_num
nactive2 = elec_num_2(p2)-mo_closed_num
p2 = 1+mod(p,2) p2 = 1+mod(p,2)
nact = elec_num_2(p) -mo_closed_num
nact2 = elec_num_2(p2)-mo_closed_num
if ( exc(3) == 0 ) then if ( exc(3) == 0 ) then
! Closed-open shell interactions ! Closed-open shell interactions
do j=1,mo_closed_num do j=1,mo_closed_num
do n=1,nactive do n=1,nact
ik = det(n,k,p) ik = det(n,k,p)
il = det(n,l,p) il = det(n,l,p)
dtemp(1) += ( & dtemp(1) += ( &
@ -136,7 +136,7 @@ END_PROVIDER
enddo enddo
!- Open-closed shell interactions !- Open-closed shell interactions
do m=1,nactive do m=1,nact
jk = det(m,k,p) jk = det(m,k,p)
jl = det(m,l,p) jl = det(m,l,p)
do i=1,mo_closed_num do i=1,mo_closed_num
@ -148,17 +148,17 @@ END_PROVIDER
enddo enddo
!- Open-open shell interactions !- Open-open shell interactions
do m=1,nactive do m=1,nact
jk = det(m,k,p) jk = det(m,k,p)
jl = det(m,l,p) jl = det(m,l,p)
do n=1,nactive do n=1,nact
ik = det(n,k,p) ik = det(n,k,p)
il = det(n,l,p) il = det(n,l,p)
dtemp(1) += ( & dtemp(1) += ( &
mo_value_prod_p(il,ik)*mo_eplf_integral_matrix(jl,jk) - & mo_value_prod_p(il,ik)*mo_eplf_integral_matrix(jl,jk) - &
mo_value_prod_p(jl,ik)*mo_eplf_integral_matrix(il,jk) ) mo_value_prod_p(jl,ik)*mo_eplf_integral_matrix(il,jk) )
enddo enddo
do n=1,nactive2 do n=1,nact2
ik = det(n,k,p2) ik = det(n,k,p2)
il = det(n,l,p2) il = det(n,l,p2)
dtemp(2) += mo_value_prod_p(ik,il)*mo_eplf_integral_matrix(jl,jk) dtemp(2) += mo_value_prod_p(ik,il)*mo_eplf_integral_matrix(jl,jk)
@ -187,14 +187,14 @@ END_PROVIDER
enddo enddo
!- Open-open shell interactions !- Open-open shell interactions
do m=1,nactive do m=1,nact
jk = det(m,k,p) jk = det(m,k,p)
jl = det(m,l,p) jl = det(m,l,p)
dtemp(1) += ( & dtemp(1) += ( &
mo_value_prod_p(il,ik)*mo_eplf_integral_matrix(jl,jk) - & mo_value_prod_p(il,ik)*mo_eplf_integral_matrix(jl,jk) - &
mo_value_prod_p(jl,ik)*mo_eplf_integral_matrix(il,jk) ) mo_value_prod_p(jl,ik)*mo_eplf_integral_matrix(il,jk) )
enddo enddo
do m=1,nactive2 do m=1,nact2
jk = det(m,k,p2) jk = det(m,k,p2)
jl = det(m,l,p2) jl = det(m,l,p2)
dtemp(2) += mo_value_prod_p(ik,il)*mo_eplf_integral_matrix(jl,jk) dtemp(2) += mo_value_prod_p(ik,il)*mo_eplf_integral_matrix(jl,jk)