10
1
mirror of https://github.com/pfloos/quack synced 2024-09-27 12:00:50 +02:00

ok with ccGW

This commit is contained in:
Pierre-Francois Loos 2024-09-17 09:10:16 +02:00
parent 6ad0cedc6e
commit 5fa70be11e
2 changed files with 27 additions and 25 deletions

View File

@ -161,12 +161,12 @@ subroutine RGW(dotest,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,maxSCF,thresh,max_dii
! Perform CC-based G0W0 calculation ! Perform CC-based G0W0 calculation
!------------------------------------------------------------------------ !------------------------------------------------------------------------
doccG0W0 = .false. doccG0W0 = .true.
if(doccG0W0) then if(doccG0W0) then
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)
@ -181,7 +181,7 @@ subroutine RGW(dotest,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,maxSCF,thresh,max_dii
! Perform CC-based GW calculation ! Perform CC-based GW calculation
!------------------------------------------------------------------------ !------------------------------------------------------------------------
doccGW = .true. doccGW = .false.
if(doccGW) then if(doccGW) then

View File

@ -93,6 +93,30 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
t_2h1p(:,:,:) = 0d0 t_2h1p(:,:,:) = 0d0
t_2p1h(:,:,:) = 0d0 t_2p1h(:,:,:) = 0d0
! Compute energy differences
do i=nC+1,nO
do j=nC+1,nO
do a=1,nV-nR
delta_2h1p(i,j,a) = eHF(i) + eHF(j) - eHF(nO+a) - eHF(p)
end do
end do
end do
do i=nC+1,nO
do a=1,nV-nR
do b=1,nV-nR
delta_2p1h(i,a,b) = eHF(nO+a) + eHF(nO+b) - eHF(i) - eHF(p)
end do
end do
end do
! Compute V2h1p and V2p1h
do k=nC+1,nO do k=nC+1,nO
do l=nC+1,nO do l=nC+1,nO
do c=1,nV-nR do c=1,nV-nR
@ -131,28 +155,6 @@ subroutine ccRG0W0(maxSCF,thresh,nBas,nOrb,nC,nO,nV,nR,ERI,ENuc,ERHF,eHF)
nSCF = nSCF + 1 nSCF = nSCF + 1
! Compute energy differences
do i=nC+1,nO
do j=nC+1,nO
do a=1,nV-nR
delta_2h1p(i,j,a) = eHF(i) + eHF(j) - eHF(nO+a) - eGW(p)
end do
end do
end do
do i=nC+1,nO
do a=1,nV-nR
do b=1,nV-nR
delta_2p1h(i,a,b) = eHF(nO+a) + eHF(nO+b) - eHF(i) - eGW(p)
end do
end do
end do
! Compute intermediates ! Compute intermediates
x_2h1p = 0d0 x_2h1p = 0d0