From 96bc07076f0b67e337d0772318d4fe1daec75041 Mon Sep 17 00:00:00 2001 From: 3950 Date: Mon, 27 Nov 2023 13:37:37 +0100 Subject: [PATCH] error in allocate and error in print ufGW --- src/GW/ufG0W0.f90 | 12 ++++++------ src/GW/ufGW.f90 | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/GW/ufG0W0.f90 b/src/GW/ufG0W0.f90 index a7935ac..d17e47c 100644 --- a/src/GW/ufG0W0.f90 +++ b/src/GW/ufG0W0.f90 @@ -72,7 +72,11 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) ! Memory allocation allocate(H(nH,nH),eGW(nH),Z(nH)) - + + if (not(TDA_W)) then + allocate(Om(nS),Aph(nS,nS),Bph(nS,nS),XpY(nS,nS),XmY(nS,nS),rho(nBas,nBas,nS)) + end if + ! Initialization dRPA = .true. @@ -84,7 +88,7 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) ! Main loop over orbitals ! !-------------------------! - do p=nO,nO + do p=nO-1,nO H(:,:) = 0d0 @@ -231,10 +235,6 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) ! ! !---------------------------! - ! Memory allocation - - allocate(Om(nS),Aph(nS,nS),Bph(nS,nS),XpY(nS,nS),XmY(nS,nS),rho(nBas,nBas,nS)) - ! Spin manifold ispin = 1 diff --git a/src/GW/ufGW.f90 b/src/GW/ufGW.f90 index be31c7c..51ef852 100644 --- a/src/GW/ufGW.f90 +++ b/src/GW/ufGW.f90 @@ -423,7 +423,7 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) do a=nO+1,nBas-nR ija = ija + 1 - if(abs(H(1+ija,s)) > cutoff2) & + if(abs(H(nBas+ija,s)) > cutoff2) & write(*,'(1X,A3,I3,A1,I3,A6,I3,A7,1X,F15.6,1X,F15.6)') & ' (',i,',',j,') -> (',a,') ',H(1+ija,s),H(1+ija,s)**2 @@ -437,7 +437,7 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) do b=nO+1,nBas-nR iab = iab + 1 - if(abs(H(1+n2h1p+iab,s)) > cutoff2) & + if(abs(H(nBas+n2h1p+iab,s)) > cutoff2) & write(*,'(1X,A7,I3,A6,I3,A1,I3,A3,1X,F15.6,1X,F15.6)') & ' (',i,') -> (',a,',',b,') ',H(1+n2h1p+iab,s),H(1+n2h1p+iab,s)**2 @@ -454,7 +454,7 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) do ja=1,nS ija = ija + 1 - if(abs(H(1+ija,s)) > cutoff2) & + if(abs(H(nBas+ija,s)) > cutoff2) & write(*,'(1X,A7,I3,A1,I3,A12,1X,F15.6,1X,F15.6)') & ' (',i,',',ja,') ',H(1+ija,s),H(1+ija,s)**2 @@ -466,7 +466,7 @@ subroutine ufGW(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) do b=nO+1,nBas-nR iab = iab + 1 - if(abs(H(1+n2h1p+iab,s)) > cutoff2) & + if(abs(H(nBas+n2h1p+iab,s)) > cutoff2) & write(*,'(1X,A7,I3,A1,I3,A12,1X,F15.6,1X,F15.6)') & ' (',ia,',',b,') ',H(1+n2h1p+iab,s),H(1+n2h1p+iab,s)**2