mirror of
https://github.com/pfloos/quack
synced 2024-12-22 04:14:26 +01:00
ccRG0W0
This commit is contained in:
parent
5fa70be11e
commit
4fa5706b90
@ -1,4 +1,4 @@
|
|||||||
2
|
2
|
||||||
|
|
||||||
F 0.0000 0.0000 0.0000
|
F 0.0000 0.0000 0.0000
|
||||||
F 0.0000 0.0000 1.4137
|
F 0.0000 0.0000 1.57218
|
||||||
|
@ -167,7 +167,7 @@ subroutine RGW(dotest,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,maxSCF,thresh,max_dii
|
|||||||
|
|
||||||
call wall_time(start_GW)
|
call wall_time(start_GW)
|
||||||
call ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI_MO,ENuc,ERHF,eHF)
|
call ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI_MO,ENuc,ERHF,eHF)
|
||||||
call ccRG0W0_mat(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI_MO,ENuc,ERHF,eHF)
|
! call ccRG0W0_mat(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI_MO,ENuc,ERHF,eHF)
|
||||||
call wall_time(end_GW)
|
call wall_time(end_GW)
|
||||||
|
|
||||||
t_GW = end_GW - start_GW
|
t_GW = end_GW - start_GW
|
||||||
|
@ -30,9 +30,6 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
|
|||||||
integer :: nSCF
|
integer :: nSCF
|
||||||
double precision :: Conv
|
double precision :: Conv
|
||||||
|
|
||||||
double precision,allocatable :: OVVO(:,:,:,:)
|
|
||||||
double precision,allocatable :: VOOV(:,:,:,:)
|
|
||||||
|
|
||||||
double precision,allocatable :: delta_2h1p(:,:,:)
|
double precision,allocatable :: delta_2h1p(:,:,:)
|
||||||
double precision,allocatable :: delta_2p1h(:,:,:)
|
double precision,allocatable :: delta_2p1h(:,:,:)
|
||||||
|
|
||||||
@ -60,13 +57,6 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
|
|||||||
write(*,*)'*****************************'
|
write(*,*)'*****************************'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
! Create integral batches
|
|
||||||
|
|
||||||
allocate(OVVO(nO,nV,nV,nO),VOOV(nV,nO,nO,nV))
|
|
||||||
|
|
||||||
OVVO(:,:,:,:) = ERI( 1:nO ,nO+1:nOrb,nO+1:nOrb, 1:nO )
|
|
||||||
VOOV(:,:,:,:) = ERI(nO+1:nOrb , 1:nO , 1:nO ,nO+1:nOrb)
|
|
||||||
|
|
||||||
! Form energy denominator and guess amplitudes
|
! Form energy denominator and guess amplitudes
|
||||||
|
|
||||||
allocate(delta_2h1p(nO,nO,nV),delta_2p1h(nO,nV,nV))
|
allocate(delta_2h1p(nO,nO,nV),delta_2p1h(nO,nV,nV))
|
||||||
@ -155,7 +145,7 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
|
|||||||
|
|
||||||
nSCF = nSCF + 1
|
nSCF = nSCF + 1
|
||||||
|
|
||||||
! Compute intermediates
|
! Compute intermediates x_2h1p and x_2p1h
|
||||||
|
|
||||||
x_2h1p = 0d0
|
x_2h1p = 0d0
|
||||||
|
|
||||||
@ -192,7 +182,7 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
|
|||||||
do k=nC+1,nO
|
do k=nC+1,nO
|
||||||
do c=1,nV-nR
|
do c=1,nV-nR
|
||||||
|
|
||||||
r_2h1p(i,j,a) = r_2h1p(i,j,a) - 2d0*OVVO(j,c,a,k)*t_2h1p(i,k,c)
|
r_2h1p(i,j,a) = r_2h1p(i,j,a) - 2d0*ERI(j,nO+c,nO+a,k)*t_2h1p(i,k,c)
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
@ -214,7 +204,7 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
|
|||||||
do k=nC+1,nO
|
do k=nC+1,nO
|
||||||
do c=1,nV-nR
|
do c=1,nV-nR
|
||||||
|
|
||||||
r_2p1h(i,a,b) = r_2p1h(i,a,b) + 2d0*VOOV(a,k,i,c)*t_2p1h(k,c,b)
|
r_2p1h(i,a,b) = r_2p1h(i,a,b) + 2d0*ERI(nO+a,k,i,nO+c)*t_2p1h(k,c,b)
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
Loading…
Reference in New Issue
Block a user