4
1
mirror of https://github.com/pfloos/quack synced 2024-12-22 20:35:36 +01:00

adding option for ppBSE

This commit is contained in:
Pierre-Francois Loos 2022-08-17 14:38:00 +02:00
parent 93564f350d
commit 68672a74b9
4 changed files with 15 additions and 12 deletions

View File

@ -14,7 +14,7 @@
10 0.00001 T 5 T 0.0 F F 10 0.00001 T 5 T 0.0 F F
# ACFDT: AC Kx XBS # ACFDT: AC Kx XBS
F F T F F T
# BSE: BSE dBSE dTDA evDyn # BSE: BSE dBSE dTDA evDyn ppBSE
F F T F F F T F 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,6 +1,6 @@
subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA, & subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,ppBSE, &
dBSE,dTDA,evDyn,singlet,triplet,linearize,eta,regularize, & singlet,triplet,linearize,eta,regularize,nBas,nC,nO,nV,nR,nS,ENuc,ERHF, &
nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int,PHF,cHF,eHF,Vxc,eG0W0) ERI_AO,ERI_MO,dipole_int,PHF,cHF,eHF,Vxc,eG0W0)
! Perform G0W0 calculation ! Perform G0W0 calculation
@ -15,7 +15,7 @@ subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA, &
logical,intent(in) :: doXBS logical,intent(in) :: doXBS
logical,intent(in) :: COHSEX logical,intent(in) :: COHSEX
logical,intent(in) :: BSE logical,intent(in) :: BSE
logical :: ppBSE = .true. logical,intent(in) :: ppBSE
logical,intent(in) :: TDA_W logical,intent(in) :: TDA_W
logical,intent(in) :: TDA logical,intent(in) :: TDA
logical,intent(in) :: dBSE logical,intent(in) :: dBSE

View File

@ -139,7 +139,7 @@ program QuAcK
logical :: DIIS_GT,TDA_T,linGT,regGT logical :: DIIS_GT,TDA_T,linGT,regGT
double precision :: eta_GT double precision :: eta_GT
logical :: BSE,dBSE,dTDA,evDyn logical :: BSE,dBSE,dTDA,evDyn,ppBSE
integer :: nMC,nEq,nWalk,nPrint,iSeed integer :: nMC,nEq,nWalk,nPrint,iSeed
double precision :: dt double precision :: dt
@ -188,7 +188,7 @@ program QuAcK
COHSEX,SOSEX,TDA_W,G0W,GW0, & COHSEX,SOSEX,TDA_W,G0W,GW0, &
maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, &
doACFDT,exchange_kernel,doXBS, & doACFDT,exchange_kernel,doXBS, &
BSE,dBSE,dTDA,evDyn, & BSE,dBSE,dTDA,evDyn,ppBSE, &
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift) nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
! Weird stuff ! Weird stuff
@ -1036,7 +1036,7 @@ program QuAcK
call G0W0_SOSEX(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,singlet,triplet, & call G0W0_SOSEX(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,singlet,triplet, &
eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,eHF,Vxc,eG0W0) eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,eHF,Vxc,eG0W0)
else else
call G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,singlet,triplet, & call G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,ppBSE,singlet,triplet, &
linGW,eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,eHF,Vxc,eG0W0) linGW,eta_GW,regGW,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int_MO,PHF,cHF,eHF,Vxc,eG0W0)
end if end if
@ -1316,7 +1316,7 @@ program QuAcK
end if end if
!------------------------------------------------------------------------ !------------------------------------------------------------------------
! Range-separeted GT/GW ! Range-separated GT/GW
!------------------------------------------------------------------------ !------------------------------------------------------------------------
! if(doGTGW) then ! if(doGTGW) then

View File

@ -6,7 +6,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
COHSEX,SOSEX,TDA_W,G0W,GW0, & COHSEX,SOSEX,TDA_W,G0W,GW0, &
maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, &
doACFDT,exchange_kernel,doXBS, & doACFDT,exchange_kernel,doXBS, &
BSE,dBSE,dTDA,evDyn, & BSE,dBSE,dTDA,evDyn,ppBSE, &
nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift) nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift)
! Read desired methods ! Read desired methods
@ -75,6 +75,7 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
logical,intent(out) :: dBSE logical,intent(out) :: dBSE
logical,intent(out) :: dTDA logical,intent(out) :: dTDA
logical,intent(out) :: evDyn logical,intent(out) :: evDyn
logical,intent(out) :: ppBSE
integer,intent(out) :: nMC integer,intent(out) :: nMC
integer,intent(out) :: nEq integer,intent(out) :: nEq
@ -237,14 +238,16 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
dBSE = .false. dBSE = .false.
dTDA = .true. dTDA = .true.
evDyn = .false. evDyn = .false.
ppBSE = .false.
read(1,*) read(1,*)
read(1,*) answer1,answer2,answer3,answer4 read(1,*) answer1,answer2,answer3,answer4,answer5
if(answer1 == 'T') BSE = .true. if(answer1 == 'T') BSE = .true.
if(answer2 == 'T') dBSE = .true. if(answer2 == 'T') dBSE = .true.
if(answer3 == 'F') dTDA = .false. if(answer3 == 'F') dTDA = .false.
if(answer4 == 'T') evDyn = .true. if(answer4 == 'T') evDyn = .true.
if(answer5 == 'T') ppBSE = .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