mirror of
https://github.com/pfloos/quack
synced 2025-01-03 01:55:57 +01:00
fix bug in SRG
This commit is contained in:
parent
bf77863d6c
commit
d63472bb0b
@ -5,7 +5,7 @@
|
|||||||
# CC: maxSCF thresh DIIS
|
# CC: maxSCF thresh DIIS
|
||||||
64 0.00001 5
|
64 0.00001 5
|
||||||
# LR: TDA singlet triplet
|
# LR: TDA singlet triplet
|
||||||
F T T
|
F T T
|
||||||
# GF: maxSCF thresh DIIS lin eta renorm reg
|
# GF: maxSCF thresh DIIS lin eta renorm reg
|
||||||
256 0.00001 5 F 0.0 0 F
|
256 0.00001 5 F 0.0 0 F
|
||||||
# GW: maxSCF thresh DIIS lin eta TDA_W reg
|
# GW: maxSCF thresh DIIS lin eta TDA_W reg
|
||||||
|
@ -83,7 +83,7 @@ subroutine GG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized G0W0 scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
double precision function GGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
double precision function GGW_SRG_Re_dSigC(p,w,s,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
||||||
|
|
||||||
! Compute the derivative of the correlation part of the self-energy
|
! Compute the derivative of the correlation part of the self-energy
|
||||||
|
|
||||||
@ -10,7 +10,6 @@ double precision function GGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rh
|
|||||||
integer,intent(in) :: p
|
integer,intent(in) :: p
|
||||||
double precision,intent(in) :: w
|
double precision,intent(in) :: w
|
||||||
double precision,intent(in) :: s
|
double precision,intent(in) :: s
|
||||||
double precision,intent(in) :: eta
|
|
||||||
integer,intent(in) :: nBas
|
integer,intent(in) :: nBas
|
||||||
integer,intent(in) :: nC
|
integer,intent(in) :: nC
|
||||||
integer,intent(in) :: nO
|
integer,intent(in) :: nO
|
||||||
|
@ -85,11 +85,11 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA
|
|||||||
|
|
||||||
! SRG regularization
|
! SRG regularization
|
||||||
|
|
||||||
flow = 500d0
|
flow = 10d0
|
||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized G0W0 scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
double precision function RGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
double precision function RGW_SRG_Re_dSigC(p,w,s,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
||||||
|
|
||||||
! Compute the derivative of the correlation part of the self-energy
|
! Compute the derivative of the correlation part of the self-energy
|
||||||
|
|
||||||
@ -10,7 +10,6 @@ double precision function RGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rh
|
|||||||
integer,intent(in) :: p
|
integer,intent(in) :: p
|
||||||
double precision,intent(in) :: w
|
double precision,intent(in) :: w
|
||||||
double precision,intent(in) :: s
|
double precision,intent(in) :: s
|
||||||
double precision,intent(in) :: eta
|
|
||||||
integer,intent(in) :: nBas
|
integer,intent(in) :: nBas
|
||||||
integer,intent(in) :: nC
|
integer,intent(in) :: nC
|
||||||
integer,intent(in) :: nO
|
integer,intent(in) :: nO
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine RGW_self_energy_diag(eta,nBas,nC,nO,nV,nR,nS,e,Om,rho,EcGM,Sig,Z)
|
subroutine RGW_self_energy_diag(eta,nBas,nOrb,nC,nO,nV,nR,nS,e,Om,rho,EcGM,Sig,Z)
|
||||||
|
|
||||||
! Compute diagonal of the correlation part of the self-energy and the renormalization factor
|
! Compute diagonal of the correlation part of the self-energy and the renormalization factor
|
||||||
|
|
||||||
@ -9,6 +9,7 @@ subroutine RGW_self_energy_diag(eta,nBas,nC,nO,nV,nR,nS,e,Om,rho,EcGM,Sig,Z)
|
|||||||
|
|
||||||
double precision,intent(in) :: eta
|
double precision,intent(in) :: eta
|
||||||
integer,intent(in) :: nBas
|
integer,intent(in) :: nBas
|
||||||
|
integer,intent(in) :: nOrb
|
||||||
integer,intent(in) :: nC
|
integer,intent(in) :: nC
|
||||||
integer,intent(in) :: nO
|
integer,intent(in) :: nO
|
||||||
integer,intent(in) :: nV
|
integer,intent(in) :: nV
|
||||||
|
@ -93,7 +93,7 @@ subroutine UG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,TDA_W,TDA,dBSE,dTD
|
|||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized G0W0 scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
double precision function UGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
double precision function UGW_SRG_Re_dSigC(p,w,s,nBas,nC,nO,nV,nR,nS,e,Om,rho)
|
||||||
|
|
||||||
! Compute the derivative of the correlation part of the self-energy
|
! Compute the derivative of the correlation part of the self-energy
|
||||||
|
|
||||||
@ -10,7 +10,6 @@ double precision function UGW_SRG_Re_dSigC(p,w,s,eta,nBas,nC,nO,nV,nR,nS,e,Om,rh
|
|||||||
integer,intent(in) :: p
|
integer,intent(in) :: p
|
||||||
double precision,intent(in) :: w
|
double precision,intent(in) :: w
|
||||||
double precision,intent(in) :: s
|
double precision,intent(in) :: s
|
||||||
double precision,intent(in) :: eta
|
|
||||||
integer,intent(in) :: nBas
|
integer,intent(in) :: nBas
|
||||||
integer,intent(in) :: nC
|
integer,intent(in) :: nC
|
||||||
integer,intent(in) :: nO
|
integer,intent(in) :: nO
|
||||||
|
@ -85,7 +85,7 @@ subroutine evGGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop
|
|||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized evGW scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
@ -89,7 +89,7 @@ subroutine evRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop
|
|||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized evGW scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
@ -96,7 +96,7 @@ subroutine evUGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE
|
|||||||
|
|
||||||
if(doSRG) then
|
if(doSRG) then
|
||||||
|
|
||||||
write(*,*) '*** SRG regularized qsGW scheme ***'
|
write(*,*) '*** SRG regularized evGW scheme ***'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if
|
||||||
|
Loading…
Reference in New Issue
Block a user