From d63472bb0bffdfa1a773bfd9ace0e6f8240b16dc Mon Sep 17 00:00:00 2001 From: pfloos Date: Wed, 11 Sep 2024 21:40:38 +0200 Subject: [PATCH] fix bug in SRG --- input/options.default | 2 +- src/GW/GG0W0.f90 | 2 +- src/GW/GGW_SRG_Re_dSigC.f90 | 3 +-- src/GW/RG0W0.f90 | 4 ++-- src/GW/RGW_SRG_Re_dSigC.f90 | 3 +-- src/GW/RGW_self_energy_diag.f90 | 3 ++- src/GW/UG0W0.f90 | 2 +- src/GW/UGW_SRG_Re_dSigC.f90 | 3 +-- src/GW/evGGW.f90 | 2 +- src/GW/evRGW.f90 | 2 +- src/GW/evUGW.f90 | 2 +- 11 files changed, 13 insertions(+), 15 deletions(-) diff --git a/input/options.default b/input/options.default index 0c6c2db..22c469b 100644 --- a/input/options.default +++ b/input/options.default @@ -5,7 +5,7 @@ # CC: maxSCF thresh DIIS 64 0.00001 5 # LR: TDA singlet triplet - F T T + F T T # GF: maxSCF thresh DIIS lin eta renorm reg 256 0.00001 5 F 0.0 0 F # GW: maxSCF thresh DIIS lin eta TDA_W reg diff --git a/src/GW/GG0W0.f90 b/src/GW/GG0W0.f90 index fea0d23..780ec2e 100644 --- a/src/GW/GG0W0.f90 +++ b/src/GW/GG0W0.f90 @@ -83,7 +83,7 @@ subroutine GG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized G0W0 scheme ***' write(*,*) end if diff --git a/src/GW/GGW_SRG_Re_dSigC.f90 b/src/GW/GGW_SRG_Re_dSigC.f90 index bc04469..40524e7 100644 --- a/src/GW/GGW_SRG_Re_dSigC.f90 +++ b/src/GW/GGW_SRG_Re_dSigC.f90 @@ -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 @@ -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 double precision,intent(in) :: w double precision,intent(in) :: s - double precision,intent(in) :: eta integer,intent(in) :: nBas integer,intent(in) :: nC integer,intent(in) :: nO diff --git a/src/GW/RG0W0.f90 b/src/GW/RG0W0.f90 index 272c2d9..93fc9de 100644 --- a/src/GW/RG0W0.f90 +++ b/src/GW/RG0W0.f90 @@ -85,11 +85,11 @@ subroutine RG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA ! SRG regularization - flow = 500d0 + flow = 10d0 if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized G0W0 scheme ***' write(*,*) end if diff --git a/src/GW/RGW_SRG_Re_dSigC.f90 b/src/GW/RGW_SRG_Re_dSigC.f90 index 7d32a3e..b6b2bbf 100644 --- a/src/GW/RGW_SRG_Re_dSigC.f90 +++ b/src/GW/RGW_SRG_Re_dSigC.f90 @@ -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 @@ -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 double precision,intent(in) :: w double precision,intent(in) :: s - double precision,intent(in) :: eta integer,intent(in) :: nBas integer,intent(in) :: nC integer,intent(in) :: nO diff --git a/src/GW/RGW_self_energy_diag.f90 b/src/GW/RGW_self_energy_diag.f90 index 4959a1a..92319f8 100644 --- a/src/GW/RGW_self_energy_diag.f90 +++ b/src/GW/RGW_self_energy_diag.f90 @@ -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 @@ -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 integer,intent(in) :: nBas + integer,intent(in) :: nOrb integer,intent(in) :: nC integer,intent(in) :: nO integer,intent(in) :: nV diff --git a/src/GW/UG0W0.f90 b/src/GW/UG0W0.f90 index 9a22243..41af48a 100644 --- a/src/GW/UG0W0.f90 +++ b/src/GW/UG0W0.f90 @@ -93,7 +93,7 @@ subroutine UG0W0(dotest,doACFDT,exchange_kernel,doXBS,dophBSE,TDA_W,TDA,dBSE,dTD if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized G0W0 scheme ***' write(*,*) end if diff --git a/src/GW/UGW_SRG_Re_dSigC.f90 b/src/GW/UGW_SRG_Re_dSigC.f90 index 0590dc4..06d85af 100644 --- a/src/GW/UGW_SRG_Re_dSigC.f90 +++ b/src/GW/UGW_SRG_Re_dSigC.f90 @@ -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 @@ -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 double precision,intent(in) :: w double precision,intent(in) :: s - double precision,intent(in) :: eta integer,intent(in) :: nBas integer,intent(in) :: nC integer,intent(in) :: nO diff --git a/src/GW/evGGW.f90 b/src/GW/evGGW.f90 index 1ef3bf6..3bd07b3 100644 --- a/src/GW/evGGW.f90 +++ b/src/GW/evGGW.f90 @@ -85,7 +85,7 @@ subroutine evGGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized evGW scheme ***' write(*,*) end if diff --git a/src/GW/evRGW.f90 b/src/GW/evRGW.f90 index 9455b23..e80aa03 100644 --- a/src/GW/evRGW.f90 +++ b/src/GW/evRGW.f90 @@ -89,7 +89,7 @@ subroutine evRGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dop if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized evGW scheme ***' write(*,*) end if diff --git a/src/GW/evUGW.f90 b/src/GW/evUGW.f90 index 4d7d44a..2f7df25 100644 --- a/src/GW/evUGW.f90 +++ b/src/GW/evUGW.f90 @@ -96,7 +96,7 @@ subroutine evUGW(dotest,maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE if(doSRG) then - write(*,*) '*** SRG regularized qsGW scheme ***' + write(*,*) '*** SRG regularized evGW scheme ***' write(*,*) end if