4
1
mirror of https://github.com/pfloos/quack synced 2024-07-25 12:17:35 +02:00

exchange kernel

This commit is contained in:
Pierre-Francois Loos 2020-01-16 21:39:00 +01:00
parent 4607acc649
commit 8dfd69db80
13 changed files with 91 additions and 146 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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(*,*)

View File

@ -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)

View File

@ -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
@ -92,7 +93,7 @@ subroutine RPA(doACFDT,singlet_manifold,triplet_manifold,nBas,nC,nO,nV,nR,nS,ENu
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)

View File

@ -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(*,*)

View File

@ -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(*,*)

View File

@ -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