From 123093831625405fc988ba162842e3e9fcfc3b11 Mon Sep 17 00:00:00 2001 From: pfloos Date: Sun, 31 Dec 2023 11:35:56 +0100 Subject: [PATCH] fix HOMO LUMO print in GG0W0 --- src/GW/print_GG0W0.f90 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/GW/print_GG0W0.f90 b/src/GW/print_GG0W0.f90 index acf4142..034203e 100644 --- a/src/GW/print_GG0W0.f90 +++ b/src/GW/print_GG0W0.f90 @@ -15,14 +15,15 @@ subroutine print_GG0W0(nBas,nO,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM) double precision,intent(in) :: Z(nBas) double precision,intent(in) :: eGW(nBas) - integer :: p,HOMO,LUMO - double precision :: Gap + integer :: p + double precision :: eHOMO,eLUMO,Gap ! HOMO and LUMO - HOMO = nO - LUMO = HOMO + 1 - Gap = eGW(LUMO)-eGW(HOMO) + + eHOMO = maxval(eGW(1:nO)) + eLUMO = minval(eGW(nO+1:nBas)) + Gap = eLUMO-eHOMO ! Dump results @@ -39,8 +40,8 @@ subroutine print_GG0W0(nBas,nO,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM) end do write(*,*)'-------------------------------------------------------------------------------' - write(*,'(2X,A60,F15.6,A3)') 'G0W0@GHF HOMO energy = ',eGW(HOMO)*HaToeV,' eV' - write(*,'(2X,A60,F15.6,A3)') 'G0W0@GHF LUMO energy = ',eGW(LUMO)*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'G0W0@GHF HOMO energy = ',eHOMO*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'G0W0@GHF LUMO energy = ',eLUMO*HaToeV,' eV' write(*,'(2X,A60,F15.6,A3)') 'G0W0@GHF HOMO-LUMO gap = ',Gap*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------' write(*,'(2X,A60,F15.6,A3)') 'phRPA@G0W0@GHF total energy = ',ENuc + ERHF + EcRPA,' au'