mirror of
https://github.com/pfloos/quack
synced 2024-12-23 04:43:42 +01:00
Merge branch 'master' of https://github.com/pfloos/QuAcK
This commit is contained in:
commit
4f24625c9d
@ -1,4 +1,4 @@
|
|||||||
2
|
2
|
||||||
|
|
||||||
Li 0.0000 0.0000 0.0000
|
Li 0.0000 0.0000 0.0000
|
||||||
F 0.0000 0.0000 1.5732438
|
F 0.0000 0.0000 1.57688442817
|
||||||
|
@ -145,9 +145,7 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
|
|
||||||
if(plot_self) call RGW_plot_self_energy(nOrb,eta,nC,nO,nV,nR,nS,eHF,eHF,Om,rho)
|
if(plot_self) call RGW_plot_self_energy(nOrb,eta,nC,nO,nV,nR,nS,eHF,eHF,Om,rho)
|
||||||
|
|
||||||
!--------------------!
|
! Cumulant expansion
|
||||||
! Cumulant expansion !
|
|
||||||
!--------------------!
|
|
||||||
|
|
||||||
! call RGWC(dotest,eta,nOrb,nC,nO,nV,nR,nS,Om,rho,eHF,eHF,eGW,Z)
|
! call RGWC(dotest,eta,nOrb,nC,nO,nV,nR,nS,Om,rho,eHF,eHF,eGW,Z)
|
||||||
|
|
||||||
@ -164,7 +162,9 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
|
|
||||||
call print_RG0W0(nOrb,nO,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM)
|
call print_RG0W0(nOrb,nO,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM)
|
||||||
|
|
||||||
! Perform BSE calculation
|
!---------------------------!
|
||||||
|
! Perform phBSE calculation !
|
||||||
|
!---------------------------!
|
||||||
|
|
||||||
if(dophBSE) then
|
if(dophBSE) then
|
||||||
|
|
||||||
@ -180,15 +180,10 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
write(*,*)'-------------------------------------------------------------------------------'
|
write(*,*)'-------------------------------------------------------------------------------'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
! Compute the BSE correlation energy via the adiabatic connection
|
! Compute the BSE correlation energy via the adiabatic connection fluctuation dissipation theorem
|
||||||
|
|
||||||
if(doACFDT) then
|
if(doACFDT) then
|
||||||
|
|
||||||
write(*,*) '-------------------------------------------------------------'
|
|
||||||
write(*,*) ' Adiabatic connection version of BSE@G0W0 correlation energy '
|
|
||||||
write(*,*) '-------------------------------------------------------------'
|
|
||||||
write(*,*)
|
|
||||||
|
|
||||||
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,eHF,eGW,EcBSE)
|
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,eHF,eGW,EcBSE)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
@ -204,6 +199,10 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
!---------------------------!
|
||||||
|
! Perform ppBSE calculation !
|
||||||
|
!---------------------------!
|
||||||
|
|
||||||
if(doppBSE) then
|
if(doppBSE) then
|
||||||
|
|
||||||
call RGW_ppBSE(TDA_W,TDA,dBSE,dTDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,dipole_int,eHF,eGW,EcBSE)
|
call RGW_ppBSE(TDA_W,TDA,dBSE,dTDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,dipole_int,eHF,eGW,EcBSE)
|
||||||
|
@ -60,6 +60,13 @@ subroutine RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nBas,
|
|||||||
allocate(Aph(nS,nS),Bph(nS,nS),KA(nS,nS),KB(nS,nS),OmRPA(nS),XpY_RPA(nS,nS),XmY_RPA(nS,nS), &
|
allocate(Aph(nS,nS),Bph(nS,nS),KA(nS,nS),KB(nS,nS),OmRPA(nS),XpY_RPA(nS,nS),XmY_RPA(nS,nS), &
|
||||||
rho_RPA(nBas,nBas,nS),Om(nS),XpY(nS,nS),XmY(nS,nS))
|
rho_RPA(nBas,nBas,nS),Om(nS),XpY(nS,nS),XmY(nS,nS))
|
||||||
|
|
||||||
|
! Hello World
|
||||||
|
|
||||||
|
write(*,*) '-------------------------------------------------------------'
|
||||||
|
write(*,*) ' Adiabatic connection version of BSE@G0W0 correlation energy '
|
||||||
|
write(*,*) '-------------------------------------------------------------'
|
||||||
|
write(*,*)
|
||||||
|
|
||||||
! eXtended BSE
|
! eXtended BSE
|
||||||
|
|
||||||
if(doXBS) then
|
if(doXBS) then
|
||||||
|
@ -46,8 +46,7 @@ subroutine RGW_phBSE_static_kernel_A(eta,nBas,nC,nO,nV,nR,nS,lambda,ERI,Om,rho,K
|
|||||||
chi = chi + rho(i,j,kc)*rho(a,b,kc)*Om(kc)/eps
|
chi = chi + rho(i,j,kc)*rho(a,b,kc)*Om(kc)/eps
|
||||||
end do
|
end do
|
||||||
|
|
||||||
! KA(ia,jb) = 4d0*chi
|
KA(ia,jb) = 4d0*lambda**2*chi
|
||||||
KA(ia,jb) = 4d0*lambda*chi
|
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
@ -46,8 +46,7 @@ subroutine RGW_phBSE_static_kernel_B(eta,nBas,nC,nO,nV,nR,nS,lambda,ERI,Om,rho,K
|
|||||||
chi = chi + rho(i,b,kc)*rho(a,j,kc)*Om(kc)/eps
|
chi = chi + rho(i,b,kc)*rho(a,j,kc)*Om(kc)/eps
|
||||||
end do
|
end do
|
||||||
|
|
||||||
! KB(ia,jb) = 4d0*chi
|
KB(ia,jb) = 4d0*lambda**2*chi
|
||||||
KB(ia,jb) = 4d0*lambda*chi
|
|
||||||
|
|
||||||
end do
|
end do
|
||||||
end do
|
end do
|
||||||
|
@ -121,7 +121,7 @@ subroutine SRG_qsRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS
|
|||||||
! TDA for W
|
! TDA for W
|
||||||
|
|
||||||
if(TDA_W) then
|
if(TDA_W) then
|
||||||
write(*,*) 'Tamm-Dancoff approximation for dynamic screening!'
|
write(*,*) 'Tamm-Dancoff approximation for dynamical screening!'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
end if
|
end if
|
||||||
|
|
||||||
@ -360,18 +360,6 @@ subroutine SRG_qsRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS
|
|||||||
|
|
||||||
if(doACFDT) then
|
if(doACFDT) then
|
||||||
|
|
||||||
write(*,*) '------------------------------------------------------'
|
|
||||||
write(*,*) 'Adiabatic connection version of BSE correlation energy'
|
|
||||||
write(*,*) '------------------------------------------------------'
|
|
||||||
write(*,*)
|
|
||||||
|
|
||||||
if(doXBS) then
|
|
||||||
|
|
||||||
write(*,*) '*** scaled screening version (XBS) ***'
|
|
||||||
write(*,*)
|
|
||||||
|
|
||||||
end if
|
|
||||||
|
|
||||||
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI_MO,eGW,eGW,EcBSE)
|
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI_MO,eGW,eGW,EcBSE)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
@ -231,11 +231,6 @@ subroutine evRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop
|
|||||||
|
|
||||||
if(doACFDT) then
|
if(doACFDT) then
|
||||||
|
|
||||||
write(*,*) '-----------------------------------------------------------'
|
|
||||||
write(*,*) 'Adiabatic connection version of BSE@evGW correlation energy'
|
|
||||||
write(*,*) '-----------------------------------------------------------'
|
|
||||||
write(*,*)
|
|
||||||
|
|
||||||
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,eGW,eGW,EcBSE)
|
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI,eGW,eGW,EcBSE)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
@ -323,11 +323,6 @@ subroutine qsRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop
|
|||||||
|
|
||||||
if(doACFDT) then
|
if(doACFDT) then
|
||||||
|
|
||||||
write(*,*) '-----------------------------------------------------------'
|
|
||||||
write(*,*) 'Adiabatic connection version of BSE@qsGW correlation energy'
|
|
||||||
write(*,*) '-----------------------------------------------------------'
|
|
||||||
write(*,*)
|
|
||||||
|
|
||||||
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI_MO,eGW,eGW,EcBSE)
|
call RGW_phACFDT(exchange_kernel,doXBS,TDA_W,TDA,singlet,triplet,eta,nOrb,nC,nO,nV,nR,nS,ERI_MO,eGW,eGW,EcBSE)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
Loading…
Reference in New Issue
Block a user