4
1
mirror of https://github.com/pfloos/quack synced 2024-12-22 04:14:26 +01:00
This commit is contained in:
Pierre-Francois Loos 2024-09-17 14:31:48 +02:00
parent 5fa70be11e
commit 4fa5706b90
3 changed files with 5 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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