From b010c872fc2fc2cc08944accf4d48159885e9b21 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Fri, 21 Jul 2023 22:54:53 +0200 Subject: [PATCH] remove COHSEX completely --- input/methods | 2 +- input/options | 6 +++--- src/GW/UG0W0.f90 | 10 +--------- src/GW/evUGW.f90 | 10 +--------- src/GW/qsUGW.f90 | 10 +--------- src/QuAcK/QuAcK.f90 | 14 +++++++------- src/QuAcK/read_options.f90 | 11 ++++------- 7 files changed, 18 insertions(+), 45 deletions(-) diff --git a/input/methods b/input/methods index 1512f13..4ef876d 100644 --- a/input/methods +++ b/input/methods @@ -15,5 +15,5 @@ # G0W0* evGW* qsGW* SRG-qsGW ufG0W0 ufGW F F F F F F # G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh - F F F T F T + F F F T F F # * unrestricted version available diff --git a/input/options b/input/options index 232c1e1..779e25e 100644 --- a/input/options +++ b/input/options @@ -8,10 +8,10 @@ F T T T T # GF: maxSCF thresh DIIS n_diis lin eta renorm reg 256 0.00001 T 5 T 0.0 0 F -# GW: maxSCF thresh DIIS n_diis lin eta COHSEX TDA_W reg - 256 0.00001 T 5 T 0.0 F F F +# GW: maxSCF thresh DIIS n_diis lin eta TDA_W reg + 256 0.00001 T 5 T 0.0 F F # GT: maxSCF thresh DIIS n_diis lin eta TDA_T reg - 256 0.00001 T 5 T 0.1 T F + 256 0.00001 T 5 T 0.0 F F # ACFDT: AC Kx XBS F F T # BSE: phBSE phBSE2 ppBSE dBSE dTDA diff --git a/src/GW/UG0W0.f90 b/src/GW/UG0W0.f90 index 599a5e9..8598672 100644 --- a/src/GW/UG0W0.f90 +++ b/src/GW/UG0W0.f90 @@ -1,4 +1,4 @@ -subroutine UG0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,spin_conserved,spin_flip, & +subroutine UG0W0(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,spin_conserved,spin_flip, & linearize,eta,regularize,nBas,nC,nO,nV,nR,nS,ENuc,EUHF,S,ERI,ERI_aaaa,ERI_aabb,ERI_bbbb, & dipole_int_aa,dipole_int_bb,PHF,cHF,eHF,Vxc,eGW) @@ -13,7 +13,6 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,sp logical,intent(in) :: doACFDT logical,intent(in) :: exchange_kernel logical,intent(in) :: doXBS - logical,intent(in) :: COHSEX logical,intent(in) :: BSE logical,intent(in) :: TDA_W logical,intent(in) :: TDA @@ -82,13 +81,6 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,sp EcRPA = 0d0 -! COHSEX approximation - - if(COHSEX) then - write(*,*) 'COHSEX approximation activated!' - write(*,*) - end if - ! TDA for W if(TDA_W) then diff --git a/src/GW/evUGW.f90 b/src/GW/evUGW.f90 index 199c2a1..93a0fc6 100644 --- a/src/GW/evUGW.f90 +++ b/src/GW/evUGW.f90 @@ -1,4 +1,4 @@ -subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA, & +subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA, & dBSE,dTDA,spin_conserved,spin_flip,eta,regularize,nBas,nC,nO,nV,nR,nS,ENuc, & EUHF,S,ERI_AO,ERI_aaaa,ERI_aabb,ERI_bbbb,dipole_int_aa,dipole_int_bb,PHF,cHF,eHF,Vxc,eG0W0) @@ -17,7 +17,6 @@ subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE logical,intent(in) :: doACFDT logical,intent(in) :: exchange_kernel logical,intent(in) :: doXBS - logical,intent(in) :: COHSEX logical,intent(in) :: BSE logical,intent(in) :: TDA_W logical,intent(in) :: TDA @@ -83,13 +82,6 @@ subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE write(*,*)'************************************************' write(*,*) -! COHSEX approximation - - if(COHSEX) then - write(*,*) 'COHSEX approximation activated!' - write(*,*) - end if - ! TDA for W if(TDA_W) then diff --git a/src/GW/qsUGW.f90 b/src/GW/qsUGW.f90 index 9774122..148f890 100644 --- a/src/GW/qsUGW.f90 +++ b/src/GW/qsUGW.f90 @@ -1,4 +1,4 @@ -subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA, & +subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA, & dBSE,dTDA,spin_conserved,spin_flip,eta,regularize,nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO, & nV,nR,nS,EUHF,S,X,T,V,Hc,ERI_AO,ERI_aaaa,ERI_aabb,ERI_bbbb,dipole_int_AO,dipole_int_aa, & dipole_int_bb,PHF,cHF,eHF) @@ -16,7 +16,6 @@ subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE logical,intent(in) :: doACFDT logical,intent(in) :: exchange_kernel logical,intent(in) :: doXBS - logical,intent(in) :: COHSEX logical,intent(in) :: BSE logical,intent(in) :: TDA_W logical,intent(in) :: TDA @@ -118,13 +117,6 @@ subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,BSE nBasSq = nBas*nBas -! COHSEX approximation - - if(COHSEX) then - write(*,*) 'COHSEX approximation activated!' - write(*,*) - end if - ! TDA for W if(TDA_W) then diff --git a/src/QuAcK/QuAcK.f90 b/src/QuAcK/QuAcK.f90 index 3a9f8e3..69b14e8 100644 --- a/src/QuAcK/QuAcK.f90 +++ b/src/QuAcK/QuAcK.f90 @@ -93,7 +93,7 @@ program QuAcK integer :: maxSCF_GW,n_diis_GW double precision :: thresh_GW - logical :: DIIS_GW,COHSEX,TDA_W,linGW,regGW + logical :: DIIS_GW,TDA_W,linGW,regGW double precision :: eta_GW integer :: maxSCF_GT,n_diis_GT @@ -142,7 +142,7 @@ program QuAcK maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, & TDA,singlet,triplet,spin_conserved,spin_flip, & maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,linGF,eta_GF,renormGF,regGF, & - maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,linGW,eta_GW,regGW,COHSEX,TDA_W, & + maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,linGW,eta_GW,regGW,TDA_W, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & doACFDT,exchange_kernel,doXBS, & dophBSE,dophBSE2,doppBSE,dBSE,dTDA) @@ -806,7 +806,7 @@ program QuAcK call cpu_time(start_GW) if(unrestricted) then - call UG0W0(doACFDT,exchange_kernel,doXBS,COHSEX,dophBSE,TDA_W,TDA,dBSE,dTDA,spin_conserved,spin_flip, & + call UG0W0(doACFDT,exchange_kernel,doXBS,dophBSE,TDA_W,TDA,dBSE,dTDA,spin_conserved,spin_flip, & linGW,eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,EHF,S,ERI_AO,ERI_MO_aaaa,ERI_MO_aabb,ERI_MO_bbbb, & dipole_int_aa,dipole_int_bb,PHF,cHF,epsHF,Vxc) else @@ -832,7 +832,7 @@ program QuAcK call cpu_time(start_GW) if(unrestricted) then - call evUGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,COHSEX,dophBSE,TDA_W,TDA, & + call evUGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,dophBSE,TDA_W,TDA, & dBSE,dTDA,spin_conserved,spin_flip,eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc, & EHF,S,ERI_AO,ERI_MO_aaaa,ERI_MO_aabb,ERI_MO_bbbb,dipole_int_aa,dipole_int_bb, & PHF,cHF,epsHF,Vxc) @@ -861,7 +861,7 @@ program QuAcK if(unrestricted) then - call qsUGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,COHSEX,dophBSE,TDA_W,TDA, & + call qsUGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,dophBSE,TDA_W,TDA, & dBSE,dTDA,spin_conserved,spin_flip,eta_GW,regGW,nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO, & nV,nR,nS,EHF,S,X,T,V,Hc,ERI_AO,ERI_MO_aaaa,ERI_MO_aabb,ERI_MO_bbbb,dipole_int_AO, & dipole_int_aa,dipole_int_bb,PHF,cHF,epsHF) @@ -1050,8 +1050,8 @@ program QuAcK else - call G0T0eh(doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA,dBSE,dTDA,doppBSE,singlet,triplet, & - linGW,eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,EHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,epsHF,Vxc) + call G0T0eh(doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_T,TDA,dBSE,dTDA,doppBSE,singlet,triplet, & + linGT,eta_GT,regGT,nBas,nC,nO,nV,nR,nS,ENuc,EHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,epsHF,Vxc) end if diff --git a/src/QuAcK/read_options.f90 b/src/QuAcK/read_options.f90 index f3fe5df..5cf924d 100644 --- a/src/QuAcK/read_options.f90 +++ b/src/QuAcK/read_options.f90 @@ -3,7 +3,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, & TDA,singlet,triplet,spin_conserved,spin_flip, & maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,linGF,eta_GF,renormGF,regGF, & - maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,linGW,eta_GW,regGW,COHSEX,TDA_W, & + maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,linGW,eta_GW,regGW,TDA_W, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & doACFDT,exchange_kernel,doXBS, & dophBSE,dophBSE2,doppBSE,dBSE,dTDA) @@ -50,7 +50,6 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t double precision,intent(out) :: thresh_GW logical,intent(out) :: DIIS_GW integer,intent(out) :: n_diis_GW - logical,intent(out) :: COHSEX logical,intent(out) :: TDA_W logical,intent(out) :: linGW double precision,intent(out) :: eta_GW @@ -171,18 +170,16 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t linGW = .false. eta_GW = 0d0 regGW = .false. - COHSEX = .false. TDA_W = .false. read(1,*) read(1,*) maxSCF_GW,thresh_GW,answer1,n_diis_GW,answer2,eta_GW, & - answer3,answer4,answer5 + answer3,answer4 if(answer1 == 'T') DIIS_GW = .true. if(answer2 == 'T') linGW = .true. - if(answer3 == 'T') COHSEX = .true. - if(answer4 == 'T') TDA_W = .true. - if(answer5 == 'T') regGW = .true. + if(answer3 == 'T') TDA_W = .true. + if(answer4 == 'T') regGW = .true. if(.not.DIIS_GW) n_diis_GW = 1 ! Read GT options