mirror of
https://github.com/pfloos/quack
synced 2024-12-23 04:43:42 +01:00
fixing ufGF2
This commit is contained in:
parent
a259c81fa3
commit
21b1bbda5c
@ -39,7 +39,9 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
double precision,parameter :: cutoff1 = 0.01d0
|
double precision,parameter :: cutoff1 = 0.01d0
|
||||||
double precision,parameter :: cutoff2 = 0.01d0
|
double precision,parameter :: cutoff2 = 0.01d0
|
||||||
double precision :: eFermi
|
double precision :: eFermi
|
||||||
double precision,parameter :: window = 2d0
|
double precision,parameter :: window = 1.5d0
|
||||||
|
|
||||||
|
double precision,allocatable :: Reigv(:,:) ! Right eigenvectors
|
||||||
|
|
||||||
double precision :: start_timing,end_timing,timing
|
double precision :: start_timing,end_timing,timing
|
||||||
|
|
||||||
@ -61,7 +63,7 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
|
|
||||||
! Memory allocation
|
! Memory allocation
|
||||||
|
|
||||||
allocate(H(nH,nH),epsGF2(nH),Z(nH))
|
allocate(H(nH,nH),epsGF2(nH),Z(nH),Reigv(nH,nH))
|
||||||
|
|
||||||
eFermi = 0.5d0*(epsHF(nO) + epsHF(nO+1))
|
eFermi = 0.5d0*(epsHF(nO) + epsHF(nO+1))
|
||||||
|
|
||||||
@ -71,7 +73,8 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
|
|
||||||
do p=nO-1,nO
|
do p=nO-1,nO
|
||||||
|
|
||||||
H(:,:) = 0d0
|
H(:,:) = 0d0
|
||||||
|
Reigv(:,:) = 0d0
|
||||||
|
|
||||||
!---------------------------!
|
!---------------------------!
|
||||||
! Compute GF2 supermatrix !
|
! Compute GF2 supermatrix !
|
||||||
@ -194,7 +197,7 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
|
|
||||||
call wall_time(start_timing)
|
call wall_time(start_timing)
|
||||||
|
|
||||||
call diagonalize_matrix(nH,H,epsGF2)
|
call diagonalize_general_matrix(nH,H,epsGF2,Reigv)
|
||||||
|
|
||||||
call wall_time(end_timing)
|
call wall_time(end_timing)
|
||||||
|
|
||||||
@ -208,7 +211,7 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
!-----------------!
|
!-----------------!
|
||||||
|
|
||||||
do s=1,nH
|
do s=1,nH
|
||||||
Z(s) = H(1,s)**2
|
Z(s) = Reigv(1,s)**2
|
||||||
end do
|
end do
|
||||||
|
|
||||||
!--------------!
|
!--------------!
|
||||||
@ -249,10 +252,10 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
|
|
||||||
if(p <= nO) &
|
if(p <= nO) &
|
||||||
write(*,'(1X,A7,I3,A16,1X,F15.6,1X,F15.6)') &
|
write(*,'(1X,A7,I3,A16,1X,F15.6,1X,F15.6)') &
|
||||||
' (',p,') ',H(1,s),H(1,s)**2
|
' (',p,') ',Reigv(1,s),Reigv(1,s)**2
|
||||||
if(p > nO) &
|
if(p > nO) &
|
||||||
write(*,'(1X,A16,I3,A7,1X,F15.6,1X,F15.6)') &
|
write(*,'(1X,A16,I3,A7,1X,F15.6,1X,F15.6)') &
|
||||||
' (',p,') ',H(1,s),H(1,s)**2
|
' (',p,') ',Reigv(1,s),Reigv(1,s)**2
|
||||||
|
|
||||||
ija = 0
|
ija = 0
|
||||||
do i=nC+1,nO
|
do i=nC+1,nO
|
||||||
@ -260,9 +263,9 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
do a=nO+1,nBas-nR
|
do a=nO+1,nBas-nR
|
||||||
ija = ija + 1
|
ija = ija + 1
|
||||||
|
|
||||||
if(abs(H(1+ija,s)) > cutoff2) &
|
if(abs(Reigv(1+ija,s)) > cutoff2) &
|
||||||
write(*,'(1X,A3,I3,A1,I3,A6,I3,A7,1X,F15.6,1X,F15.6)') &
|
write(*,'(1X,A3,I3,A1,I3,A6,I3,A7,1X,F15.6,1X,F15.6)') &
|
||||||
' (',i,',',j,') -> (',a,') ',H(1+ija,s),H(1+ija,s)**2
|
' (',i,',',j,') -> (',a,') ',Reigv(1+ija,s),Reigv(1+ija,s)**2
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
@ -274,9 +277,9 @@ subroutine ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,epsHF)
|
|||||||
do b=nO+1,nBas-nR
|
do b=nO+1,nBas-nR
|
||||||
iab = iab + 1
|
iab = iab + 1
|
||||||
|
|
||||||
if(abs(H(1+n2h1p+iab,s)) > cutoff2) &
|
if(abs(Reigv(1+n2h1p+iab,s)) > cutoff2) &
|
||||||
write(*,'(1X,A7,I3,A6,I3,A1,I3,A3,1X,F15.6,1X,F15.6)') &
|
write(*,'(1X,A7,I3,A6,I3,A1,I3,A3,1X,F15.6,1X,F15.6)') &
|
||||||
' (',i,') -> (',a,',',b,') ',H(1+n2h1p+iab,s),H(1+n2h1p+iab,s)**2
|
' (',i,') -> (',a,',',b,') ',Reigv(1+n2h1p+iab,s),Reigv(1+n2h1p+iab,s)**2
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
Loading…
Reference in New Issue
Block a user