mirror of
https://github.com/pfloos/quack
synced 2024-11-03 20:53:53 +01:00
ok with ufGW et al
This commit is contained in:
parent
f7373f571b
commit
39b8b8d6f1
@ -80,14 +80,14 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
|
|
||||||
eF = 0.5d0*(eHF(nO+1) + eHF(nO))
|
eF = 0.5d0*(eHF(nO+1) + eHF(nO))
|
||||||
|
|
||||||
H(:,:) = 0d0
|
|
||||||
|
|
||||||
!-------------------------!
|
!-------------------------!
|
||||||
! Main loop over orbitals !
|
! Main loop over orbitals !
|
||||||
!-------------------------!
|
!-------------------------!
|
||||||
|
|
||||||
do p=nO,nO
|
do p=nO,nO
|
||||||
|
|
||||||
|
H(:,:) = 0d0
|
||||||
|
|
||||||
if (TDA_W) then
|
if (TDA_W) then
|
||||||
|
|
||||||
! TDA for W
|
! TDA for W
|
||||||
@ -335,7 +335,6 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
|
|
||||||
call wall_time(start_timing)
|
call wall_time(start_timing)
|
||||||
|
|
||||||
H(:,:) = H(:,:)
|
|
||||||
call diagonalize_matrix(nH,H,eGW)
|
call diagonalize_matrix(nH,H,eGW)
|
||||||
|
|
||||||
call wall_time(end_timing)
|
call wall_time(end_timing)
|
||||||
|
@ -48,6 +48,8 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
logical :: verbose = .true.
|
logical :: verbose = .true.
|
||||||
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 :: eF
|
||||||
|
double precision,parameter :: window = 2d0
|
||||||
|
|
||||||
double precision :: start_timing,end_timing,timing
|
double precision :: start_timing,end_timing,timing
|
||||||
|
|
||||||
@ -73,6 +75,11 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
|
|
||||||
! Initialization
|
! Initialization
|
||||||
|
|
||||||
|
dRPA = .true.
|
||||||
|
EcRPA = 0d0
|
||||||
|
|
||||||
|
eF = 0.5d0*(eHF(nO+1) + eHF(nO))
|
||||||
|
|
||||||
H(:,:) = 0d0
|
H(:,:) = 0d0
|
||||||
|
|
||||||
if (TDA_W) then
|
if (TDA_W) then
|
||||||
@ -374,8 +381,11 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
write(*,*)'---------------------------------------------'
|
write(*,*)'---------------------------------------------'
|
||||||
|
|
||||||
do s=1,nH
|
do s=1,nH
|
||||||
write(*,'(1X,A1,1X,I5,1X,A1,1X,F15.6,1X,A1,1X,F15.6,1X,A1,1X)') &
|
if(eGW(s) < eF .and. eGW(s) > eF - window) then
|
||||||
'|',s,'|',eGW(s)*HaToeV,'|',Z(s),'|'
|
! if(Z(s) > cutoff1) then
|
||||||
|
write(*,'(1X,A1,1X,I5,1X,A1,1X,F15.6,1X,A1,1X,F15.6,1X,A1,1X)') &
|
||||||
|
'|',s,'|',eGW(s)*HaToeV,'|',Z(s),'|'
|
||||||
|
end if
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
write(*,*)'---------------------------------------------'
|
write(*,*)'---------------------------------------------'
|
||||||
@ -385,7 +395,8 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
|
|
||||||
do s=1,nH
|
do s=1,nH
|
||||||
|
|
||||||
if(Z(s) > cutoff1) then
|
if(eGW(s) < eF .and. eGW(s) > eF - window) then
|
||||||
|
! if(Z(s) > cutoff1) then
|
||||||
|
|
||||||
write(*,*)'-------------------------------------------------------------'
|
write(*,*)'-------------------------------------------------------------'
|
||||||
write(*,'(1X,A7,1X,I3,A6,I3,A1,1X,A7,F12.6,A13,F6.4,1X)') &
|
write(*,'(1X,A7,1X,I3,A6,I3,A1,1X,A7,F12.6,A13,F6.4,1X)') &
|
||||||
|
Loading…
Reference in New Issue
Block a user