mirror of
https://github.com/pfloos/quack
synced 2025-01-03 18:16:03 +01:00
GF clean up
This commit is contained in:
parent
bcbeba2a7c
commit
5f75ec478b
@ -6,8 +6,8 @@
|
|||||||
F F F F F
|
F F F F F
|
||||||
# CIS RPA RPAx ppRPA ADC
|
# CIS RPA RPAx ppRPA ADC
|
||||||
F F F F F
|
F F F F F
|
||||||
# GF2 GF3
|
# G0F2 evGF2 G0F3 evGF3
|
||||||
T F
|
T F F F
|
||||||
# G0W0 evGW qsGW
|
# G0W0 evGW qsGW
|
||||||
F F F
|
F F F
|
||||||
# G0T0 evGT qsGT
|
# G0T0 evGT qsGT
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
64 0.0000001 F 1
|
64 0.0000001 F 1
|
||||||
# CIS/TDHF/BSE: singlet triplet
|
# CIS/TDHF/BSE: singlet triplet
|
||||||
T T
|
T T
|
||||||
# GF: maxSCF thresh DIIS n_diis renormalization
|
# GF: maxSCF thresh DIIS n_diis lin renorm
|
||||||
256 0.00001 T 5 3
|
256 0.00001 T 5 T 3
|
||||||
# GW: maxSCF thresh DIIS n_diis COHSEX SOSEX BSE TDA G0W GW0 lin eta
|
# GW: maxSCF thresh DIIS n_diis COHSEX SOSEX BSE TDA G0W GW0 lin eta
|
||||||
256 0.00001 T 5 F F T F F F T 0.000
|
256 0.00001 T 5 F F T F F F T 0.000
|
||||||
# ACFDT: AC Kx XBS
|
# ACFDT: AC Kx XBS
|
||||||
|
@ -81,13 +81,13 @@ program QuAcK
|
|||||||
logical :: singlet_manifold
|
logical :: singlet_manifold
|
||||||
logical :: triplet_manifold
|
logical :: triplet_manifold
|
||||||
|
|
||||||
integer :: maxSCF_GF,n_diis_GF,renormalization
|
integer :: maxSCF_GF,n_diis_GF,renormGF
|
||||||
double precision :: thresh_GF
|
double precision :: thresh_GF
|
||||||
logical :: DIIS_GF
|
logical :: DIIS_GF,linGF
|
||||||
|
|
||||||
integer :: maxSCF_GW,n_diis_GW
|
integer :: maxSCF_GW,n_diis_GW
|
||||||
double precision :: thresh_GW
|
double precision :: thresh_GW
|
||||||
logical :: DIIS_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize
|
logical :: DIIS_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linGW
|
||||||
double precision :: eta
|
double precision :: eta
|
||||||
|
|
||||||
integer :: nMC,nEq,nWalk,nPrint,iSeed
|
integer :: nMC,nEq,nWalk,nPrint,iSeed
|
||||||
@ -130,9 +130,9 @@ program QuAcK
|
|||||||
call read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
|
call read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
|
||||||
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
|
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
|
||||||
singlet_manifold,triplet_manifold, &
|
singlet_manifold,triplet_manifold, &
|
||||||
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,linGF,renormGF, &
|
||||||
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW, &
|
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW, &
|
||||||
COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize,eta, &
|
COHSEX,SOSEX,BSE,TDA,G0W,GW0,linGW,eta, &
|
||||||
doACFDT,exchange_kernel,doXBS, &
|
doACFDT,exchange_kernel,doXBS, &
|
||||||
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
||||||
|
|
||||||
@ -513,7 +513,7 @@ program QuAcK
|
|||||||
if(doG0F2) then
|
if(doG0F2) then
|
||||||
|
|
||||||
call cpu_time(start_GF2)
|
call cpu_time(start_GF2)
|
||||||
call G0F2(maxSCF_GF,thresh_GF,n_diis_GF,linearize,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
call G0F2(linGF,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_GF2)
|
call cpu_time(end_GF2)
|
||||||
|
|
||||||
t_GF2 = end_GF2 - start_GF2
|
t_GF2 = end_GF2 - start_GF2
|
||||||
@ -529,7 +529,7 @@ program QuAcK
|
|||||||
if(doevGF2) then
|
if(doevGF2) then
|
||||||
|
|
||||||
call cpu_time(start_GF2)
|
call cpu_time(start_GF2)
|
||||||
call evGF2(maxSCF_GF,thresh_GF,n_diis_GF,linearize,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
call evGF2(maxSCF_GF,thresh_GF,n_diis_GF,linGF,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_GF2)
|
call cpu_time(end_GF2)
|
||||||
|
|
||||||
t_GF2 = end_GF2 - start_GF2
|
t_GF2 = end_GF2 - start_GF2
|
||||||
@ -545,7 +545,7 @@ program QuAcK
|
|||||||
if(doG0F3) then
|
if(doG0F3) then
|
||||||
|
|
||||||
call cpu_time(start_GF3)
|
call cpu_time(start_GF3)
|
||||||
call G0F3(renormalization,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
call G0F3(renormGF,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_GF3)
|
call cpu_time(end_GF3)
|
||||||
|
|
||||||
t_GF3 = end_GF3 - start_GF3
|
t_GF3 = end_GF3 - start_GF3
|
||||||
@ -561,7 +561,7 @@ program QuAcK
|
|||||||
if(doevGF3) then
|
if(doevGF3) then
|
||||||
|
|
||||||
call cpu_time(start_GF3)
|
call cpu_time(start_GF3)
|
||||||
call evGF3(maxSCF_GF,thresh_GF,n_diis_GF,renormalization,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
call evGF3(maxSCF_GF,thresh_GF,n_diis_GF,renormGF,nBas,nC(1),nO(1),nV(1),nR(1),ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_GF3)
|
call cpu_time(end_GF3)
|
||||||
|
|
||||||
t_GF3 = end_GF3 - start_GF3
|
t_GF3 = end_GF3 - start_GF3
|
||||||
@ -580,7 +580,7 @@ program QuAcK
|
|||||||
|
|
||||||
call cpu_time(start_G0W0)
|
call cpu_time(start_G0W0)
|
||||||
call G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA, &
|
call G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA, &
|
||||||
singlet_manifold,triplet_manifold,linearize,eta, &
|
singlet_manifold,triplet_manifold,linGW,eta, &
|
||||||
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,Hc,H,ERI_MO_basis,PHF,cHF,eHF,eG0W0)
|
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,Hc,H,ERI_MO_basis,PHF,cHF,eHF,eG0W0)
|
||||||
call cpu_time(end_G0W0)
|
call cpu_time(end_G0W0)
|
||||||
|
|
||||||
@ -598,7 +598,7 @@ program QuAcK
|
|||||||
|
|
||||||
call cpu_time(start_evGW)
|
call cpu_time(start_evGW)
|
||||||
call evGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
call evGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
||||||
singlet_manifold,triplet_manifold,linearize,eta, &
|
singlet_manifold,triplet_manifold,linGW,eta, &
|
||||||
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,Hc,H,ERI_MO_basis,PHF,cHF,eHF,eG0W0)
|
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,Hc,H,ERI_MO_basis,PHF,cHF,eHF,eG0W0)
|
||||||
call cpu_time(end_evGW)
|
call cpu_time(end_evGW)
|
||||||
|
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
|
subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
|
||||||
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
|
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
|
||||||
singlet_manifold,triplet_manifold, &
|
singlet_manifold,triplet_manifold, &
|
||||||
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,linGF,renormGF, &
|
||||||
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW, &
|
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW, &
|
||||||
COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize,eta, &
|
COHSEX,SOSEX,BSE,TDA,G0W,GW0,linGW,eta, &
|
||||||
doACFDT,exchange_kernel,doXBS, &
|
doACFDT,exchange_kernel,doXBS, &
|
||||||
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
||||||
|
|
||||||
@ -32,7 +32,8 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
double precision,intent(out) :: thresh_GF
|
double precision,intent(out) :: thresh_GF
|
||||||
logical,intent(out) :: DIIS_GF
|
logical,intent(out) :: DIIS_GF
|
||||||
integer,intent(out) :: n_diis_GF
|
integer,intent(out) :: n_diis_GF
|
||||||
integer,intent(out) :: renormalization
|
logical,intent(out) :: linGF
|
||||||
|
integer,intent(out) :: renormGF
|
||||||
|
|
||||||
integer,intent(out) :: maxSCF_GW
|
integer,intent(out) :: maxSCF_GW
|
||||||
double precision,intent(out) :: thresh_GW
|
double precision,intent(out) :: thresh_GW
|
||||||
@ -44,7 +45,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
logical,intent(out) :: TDA
|
logical,intent(out) :: TDA
|
||||||
logical,intent(out) :: G0W
|
logical,intent(out) :: G0W
|
||||||
logical,intent(out) :: GW0
|
logical,intent(out) :: GW0
|
||||||
logical,intent(out) :: linearize
|
logical,intent(out) :: linGW
|
||||||
double precision,intent(out) :: eta
|
double precision,intent(out) :: eta
|
||||||
|
|
||||||
logical,intent(out) :: doACFDT
|
logical,intent(out) :: doACFDT
|
||||||
@ -119,12 +120,14 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
thresh_GF = 1d-5
|
thresh_GF = 1d-5
|
||||||
DIIS_GF = .false.
|
DIIS_GF = .false.
|
||||||
n_diis_GF = 5
|
n_diis_GF = 5
|
||||||
renormalization = 0
|
linGF = .false.
|
||||||
|
renormGF = 0
|
||||||
|
|
||||||
read(1,*)
|
read(1,*)
|
||||||
read(1,*) maxSCF_GF,thresh_GW,answer1,n_diis_GF,renormalization
|
read(1,*) maxSCF_GF,thresh_GW,answer1,n_diis_GF,answer2,renormGF
|
||||||
|
|
||||||
if(answer1 == 'T') DIIS_GF = .true.
|
if(answer1 == 'T') DIIS_GF = .true.
|
||||||
|
if(answer2 == 'T') linGF = .true.
|
||||||
if(.not.DIIS_GF) n_diis_GF = 1
|
if(.not.DIIS_GF) n_diis_GF = 1
|
||||||
|
|
||||||
! Read GW options
|
! Read GW options
|
||||||
@ -139,7 +142,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
TDA = .false.
|
TDA = .false.
|
||||||
G0W = .false.
|
G0W = .false.
|
||||||
GW0 = .false.
|
GW0 = .false.
|
||||||
linearize = .false.
|
linGW = .false.
|
||||||
eta = 0d0
|
eta = 0d0
|
||||||
|
|
||||||
read(1,*)
|
read(1,*)
|
||||||
@ -153,7 +156,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
if(answer5 == 'T') TDA = .true.
|
if(answer5 == 'T') TDA = .true.
|
||||||
if(answer6 == 'T') G0W = .true.
|
if(answer6 == 'T') G0W = .true.
|
||||||
if(answer7 == 'T') GW0 = .true.
|
if(answer7 == 'T') GW0 = .true.
|
||||||
if(answer8 == 'T') linearize = .true.
|
if(answer8 == 'T') linGW = .true.
|
||||||
if(.not.DIIS_GW) n_diis_GW = 1
|
if(.not.DIIS_GW) n_diis_GW = 1
|
||||||
|
|
||||||
! Options for adiabatic connection
|
! Options for adiabatic connection
|
||||||
|
Loading…
Reference in New Issue
Block a user