mirror of
https://github.com/pfloos/quack
synced 2024-12-23 04:43:42 +01:00
working toward ufG0F02
This commit is contained in:
parent
9076855abe
commit
836e244d69
@ -1,5 +1,5 @@
|
|||||||
# RHF UHF GHF ROHF
|
# RHF UHF GHF ROHF
|
||||||
F F F F
|
F T F F
|
||||||
# MP2 MP3
|
# MP2 MP3
|
||||||
F F
|
F F
|
||||||
# CCD pCCD DCD CCSD CCSD(T)
|
# CCD pCCD DCD CCSD CCSD(T)
|
||||||
@ -10,8 +10,8 @@
|
|||||||
F F F F F
|
F F F F F
|
||||||
# phRPA phRPAx crRPA ppRPA
|
# phRPA phRPAx crRPA ppRPA
|
||||||
F F F F
|
F F F F
|
||||||
# G0F2 evGF2 qsGF2 G0F3 evGF3
|
# G0F2 evGF2 qsGF2 ADC2 G0F3 evGF3
|
||||||
F F F F F
|
F F F F F F
|
||||||
# G0W0 evGW qsGW SRG-qsGW ufG0W0 ufGW
|
# G0W0 evGW qsGW SRG-qsGW ufG0W0 ufGW
|
||||||
F F F F F F
|
F F F F F F
|
||||||
# G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh
|
# G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine RGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh,max_diis, &
|
subroutine RGF(dotest,doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,renorm,maxSCF,thresh,max_diis, &
|
||||||
dophBSE,doppBSE,TDA,dBSE,dTDA,singlet,triplet,linearize,eta,regularize, &
|
dophBSE,doppBSE,TDA,dBSE,dTDA,singlet,triplet,linearize,eta,regularize, &
|
||||||
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,EHF,S,X,T,V,Hc,ERI_AO,ERI, &
|
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,EHF,S,X,T,V,Hc,ERI_AO,ERI, &
|
||||||
dipole_int_AO,dipole_int,PHF,cHF,epsHF)
|
dipole_int_AO,dipole_int,PHF,cHF,epsHF)
|
||||||
@ -15,6 +15,7 @@ subroutine RGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh
|
|||||||
logical,intent(in) :: doG0F2
|
logical,intent(in) :: doG0F2
|
||||||
logical,intent(in) :: doevGF2
|
logical,intent(in) :: doevGF2
|
||||||
logical,intent(in) :: doqsGF2
|
logical,intent(in) :: doqsGF2
|
||||||
|
logical,intent(in) :: doufG0F02
|
||||||
logical,intent(in) :: doG0F3
|
logical,intent(in) :: doG0F3
|
||||||
logical,intent(in) :: doevGF3
|
logical,intent(in) :: doevGF3
|
||||||
|
|
||||||
@ -115,6 +116,22 @@ subroutine RGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
!------------------------------------------------------------------------
|
||||||
|
! Perform ufG0F02 calculation
|
||||||
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if(doufG0F02) then
|
||||||
|
|
||||||
|
call wall_time(start_GF)
|
||||||
|
call ufRG0F02(dotest,nBas,nC,nO,nV,nR,nS,ENuc,EHF,ERI,epsHF)
|
||||||
|
call wall_time(end_GF)
|
||||||
|
|
||||||
|
t_GF = end_GF - start_GF
|
||||||
|
write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for ufG0F02 = ',t_GF,' seconds'
|
||||||
|
write(*,*)
|
||||||
|
|
||||||
|
end if
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Compute G0F3 electronic binding energies
|
! Compute G0F3 electronic binding energies
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine UGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh,max_diis, &
|
subroutine UGF(dotest,doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,renorm,maxSCF,thresh,max_diis, &
|
||||||
dophBSE,doppBSE,TDA,dBSE,dTDA,spin_conserved,spin_flip,linearize,eta,regularize, &
|
dophBSE,doppBSE,TDA,dBSE,dTDA,spin_conserved,spin_flip,linearize,eta,regularize, &
|
||||||
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,EHF,S,X,T,V,Hc,ERI_AO,ERI_aaaa,ERI_aabb,ERI_bbbb, &
|
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,EHF,S,X,T,V,Hc,ERI_AO,ERI_aaaa,ERI_aabb,ERI_bbbb, &
|
||||||
dipole_int_AO,dipole_int_aa,dipole_int_bb,PHF,cHF,epsHF)
|
dipole_int_AO,dipole_int_aa,dipole_int_bb,PHF,cHF,epsHF)
|
||||||
@ -15,6 +15,7 @@ subroutine UGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh
|
|||||||
logical,intent(in) :: doG0F2
|
logical,intent(in) :: doG0F2
|
||||||
logical,intent(in) :: doevGF2
|
logical,intent(in) :: doevGF2
|
||||||
logical,intent(in) :: doqsGF2
|
logical,intent(in) :: doqsGF2
|
||||||
|
logical,intent(in) :: doufG0F02
|
||||||
logical,intent(in) :: doG0F3
|
logical,intent(in) :: doG0F3
|
||||||
logical,intent(in) :: doevGF3
|
logical,intent(in) :: doevGF3
|
||||||
|
|
||||||
@ -120,6 +121,22 @@ subroutine UGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm,maxSCF,thresh
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
!------------------------------------------------------------------------
|
||||||
|
! Perform ufG0F02 calculation
|
||||||
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
|
if(doufG0F02) then
|
||||||
|
|
||||||
|
!call wall_time(start_GF)
|
||||||
|
!call ufUG0F02()
|
||||||
|
!call wall_time(end_GF)
|
||||||
|
print*,'Unrestricted version of ufG0F02 not yet implemented! Sorry.'
|
||||||
|
!t_GF = end_GF - start_GF
|
||||||
|
!write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for ufG0F02 = ',t_GF,' seconds'
|
||||||
|
!write(*,*)
|
||||||
|
|
||||||
|
end if
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Compute G0F3 electronic binding energies
|
! Compute G0F3 electronic binding energies
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
@ -491,14 +491,14 @@ subroutine ufG0W0(dotest,TDA_W,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
|||||||
write(*,*)'-------------------------------------------------------------'
|
write(*,*)'-------------------------------------------------------------'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
end if
|
end if ! If state s should be print
|
||||||
|
|
||||||
end do
|
end do ! Loop on s
|
||||||
|
|
||||||
end if
|
end if ! If TDA
|
||||||
|
|
||||||
end if
|
end if ! If verbose
|
||||||
|
|
||||||
end do
|
end do ! Loop on the orbital in the e block
|
||||||
|
|
||||||
end subroutine
|
end subroutine
|
||||||
|
@ -11,7 +11,7 @@ program QuAcK
|
|||||||
logical :: dodrCCD,dorCCD,docrCCD,dolCCD
|
logical :: dodrCCD,dorCCD,docrCCD,dolCCD
|
||||||
logical :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
logical :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
||||||
logical :: dophRPA,dophRPAx,docrRPA,doppRPA
|
logical :: dophRPA,dophRPAx,docrRPA,doppRPA
|
||||||
logical :: doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3
|
logical :: doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3
|
||||||
logical :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
logical :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
||||||
logical :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
logical :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ program QuAcK
|
|||||||
dodrCCD,dorCCD,docrCCD,dolCCD, &
|
dodrCCD,dorCCD,docrCCD,dolCCD, &
|
||||||
doCIS,doCIS_D,doCID,doCISD,doFCI, &
|
doCIS,doCIS_D,doCID,doCISD,doFCI, &
|
||||||
dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02, &
|
||||||
doG0F3,doevGF3, &
|
doG0F3,doevGF3, &
|
||||||
doG0W0,doevGW,doqsGW,doSRGqsGW, &
|
doG0W0,doevGW,doqsGW,doSRGqsGW, &
|
||||||
doufG0W0,doufGW, &
|
doufG0W0,doufGW, &
|
||||||
@ -198,7 +198,7 @@ program QuAcK
|
|||||||
if(doRQuAcK) &
|
if(doRQuAcK) &
|
||||||
call RQuAcK(doRtest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
call RQuAcK(doRtest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
||||||
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
||||||
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
||||||
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
||||||
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
||||||
@ -213,7 +213,7 @@ program QuAcK
|
|||||||
if(doUQuAcK) &
|
if(doUQuAcK) &
|
||||||
call UQuAcK(doUtest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
call UQuAcK(doUtest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
||||||
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
||||||
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
||||||
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
||||||
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
subroutine RQuAcK(dotest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
subroutine RQuAcK(dotest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
||||||
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
||||||
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
||||||
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
||||||
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,singlet,triplet,TDA, &
|
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,singlet,triplet,TDA, &
|
||||||
@ -23,7 +23,7 @@ subroutine RQuAcK(dotest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,d
|
|||||||
logical,intent(in) :: dodrCCD,dorCCD,docrCCD,dolCCD
|
logical,intent(in) :: dodrCCD,dorCCD,docrCCD,dolCCD
|
||||||
logical,intent(in) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
logical,intent(in) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
||||||
logical,intent(in) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
logical,intent(in) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
||||||
logical,intent(in) :: doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3
|
logical,intent(in) :: doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3
|
||||||
logical,intent(in) :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
logical,intent(in) :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
||||||
logical,intent(in) :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
logical,intent(in) :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
||||||
|
|
||||||
@ -277,12 +277,12 @@ subroutine RQuAcK(dotest,doRHF,doROHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,d
|
|||||||
! Green's function module !
|
! Green's function module !
|
||||||
!-------------------------!
|
!-------------------------!
|
||||||
|
|
||||||
doGF = doG0F2 .or. doevGF2 .or. doqsGF2 .or. doG0F3 .or. doevGF3
|
doGF = doG0F2 .or. doevGF2 .or. doqsGF2 .or. doufG0F02 .or. doG0F3 .or. doevGF3
|
||||||
|
|
||||||
if(doGF) then
|
if(doGF) then
|
||||||
|
|
||||||
call wall_time(start_GF)
|
call wall_time(start_GF)
|
||||||
call RGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm_GF,maxSCF_GF,thresh_GF,max_diis_GF, &
|
call RGF(dotest,doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,renorm_GF,maxSCF_GF,thresh_GF,max_diis_GF, &
|
||||||
dophBSE,doppBSE,TDA,dBSE,dTDA,singlet,triplet,lin_GF,eta_GF,reg_GF, &
|
dophBSE,doppBSE,TDA,dBSE,dTDA,singlet,triplet,lin_GF,eta_GF,reg_GF, &
|
||||||
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,ERHF,S,X,T,V,Hc,ERI_AO,ERI_MO, &
|
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,ERHF,S,X,T,V,Hc,ERI_AO,ERI_MO, &
|
||||||
dipole_int_AO,dipole_int_MO,PHF,cHF,eHF)
|
dipole_int_AO,dipole_int_MO,PHF,cHF,eHF)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
subroutine UQuAcK(dotest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
subroutine UQuAcK(dotest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
|
||||||
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dodrCCD,dorCCD,docrCCD,dolCCD,doCIS,doCIS_D,doCID,doCISD,doFCI,dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW, &
|
||||||
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh,nNuc,nBas,nC,nO,nV,nR,ENuc,ZNuc,rNuc, &
|
||||||
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
S,T,V,Hc,X,dipole_int_AO,ERI_AO,maxSCF_HF,max_diis_HF,thresh_HF,level_shift, &
|
||||||
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
guess_type,mix,reg_MP,maxSCF_CC,max_diis_CC,thresh_CC,spin_conserved,spin_flip,TDA, &
|
||||||
@ -21,7 +21,7 @@ subroutine UQuAcK(dotest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,do
|
|||||||
logical,intent(in) :: dodrCCD,dorCCD,docrCCD,dolCCD
|
logical,intent(in) :: dodrCCD,dorCCD,docrCCD,dolCCD
|
||||||
logical,intent(in) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
logical,intent(in) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
||||||
logical,intent(in) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
logical,intent(in) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
||||||
logical,intent(in) :: doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3
|
logical,intent(in) :: doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3
|
||||||
logical,intent(in) :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
logical,intent(in) :: doG0W0,doevGW,doqsGW,doufG0W0,doufGW,doSRGqsGW
|
||||||
logical,intent(in) :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
logical,intent(in) :: doG0T0pp,doevGTpp,doqsGTpp,doG0T0eh,doevGTeh,doqsGTeh
|
||||||
|
|
||||||
@ -294,12 +294,12 @@ subroutine UQuAcK(dotest,doUHF,dostab,dosearch,doMP2,doMP3,doCCD,dopCCD,doDCD,do
|
|||||||
! Green's function module !
|
! Green's function module !
|
||||||
!-------------------------!
|
!-------------------------!
|
||||||
|
|
||||||
doGF = doG0F2 .or. doevGF2 .or. doqsGF2 .or. doG0F3 .or. doevGF3
|
doGF = doG0F2 .or. doevGF2 .or. doqsGF2 .or. doufG0F02 .or. doG0F3 .or. doevGF3
|
||||||
|
|
||||||
if(doGF) then
|
if(doGF) then
|
||||||
|
|
||||||
call wall_time(start_GF)
|
call wall_time(start_GF)
|
||||||
call UGF(dotest,doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3,renorm_GF,maxSCF_GF,thresh_GF,max_diis_GF, &
|
call UGF(dotest,doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3,renorm_GF,maxSCF_GF,thresh_GF,max_diis_GF, &
|
||||||
dophBSE,doppBSE,TDA,dBSE,dTDA,spin_conserved,spin_flip,lin_GF,eta_GF,reg_GF, &
|
dophBSE,doppBSE,TDA,dBSE,dTDA,spin_conserved,spin_flip,lin_GF,eta_GF,reg_GF, &
|
||||||
nNuc,ZNuc,rNuc,ENuc,nBas,nC,nO,nV,nR,nS,EUHF,S,X,T,V,Hc,ERI_AO,ERI_aaaa,ERI_aabb,ERI_bbbb, &
|
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)
|
dipole_int_AO,dipole_int_aa,dipole_int_bb,PHF,cHF,eHF)
|
||||||
|
@ -4,7 +4,7 @@ subroutine read_methods(doRHF,doUHF,doGHF,doROHF, &
|
|||||||
do_drCCD,do_rCCD,do_crCCD,do_lCCD, &
|
do_drCCD,do_rCCD,do_crCCD,do_lCCD, &
|
||||||
doCIS,doCIS_D,doCID,doCISD,doFCI, &
|
doCIS,doCIS_D,doCID,doCISD,doFCI, &
|
||||||
dophRPA,dophRPAx,docrRPA,doppRPA, &
|
dophRPA,dophRPAx,docrRPA,doppRPA, &
|
||||||
doG0F2,doevGF2,doqsGF2, &
|
doG0F2,doevGF2,doqsGF2,doufG0F02, &
|
||||||
doG0F3,doevGF3, &
|
doG0F3,doevGF3, &
|
||||||
doG0W0,doevGW,doqsGW,doSRGqsGW, &
|
doG0W0,doevGW,doqsGW,doSRGqsGW, &
|
||||||
doufG0W0,doufGW, &
|
doufG0W0,doufGW, &
|
||||||
@ -24,7 +24,7 @@ subroutine read_methods(doRHF,doUHF,doGHF,doROHF, &
|
|||||||
logical,intent(out) :: do_drCCD,do_rCCD,do_crCCD,do_lCCD
|
logical,intent(out) :: do_drCCD,do_rCCD,do_crCCD,do_lCCD
|
||||||
logical,intent(out) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
logical,intent(out) :: doCIS,doCIS_D,doCID,doCISD,doFCI
|
||||||
logical,intent(out) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
logical,intent(out) :: dophRPA,dophRPAx,docrRPA,doppRPA
|
||||||
logical,intent(out) :: doG0F2,doevGF2,doqsGF2,doG0F3,doevGF3
|
logical,intent(out) :: doG0F2,doevGF2,doqsGF2,doufG0F02,doG0F3,doevGF3
|
||||||
logical,intent(out) :: doG0W0,doevGW,doqsGW,doSRGqsGW,doufG0W0,doufGW
|
logical,intent(out) :: doG0W0,doevGW,doqsGW,doSRGqsGW,doufG0W0,doufGW
|
||||||
logical,intent(out) :: doG0T0pp,doevGTpp,doqsGTpp
|
logical,intent(out) :: doG0T0pp,doevGTpp,doqsGTpp
|
||||||
logical,intent(out) :: doG0T0eh,doevGTeh,doqsGTeh
|
logical,intent(out) :: doG0T0eh,doevGTeh,doqsGTeh
|
||||||
@ -129,16 +129,18 @@ subroutine read_methods(doRHF,doUHF,doGHF,doROHF, &
|
|||||||
doG0F2 = .false.
|
doG0F2 = .false.
|
||||||
doevGF2 = .false.
|
doevGF2 = .false.
|
||||||
doqsGF2 = .false.
|
doqsGF2 = .false.
|
||||||
|
doufG0F02 = .false.
|
||||||
doG0F3 = .false.
|
doG0F3 = .false.
|
||||||
doevGF3 = .false.
|
doevGF3 = .false.
|
||||||
|
|
||||||
read(1,*)
|
read(1,*)
|
||||||
read(1,*) ans1,ans2,ans3,ans4,ans5
|
read(1,*) ans1,ans2,ans3,ans4,ans5,ans6
|
||||||
if(ans1 == 'T') doG0F2 = .true.
|
if(ans1 == 'T') doG0F2 = .true.
|
||||||
if(ans2 == 'T') doevGF2 = .true.
|
if(ans2 == 'T') doevGF2 = .true.
|
||||||
if(ans3 == 'T') doqsGF2 = .true.
|
if(ans3 == 'T') doqsGF2 = .true.
|
||||||
if(ans4 == 'T') doG0F3 = .true.
|
if(ans4 == 'T') doufG0F02 = .true.
|
||||||
if(ans5 == 'T') doevGF3 = .true.
|
if(ans5 == 'T') doG0F3 = .true.
|
||||||
|
if(ans6 == 'T') doevGF3 = .true.
|
||||||
|
|
||||||
! Read GW methods
|
! Read GW methods
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user