diff --git a/mol/F2.xyz b/mol/F2.xyz index e0c6463..ae94569 100644 --- a/mol/F2.xyz +++ b/mol/F2.xyz @@ -1,4 +1,4 @@ 2 F 0.0000 0.0000 0.0000 -F 0.0000 0.0000 1.4137 +F 0.0000 0.0000 1.57218 diff --git a/src/GW/RGW.f90 b/src/GW/RGW.f90 index 9b78b0c..a4666bf 100644 --- a/src/GW/RGW.f90 +++ b/src/GW/RGW.f90 @@ -167,7 +167,7 @@ subroutine RGW(dotest,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,maxSCF,thresh,max_dii call wall_time(start_GW) 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) t_GW = end_GW - start_GW diff --git a/src/GW/ccRG0W0.f90 b/src/GW/ccRG0W0.f90 index 1376672..e26dd9b 100644 --- a/src/GW/ccRG0W0.f90 +++ b/src/GW/ccRG0W0.f90 @@ -30,9 +30,6 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF) integer :: nSCF double precision :: Conv - double precision,allocatable :: OVVO(:,:,:,:) - double precision,allocatable :: VOOV(:,:,:,:) - double precision,allocatable :: delta_2h1p(:,:,:) 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(*,*) -! 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 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 - ! Compute intermediates + ! Compute intermediates x_2h1p and x_2p1h 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 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 @@ -214,7 +204,7 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF) do k=nC+1,nO 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