From 7b06e8ea50143187b1790328e1765fb5abd2b3e9 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Tue, 18 Jul 2023 15:07:07 +0200 Subject: [PATCH] fix bug in dSigmaC --- input/methods | 4 ++-- src/GW/dSigmaC.f90 | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/input/methods b/input/methods index 6afd5a5..52fde72 100644 --- a/input/methods +++ b/input/methods @@ -9,11 +9,11 @@ # CIS* CIS(D) CID CISD FCI F F F F F # phRPA* phRPAx* crRPA ppRPA - F F T F + F F F F # G0F2* evGF2* qsGF2* G0F3 evGF3 F F F F F # G0W0* evGW* qsGW* SRG-qsGW ufG0W0 ufGW - F F F F F F + T T T F F F # G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh F F F F F F # * unrestricted version available diff --git a/src/GW/dSigmaC.f90 b/src/GW/dSigmaC.f90 index f0b902d..ef28b58 100644 --- a/src/GW/dSigmaC.f90 +++ b/src/GW/dSigmaC.f90 @@ -1,4 +1,4 @@ -double precision function dSigmaC(x,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regularize) +double precision function dSigmaC(p,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regularize) ! Compute the derivative of the correlation part of the self-energy @@ -7,7 +7,7 @@ double precision function dSigmaC(x,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regula ! Input variables - integer,intent(in) :: x + integer,intent(in) :: p double precision,intent(in) :: w double precision,intent(in) :: eta integer,intent(in) :: nBas @@ -23,7 +23,7 @@ double precision function dSigmaC(x,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regula ! Local variables - integer :: i,j,a,b,p,jb + integer :: i,j,a,b,jb double precision :: eps double precision :: Dpijb,Dpajb @@ -57,7 +57,7 @@ double precision function dSigmaC(x,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regula do b=nO+1,nBas-nR jb = jb + 1 eps = w - e(i) + Omega(jb) - dSigmaC = dSigmaC - 2d0*rho(x,i,jb)**2*(eps**2 - eta**2)/(eps**2 + eta**2)**2 + dSigmaC = dSigmaC - 2d0*rho(p,i,jb)**2*(eps**2 - eta**2)/(eps**2 + eta**2)**2 enddo enddo enddo @@ -69,7 +69,7 @@ double precision function dSigmaC(x,w,eta,nBas,nC,nO,nV,nR,nS,e,Omega,rho,regula do b=nO+1,nBas-nR jb = jb + 1 eps = w - e(a) - Omega(jb) - dSigmaC = dSigmaC - 2d0*rho(x,a,jb)**2*(eps**2 - eta**2)/(eps**2 + eta**2)**2 + dSigmaC = dSigmaC - 2d0*rho(p,a,jb)**2*(eps**2 - eta**2)/(eps**2 + eta**2)**2 enddo enddo enddo