From 1084fcebead97cf69ad1ac1b82e6fce460ef50c7 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Tue, 24 Oct 2023 17:03:41 +0200 Subject: [PATCH] fix bug... maybe --- input/methods | 2 +- input/options | 4 ++-- src/AOtoMO/AOtoMO_integral_transform.f90 | 4 ++-- src/GT/GT.f90 | 2 +- src/GW/GW.f90 | 4 ++-- src/GW/UG0W0.f90 | 9 +++------ src/GW/UGW_excitation_density.f90 | 2 +- src/HF/HF.f90 | 6 +++--- src/QuAcK/QuAcK.f90 | 8 ++++---- 9 files changed, 19 insertions(+), 22 deletions(-) diff --git a/input/methods b/input/methods index f032a00..4d84f78 100644 --- a/input/methods +++ b/input/methods @@ -13,7 +13,7 @@ # G0F2* evGF2* qsGF2* G0F3 evGF3 F F F F F # G0W0* evGW* qsGW* SRG-qsGW ufG0W0 ufGW - F F F F F F + T F F F F F # G0T0pp* evGTpp* qsGTpp* G0T0eh evGTeh qsGTeh F F F F F F # * unrestricted version available diff --git a/input/options b/input/options index bcb52d7..b1975ec 100644 --- a/input/options +++ b/input/options @@ -1,5 +1,5 @@ # HF: maxSCF thresh DIIS n_diis guess_type ortho_type mix_guess level_shift stability - 64 0.0000001 T 5 1 1 F 0.0 F + 64 0.0000001 T 5 1 1 T 0.0 F # MP: reg F # CC: maxSCF thresh DIIS n_diis @@ -7,7 +7,7 @@ # spin: TDA singlet triplet spin_conserved spin_flip F T T T T # GF: maxSCF thresh DIIS n_diis lin eta renorm reg - 256 0.00001 T 5 F 0.0 0 F + 256 0.00001 T 5 T 0.0 0 F # GW: maxSCF thresh DIIS n_diis lin eta TDA_W reg 256 0.00001 T 5 T 0.00367493 F F # GT: maxSCF thresh DIIS n_diis lin eta TDA_T reg diff --git a/src/AOtoMO/AOtoMO_integral_transform.f90 b/src/AOtoMO/AOtoMO_integral_transform.f90 index 0b005fd..4b2f4e9 100644 --- a/src/AOtoMO/AOtoMO_integral_transform.f90 +++ b/src/AOtoMO/AOtoMO_integral_transform.f90 @@ -30,9 +30,9 @@ subroutine AOtoMO_integral_transform(bra1,bra2,ket1,ket2,nBas,c,ERI_AO,ERI_MO) call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, ERI_AO, nBas, c(1,1,bra2), size(c,1), 0d0, scr, nBas**3) - call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, scr, nBas, c(1,1,bra1), size(c,1), 0d0, ERI_MO, nBas**3) + call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, scr, nBas, c(1,1,ket1), size(c,1), 0d0, ERI_MO, nBas**3) - call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, ERI_MO, nBas, c(1,1,ket1), size(c,1), 0d0, scr, nBas**3) + call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, ERI_MO, nBas, c(1,1,bra1), size(c,1), 0d0, scr, nBas**3) call dgemm ('T', 'N', nBas**3, nBas, nBas, 1d0, scr, nBas, c(1,1,ket2), size(c,1), 0d0, ERI_MO, nBas**3) diff --git a/src/GT/GT.f90 b/src/GT/GT.f90 index 0aad9b5..74c765f 100644 --- a/src/GT/GT.f90 +++ b/src/GT/GT.f90 @@ -207,7 +207,7 @@ subroutine GT(doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,unrestricted call wall_time(end_GT) t_GT = end_GT - start_GT - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for qsGW = ',t_GT,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for qsGW = ',t_GT,' seconds' write(*,*) end if diff --git a/src/GW/GW.f90 b/src/GW/GW.f90 index d2860bc..33696e2 100644 --- a/src/GW/GW.f90 +++ b/src/GW/GW.f90 @@ -141,7 +141,7 @@ subroutine GW(doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW,unrestricted,maxSCF call wall_time(end_GW) t_GW = end_GW - start_GW - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for qsGW = ',t_GW,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for qsGW = ',t_GW,' seconds' write(*,*) end if @@ -163,7 +163,7 @@ subroutine GW(doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW,unrestricted,maxSCF call wall_time(end_GW) t_GW = end_GW - start_GW - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for qsGW = ',t_GW,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for qsGW = ',t_GW,' seconds' write(*,*) end if diff --git a/src/GW/UG0W0.f90 b/src/GW/UG0W0.f90 index 1d3c9e6..96d234a 100644 --- a/src/GW/UG0W0.f90 +++ b/src/GW/UG0W0.f90 @@ -60,10 +60,7 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,spin_cons double precision,allocatable :: rho(:,:,:,:) double precision,allocatable :: eGWlin(:,:) - -! Output variables - - double precision :: eGW(nBas,nspin) + double precision,allocatable :: eGW(:,:) ! Hello world @@ -99,7 +96,7 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,spin_cons nS_bb = nS(2) nS_sc = nS_aa + nS_bb - allocate(SigC(nBas,nspin),Z(nBas,nspin),eGWlin(nBas,nspin), & + allocate(SigC(nBas,nspin),Z(nBas,nspin),eGWlin(nBas,nspin),eGW(nBas,nspin), & Om(nS_sc),XpY(nS_sc,nS_sc),XmY(nS_sc,nS_sc),rho(nBas,nBas,nS_sc,nspin)) !-------------------! @@ -112,7 +109,7 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,spin_cons call phULR(ispin,dRPA,TDA_W,.false.,nBas,nC,nO,nV,nR,nS_aa,nS_bb,nS_sc,nS_sc,1d0, & eHF,ERI_aaaa,ERI_aabb,ERI_bbbb,Om,rho,EcRPA,Om,XpY,XmY) - + if(print_W) call print_excitation_energies('phRPA@UHF',5,nS_sc,Om) !----------------------! diff --git a/src/GW/UGW_excitation_density.f90 b/src/GW/UGW_excitation_density.f90 index ebbf439..571051b 100644 --- a/src/GW/UGW_excitation_density.f90 +++ b/src/GW/UGW_excitation_density.f90 @@ -81,7 +81,7 @@ subroutine UGW_excitation_density(nBas,nC,nO,nR,nSa,nSb,nSt,ERI_aaaa,ERI_aabb,ER do b=nO(1)+1,nBas-nR(1) jb = jb + 1 - rho(p,q,ia,2) = rho(p,q,ia,2) + ERI_aabb(p,j,q,b)*XpY(ia,jb) + rho(p,q,ia,2) = rho(p,q,ia,2) + ERI_aabb(j,p,b,q)*XpY(ia,jb) enddo enddo diff --git a/src/HF/HF.f90 b/src/HF/HF.f90 index e549bd3..c26e0e1 100644 --- a/src/HF/HF.f90 +++ b/src/HF/HF.f90 @@ -69,7 +69,7 @@ subroutine HF(doRHF,doUHF,doROHF,doRMOM,doUMOM,unrestricted,maxSCF,thresh,max_di call wall_time(end_HF) t_HF = end_HF - start_HF - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for RHF = ',t_HF,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for RHF = ',t_HF,' seconds' write(*,*) end if @@ -89,7 +89,7 @@ subroutine HF(doRHF,doUHF,doROHF,doRMOM,doUMOM,unrestricted,maxSCF,thresh,max_di call wall_time(end_HF) t_HF = end_HF - start_HF - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for UHF = ',t_HF,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for UHF = ',t_HF,' seconds' write(*,*) end if @@ -109,7 +109,7 @@ subroutine HF(doRHF,doUHF,doROHF,doRMOM,doUMOM,unrestricted,maxSCF,thresh,max_di call wall_time(end_HF) t_HF = end_HF - start_HF - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for ROHF = ',t_HF,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for ROHF = ',t_HF,' seconds' write(*,*) end if diff --git a/src/QuAcK/QuAcK.f90 b/src/QuAcK/QuAcK.f90 index 7219996..21ed7a1 100644 --- a/src/QuAcK/QuAcK.f90 +++ b/src/QuAcK/QuAcK.f90 @@ -198,7 +198,7 @@ program QuAcK t_int = end_int - start_int write(*,*) - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for reading integrals = ',t_int,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for reading integrals = ',t_int,' seconds' write(*,*) ! Compute orthogonalization matrix @@ -220,7 +220,7 @@ program QuAcK call wall_time(end_HF) t_HF = end_HF - start_HF - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for HF = ',t_HF,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for HF = ',t_HF,' seconds' write(*,*) end if @@ -312,7 +312,7 @@ program QuAcK call wall_time(end_AOtoMO) t_AOtoMO = end_AOtoMO - start_AOtoMO - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for AO to MO transformation = ',t_AOtoMO,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for AO to MO transformation = ',t_AOtoMO,' seconds' write(*,*) !-----------------------------------! @@ -486,7 +486,7 @@ program QuAcK call wall_time(end_QuAcK) t_QuAcK = end_QuAcK - start_QuAcK - write(*,'(A65,1X,F9.3,A8)') 'Total wall time for QuAcK = ',t_QuAcK,' seconds' + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for QuAcK = ',t_QuAcK,' seconds' write(*,*) end program