mirror of
https://github.com/pfloos/quack
synced 2024-08-28 23:32:04 +02:00
exchange kernel
This commit is contained in:
parent
4607acc649
commit
8dfd69db80
@ -2,4 +2,4 @@
|
|||||||
2 7 7 0 0
|
2 7 7 0 0
|
||||||
# Znuc x y z
|
# Znuc x y z
|
||||||
N 0. 0. 0.
|
N 0. 0. 0.
|
||||||
N 0. 0. 3
|
N 0. 0. 2.0
|
||||||
|
84
input/basis
84
input/basis
@ -1,58 +1,26 @@
|
|||||||
1 6
|
1 3
|
||||||
S 8 1.00
|
S 3 1.00
|
||||||
9046.0000000 0.0007000
|
0.9910616896D+02 0.1543289673D+00
|
||||||
1357.0000000 0.0053890
|
0.1805231239D+02 0.5353281423D+00
|
||||||
309.3000000 0.0274060
|
0.4885660238D+01 0.4446345422D+00
|
||||||
87.7300000 0.1032070
|
S 3 1.00
|
||||||
28.5600000 0.2787230
|
0.3780455879D+01 -0.9996722919D-01
|
||||||
10.2100000 0.4485400
|
0.8784966449D+00 0.3995128261D+00
|
||||||
3.8380000 0.2782380
|
0.2857143744D+00 0.7001154689D+00
|
||||||
0.7466000 0.0154400
|
P 3 1.00
|
||||||
S 8 1.00
|
0.3780455879D+01 0.1559162750D+00
|
||||||
9046.0000000 -0.0001530
|
0.8784966449D+00 0.6076837186D+00
|
||||||
1357.0000000 -0.0012080
|
0.2857143744D+00 0.3919573931D+00
|
||||||
309.3000000 -0.0059920
|
2 3
|
||||||
87.7300000 -0.0245440
|
S 3 1.00
|
||||||
28.5600000 -0.0674590
|
0.9910616896D+02 0.1543289673D+00
|
||||||
10.2100000 -0.1580780
|
0.1805231239D+02 0.5353281423D+00
|
||||||
3.8380000 -0.1218310
|
0.4885660238D+01 0.4446345422D+00
|
||||||
0.7466000 0.5490030
|
S 3 1.00
|
||||||
S 1 1.00
|
0.3780455879D+01 -0.9996722919D-01
|
||||||
0.2248000 1.0000000
|
0.8784966449D+00 0.3995128261D+00
|
||||||
P 3 1.00
|
0.2857143744D+00 0.7001154689D+00
|
||||||
13.5500000 0.0399190
|
P 3 1.00
|
||||||
2.9170000 0.2171690
|
0.3780455879D+01 0.1559162750D+00
|
||||||
0.7973000 0.5103190
|
0.8784966449D+00 0.6076837186D+00
|
||||||
P 1 1.00
|
0.2857143744D+00 0.3919573931D+00
|
||||||
0.2185000 1.0000000
|
|
||||||
D 1 1.00
|
|
||||||
0.8170000 1.0000000
|
|
||||||
2 6
|
|
||||||
S 8 1.00
|
|
||||||
9046.0000000 0.0007000
|
|
||||||
1357.0000000 0.0053890
|
|
||||||
309.3000000 0.0274060
|
|
||||||
87.7300000 0.1032070
|
|
||||||
28.5600000 0.2787230
|
|
||||||
10.2100000 0.4485400
|
|
||||||
3.8380000 0.2782380
|
|
||||||
0.7466000 0.0154400
|
|
||||||
S 8 1.00
|
|
||||||
9046.0000000 -0.0001530
|
|
||||||
1357.0000000 -0.0012080
|
|
||||||
309.3000000 -0.0059920
|
|
||||||
87.7300000 -0.0245440
|
|
||||||
28.5600000 -0.0674590
|
|
||||||
10.2100000 -0.1580780
|
|
||||||
3.8380000 -0.1218310
|
|
||||||
0.7466000 0.5490030
|
|
||||||
S 1 1.00
|
|
||||||
0.2248000 1.0000000
|
|
||||||
P 3 1.00
|
|
||||||
13.5500000 0.0399190
|
|
||||||
2.9170000 0.2171690
|
|
||||||
0.7973000 0.5103190
|
|
||||||
P 1 1.00
|
|
||||||
0.2185000 1.0000000
|
|
||||||
D 1 1.00
|
|
||||||
0.8170000 1.0000000
|
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
# CCD CCSD CCSD(T) ringCCD ladderCCD
|
# CCD CCSD CCSD(T) ringCCD ladderCCD
|
||||||
F F F F F
|
F F F F F
|
||||||
# CIS RPA RPAx ppRPA ADC
|
# CIS RPA RPAx ppRPA ADC
|
||||||
T T T F F
|
F T T F F
|
||||||
# GF2 GF3
|
# GF2 GF3
|
||||||
F F
|
F F
|
||||||
# G0W0 evGW qsGW
|
# G0W0 evGW qsGW
|
||||||
T F F
|
F F F
|
||||||
# G0T0 evGT qsGT
|
# G0T0 evGT qsGT
|
||||||
F F F
|
F F F
|
||||||
# MCMP2
|
# MCMP2
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
2 7 7 0 0
|
2 7 7 0 0
|
||||||
# Znuc x y z
|
# Znuc x y z
|
||||||
N 0. 0. 0.
|
N 0. 0. 0.
|
||||||
N 0. 0. 3
|
N 0. 0. 2.0
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# RHF: maxSCF thresh DIIS n_diis guess_type ortho_type
|
# RHF: maxSCF thresh DIIS n_diis guess_type ortho_type
|
||||||
64 0.0000001 T 5 1 1
|
64 0.0000001 T 5 2 1
|
||||||
# MP:
|
# MP:
|
||||||
|
|
||||||
# CC: maxSCF thresh DIIS n_diis
|
# CC: maxSCF thresh DIIS n_diis
|
||||||
@ -7,10 +7,10 @@
|
|||||||
# 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 renormalization
|
||||||
64 0.00001 T 10 3
|
64 0.00001 T 5 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 F 0.000
|
64 0.00001 T 5 F F T F F F F 0.000
|
||||||
# ACFDT: AC XBS
|
# ACFDT: AC Kx XBS
|
||||||
T T
|
T T T
|
||||||
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
||||||
1000000 100000 10 0.3 10000 1234 T
|
1000000 100000 10 0.3 10000 1234 T
|
||||||
|
84
input/weight
84
input/weight
@ -1,58 +1,26 @@
|
|||||||
1 6
|
1 3
|
||||||
S 8 1.00
|
S 3 1.00
|
||||||
9046.0000000 0.0007000
|
0.9910616896D+02 0.1543289673D+00
|
||||||
1357.0000000 0.0053890
|
0.1805231239D+02 0.5353281423D+00
|
||||||
309.3000000 0.0274060
|
0.4885660238D+01 0.4446345422D+00
|
||||||
87.7300000 0.1032070
|
S 3 1.00
|
||||||
28.5600000 0.2787230
|
0.3780455879D+01 -0.9996722919D-01
|
||||||
10.2100000 0.4485400
|
0.8784966449D+00 0.3995128261D+00
|
||||||
3.8380000 0.2782380
|
0.2857143744D+00 0.7001154689D+00
|
||||||
0.7466000 0.0154400
|
P 3 1.00
|
||||||
S 8 1.00
|
0.3780455879D+01 0.1559162750D+00
|
||||||
9046.0000000 -0.0001530
|
0.8784966449D+00 0.6076837186D+00
|
||||||
1357.0000000 -0.0012080
|
0.2857143744D+00 0.3919573931D+00
|
||||||
309.3000000 -0.0059920
|
2 3
|
||||||
87.7300000 -0.0245440
|
S 3 1.00
|
||||||
28.5600000 -0.0674590
|
0.9910616896D+02 0.1543289673D+00
|
||||||
10.2100000 -0.1580780
|
0.1805231239D+02 0.5353281423D+00
|
||||||
3.8380000 -0.1218310
|
0.4885660238D+01 0.4446345422D+00
|
||||||
0.7466000 0.5490030
|
S 3 1.00
|
||||||
S 1 1.00
|
0.3780455879D+01 -0.9996722919D-01
|
||||||
0.2248000 1.0000000
|
0.8784966449D+00 0.3995128261D+00
|
||||||
P 3 1.00
|
0.2857143744D+00 0.7001154689D+00
|
||||||
13.5500000 0.0399190
|
P 3 1.00
|
||||||
2.9170000 0.2171690
|
0.3780455879D+01 0.1559162750D+00
|
||||||
0.7973000 0.5103190
|
0.8784966449D+00 0.6076837186D+00
|
||||||
P 1 1.00
|
0.2857143744D+00 0.3919573931D+00
|
||||||
0.2185000 1.0000000
|
|
||||||
D 1 1.00
|
|
||||||
0.8170000 1.0000000
|
|
||||||
2 6
|
|
||||||
S 8 1.00
|
|
||||||
9046.0000000 0.0007000
|
|
||||||
1357.0000000 0.0053890
|
|
||||||
309.3000000 0.0274060
|
|
||||||
87.7300000 0.1032070
|
|
||||||
28.5600000 0.2787230
|
|
||||||
10.2100000 0.4485400
|
|
||||||
3.8380000 0.2782380
|
|
||||||
0.7466000 0.0154400
|
|
||||||
S 8 1.00
|
|
||||||
9046.0000000 -0.0001530
|
|
||||||
1357.0000000 -0.0012080
|
|
||||||
309.3000000 -0.0059920
|
|
||||||
87.7300000 -0.0245440
|
|
||||||
28.5600000 -0.0674590
|
|
||||||
10.2100000 -0.1580780
|
|
||||||
3.8380000 -0.1218310
|
|
||||||
0.7466000 0.5490030
|
|
||||||
S 1 1.00
|
|
||||||
0.2248000 1.0000000
|
|
||||||
P 3 1.00
|
|
||||||
13.5500000 0.0399190
|
|
||||||
2.9170000 0.2171690
|
|
||||||
0.7973000 0.5103190
|
|
||||||
P 1 1.00
|
|
||||||
0.2185000 1.0000000
|
|
||||||
D 1 1.00
|
|
||||||
0.8170000 1.0000000
|
|
||||||
|
@ -4,7 +4,7 @@ MOL="N2"
|
|||||||
BASIS="VDZ"
|
BASIS="VDZ"
|
||||||
R_START=1.5
|
R_START=1.5
|
||||||
R_END=3.0
|
R_END=3.0
|
||||||
DR=0.05
|
DR=0.1
|
||||||
|
|
||||||
for R in $(seq $R_START $DR $R_END)
|
for R in $(seq $R_START $DR $R_END)
|
||||||
do
|
do
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine G0W0(doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_manifold,eta, &
|
subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_manifold,eta, &
|
||||||
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,Hc,H,ERI,PHF,cHF,eHF,eGW)
|
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,Hc,H,ERI,PHF,cHF,eHF,eGW)
|
||||||
|
|
||||||
! Perform G0W0 calculation
|
! Perform G0W0 calculation
|
||||||
@ -10,6 +10,7 @@ subroutine G0W0(doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_mani
|
|||||||
! Input variables
|
! Input variables
|
||||||
|
|
||||||
logical,intent(in) :: doACFDT
|
logical,intent(in) :: doACFDT
|
||||||
|
logical,intent(in) :: exchange_kernel
|
||||||
logical,intent(in) :: doXBS
|
logical,intent(in) :: doXBS
|
||||||
logical,intent(in) :: COHSEX
|
logical,intent(in) :: COHSEX
|
||||||
logical,intent(in) :: SOSEX
|
logical,intent(in) :: SOSEX
|
||||||
@ -153,7 +154,7 @@ subroutine G0W0(doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_mani
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call ACFDT(doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
call ACFDT(exchange_kernel,doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
||||||
nBas,nC,nO,nV,nR,nS,ERI,eGW,Omega,XpY,XmY,rho,EcAC)
|
nBas,nC,nO,nV,nR,nS,ERI,eGW,Omega,XpY,XmY,rho,EcAC)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
@ -29,6 +29,7 @@ program QuAcK
|
|||||||
double precision,allocatable :: eG0T0(:)
|
double precision,allocatable :: eG0T0(:)
|
||||||
|
|
||||||
logical :: doACFDT
|
logical :: doACFDT
|
||||||
|
logical :: exchange_kernel
|
||||||
logical :: doXBS
|
logical :: doXBS
|
||||||
|
|
||||||
integer :: nShell
|
integer :: nShell
|
||||||
@ -132,7 +133,7 @@ program QuAcK
|
|||||||
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
||||||
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,linearize,eta, &
|
||||||
doACFDT,doXBS, &
|
doACFDT,exchange_kernel,doXBS, &
|
||||||
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
||||||
|
|
||||||
! Weird stuff
|
! Weird stuff
|
||||||
@ -440,7 +441,7 @@ program QuAcK
|
|||||||
if(doRPA) then
|
if(doRPA) then
|
||||||
|
|
||||||
call cpu_time(start_RPA)
|
call cpu_time(start_RPA)
|
||||||
call RPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO_basis,eHF)
|
call RPA(doACFDT,exchange_kernel,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_RPA)
|
call cpu_time(end_RPA)
|
||||||
|
|
||||||
t_RPA = end_RPA - start_RPA
|
t_RPA = end_RPA - start_RPA
|
||||||
@ -450,13 +451,13 @@ program QuAcK
|
|||||||
end if
|
end if
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Compute RPAx excitations
|
! Compute RPAx (RPA with exchange) excitations
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
if(doRPAx) then
|
if(doRPAx) then
|
||||||
|
|
||||||
call cpu_time(start_RPAx)
|
call cpu_time(start_RPAx)
|
||||||
call RPAx(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO_basis,eHF)
|
call RPAx(doACFDT,exchange_kernel,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_RPAx)
|
call cpu_time(end_RPAx)
|
||||||
|
|
||||||
t_RPAx = end_RPAx - start_RPAx
|
t_RPAx = end_RPAx - start_RPAx
|
||||||
@ -472,7 +473,7 @@ program QuAcK
|
|||||||
if(doppRPA) then
|
if(doppRPA) then
|
||||||
|
|
||||||
call cpu_time(start_ppRPA)
|
call cpu_time(start_ppRPA)
|
||||||
call ppRPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,ENuc,ERHF,ERI_MO_basis,eHF)
|
call ppRPA(doACFDT,exchange_kernel,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,ENuc,ERHF,ERI_MO_basis,eHF)
|
||||||
call cpu_time(end_ppRPA)
|
call cpu_time(end_ppRPA)
|
||||||
|
|
||||||
t_ppRPA = end_ppRPA - start_ppRPA
|
t_ppRPA = end_ppRPA - start_ppRPA
|
||||||
@ -538,7 +539,7 @@ program QuAcK
|
|||||||
if(doG0W0) then
|
if(doG0W0) then
|
||||||
|
|
||||||
call cpu_time(start_G0W0)
|
call cpu_time(start_G0W0)
|
||||||
call G0W0(doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_manifold,eta, &
|
call G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,singlet_manifold,triplet_manifold,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)
|
||||||
|
|
||||||
@ -555,7 +556,7 @@ program QuAcK
|
|||||||
if(doevGW) then
|
if(doevGW) then
|
||||||
|
|
||||||
call cpu_time(start_evGW)
|
call cpu_time(start_evGW)
|
||||||
call evGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,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,linearize,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)
|
||||||
@ -573,7 +574,7 @@ program QuAcK
|
|||||||
if(doqsGW) then
|
if(doqsGW) then
|
||||||
|
|
||||||
call cpu_time(start_qsGW)
|
call cpu_time(start_qsGW)
|
||||||
call qsGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
call qsGW(maxSCF_GW,thresh_GW,n_diis_GW,doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
||||||
singlet_manifold,triplet_manifold,eta, &
|
singlet_manifold,triplet_manifold,eta, &
|
||||||
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,S,X,T,V,Hc,ERI_AO_basis,ERI_MO_basis,PHF,cHF,eHF)
|
nBas,nC(1),nO(1),nV(1),nR(1),nS(1),ENuc,ERHF,S,X,T,V,Hc,ERI_AO_basis,ERI_MO_basis,PHF,cHF,eHF)
|
||||||
call cpu_time(end_qsGW)
|
call cpu_time(end_qsGW)
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine RPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,e)
|
subroutine RPA(doACFDT,exchange_kernel,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,e)
|
||||||
|
|
||||||
! Perform a direct random phase approximation calculation
|
! Perform a direct random phase approximation calculation
|
||||||
|
|
||||||
@ -9,6 +9,7 @@ subroutine RPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENu
|
|||||||
! Input variables
|
! Input variables
|
||||||
|
|
||||||
logical,intent(in) :: doACFDT
|
logical,intent(in) :: doACFDT
|
||||||
|
logical,intent(in) :: exchange_kernel
|
||||||
logical,intent(in) :: singlet_manifold
|
logical,intent(in) :: singlet_manifold
|
||||||
logical,intent(in) :: triplet_manifold
|
logical,intent(in) :: triplet_manifold
|
||||||
integer,intent(in) :: nBas
|
integer,intent(in) :: nBas
|
||||||
@ -91,8 +92,8 @@ subroutine RPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENu
|
|||||||
write(*,*) 'Adiabatic connection version of RPA correlation energy'
|
write(*,*) 'Adiabatic connection version of RPA correlation energy'
|
||||||
write(*,*) '------------------------------------------------------'
|
write(*,*) '------------------------------------------------------'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
call ACFDT(.false.,.true.,.false.,.false.,singlet_manifold,triplet_manifold, &
|
call ACFDT(exchange_kernel,.false.,.true.,.false.,.false.,singlet_manifold,triplet_manifold, &
|
||||||
nBas,nC,nO,nV,nR,nS,ERI,e,Omega,XpY,XmY,rho,EcAC)
|
nBas,nC,nO,nV,nR,nS,ERI,e,Omega,XpY,XmY,rho,EcAC)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine evGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
subroutine evGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0, &
|
||||||
singlet_manifold,triplet_manifold,linearize,eta, &
|
singlet_manifold,triplet_manifold,linearize,eta, &
|
||||||
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,Hc,H,ERI,PHF,cHF,eHF,eG0W0)
|
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,Hc,H,ERI,PHF,cHF,eHF,eG0W0)
|
||||||
|
|
||||||
@ -15,6 +15,7 @@ subroutine evGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW
|
|||||||
double precision,intent(in) :: ENuc
|
double precision,intent(in) :: ENuc
|
||||||
double precision,intent(in) :: ERHF
|
double precision,intent(in) :: ERHF
|
||||||
logical,intent(in) :: doACFDT
|
logical,intent(in) :: doACFDT
|
||||||
|
logical,intent(in) :: exchange_kernel
|
||||||
logical,intent(in) :: doXBS
|
logical,intent(in) :: doXBS
|
||||||
logical,intent(in) :: COHSEX
|
logical,intent(in) :: COHSEX
|
||||||
logical,intent(in) :: SOSEX
|
logical,intent(in) :: SOSEX
|
||||||
@ -255,7 +256,7 @@ subroutine evGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call ACFDT(doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
call ACFDT(exchange_kernel,doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
||||||
nBas,nC,nO,nV,nR,nS,ERI,eGW,Omega,XpY,XmY,rho,EcAC)
|
nBas,nC,nO,nV,nR,nS,ERI,eGW,Omega,XpY,XmY,rho,EcAC)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
subroutine qsGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW0,singlet_manifold,triplet_manifold,eta, &
|
subroutine qsGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS, &
|
||||||
|
COHSEX,SOSEX,BSE,TDA,G0W,GW0,singlet_manifold,triplet_manifold,eta, &
|
||||||
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,S,X,T,V,Hc,ERI_AO_basis,ERI_MO_basis,PHF,cHF,eHF)
|
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,S,X,T,V,Hc,ERI_AO_basis,ERI_MO_basis,PHF,cHF,eHF)
|
||||||
|
|
||||||
! Perform a quasiparticle self-consistent GW calculation
|
! Perform a quasiparticle self-consistent GW calculation
|
||||||
@ -12,6 +13,7 @@ subroutine qsGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW
|
|||||||
integer,intent(in) :: max_diis
|
integer,intent(in) :: max_diis
|
||||||
double precision,intent(in) :: thresh
|
double precision,intent(in) :: thresh
|
||||||
logical,intent(in) :: doACFDT
|
logical,intent(in) :: doACFDT
|
||||||
|
logical,intent(in) :: exchange_kernel
|
||||||
logical,intent(in) :: doXBS
|
logical,intent(in) :: doXBS
|
||||||
logical,intent(in) :: COHSEX
|
logical,intent(in) :: COHSEX
|
||||||
logical,intent(in) :: SOSEX
|
logical,intent(in) :: SOSEX
|
||||||
@ -285,7 +287,7 @@ subroutine qsGW(maxSCF,thresh,max_diis,doACFDT,doXBS,COHSEX,SOSEX,BSE,TDA,G0W,GW
|
|||||||
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
call ACFDT(doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
call ACFDT(exchange_kernel,doXBS,.true.,TDA,BSE,singlet_manifold,triplet_manifold, &
|
||||||
nBas,nC,nO,nV,nR,nS,ERI_MO_basis,eGW,Omega,XpY,XmY,rho,EcAC)
|
nBas,nC,nO,nV,nR,nS,ERI_MO_basis,eGW,Omega,XpY,XmY,rho,EcAC)
|
||||||
|
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
@ -4,7 +4,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
|
||||||
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,linearize,eta, &
|
||||||
doACFDT,doXBS, &
|
doACFDT,exchange_kernel,doXBS, &
|
||||||
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
|
||||||
|
|
||||||
! Read desired methods
|
! Read desired methods
|
||||||
@ -48,6 +48,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
double precision,intent(out) :: eta
|
double precision,intent(out) :: eta
|
||||||
|
|
||||||
logical,intent(out) :: doACFDT
|
logical,intent(out) :: doACFDT
|
||||||
|
logical,intent(out) :: exchange_kernel
|
||||||
logical,intent(out) :: doXBS
|
logical,intent(out) :: doXBS
|
||||||
|
|
||||||
integer,intent(out) :: nMC
|
integer,intent(out) :: nMC
|
||||||
@ -158,13 +159,15 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
|
|||||||
! Options for adiabatic connection
|
! Options for adiabatic connection
|
||||||
|
|
||||||
doACFDT = .false.
|
doACFDT = .false.
|
||||||
|
exchange_kernel = .false.
|
||||||
doXBS = .false.
|
doXBS = .false.
|
||||||
|
|
||||||
read(1,*)
|
read(1,*)
|
||||||
read(1,*) answer1,answer2
|
read(1,*) answer1,answer2,answer3
|
||||||
|
|
||||||
if(answer1 == 'T') doACFDT = .true.
|
if(answer1 == 'T') doACFDT = .true.
|
||||||
if(answer2 == 'T') doXBS = .true.
|
if(answer2 == 'T') exchange_kernel = .true.
|
||||||
|
if(answer3 == 'T') doXBS = .true.
|
||||||
|
|
||||||
! Read options for MC-MP2: Monte Carlo steps, number of equilibration steps, number of walkers,
|
! Read options for MC-MP2: Monte Carlo steps, number of equilibration steps, number of walkers,
|
||||||
! Monte Carlo time step, frequency of output results, and seed for random number generator
|
! Monte Carlo time step, frequency of output results, and seed for random number generator
|
||||||
|
Loading…
Reference in New Issue
Block a user