diff --git a/input/options b/input/options index dca8460..5a29752 100644 --- a/input/options +++ b/input/options @@ -14,7 +14,7 @@ 10 0.00001 T 5 T 0.0 F F # ACFDT: AC Kx XBS F F T -# BSE: BSE dBSE dTDA evDyn - F F T F +# BSE: BSE dBSE dTDA evDyn ppBSE + F F T F T # MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift 1000000 100000 10 0.3 10000 1234 T diff --git a/src/GW/G0W0.f90 b/src/GW/G0W0.f90 index fa9367e..7d78ae2 100644 --- a/src/GW/G0W0.f90 +++ b/src/GW/G0W0.f90 @@ -1,6 +1,6 @@ -subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA, & - dBSE,dTDA,evDyn,singlet,triplet,linearize,eta,regularize, & - nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_AO,ERI_MO,dipole_int,PHF,cHF,eHF,Vxc,eG0W0) +subroutine G0W0(doACFDT,exchange_kernel,doXBS,COHSEX,BSE,TDA_W,TDA,dBSE,dTDA,evDyn,ppBSE, & + singlet,triplet,linearize,eta,regularize,nBas,nC,nO,nV,nR,nS,ENuc,ERHF, & + ERI_AO,ERI_MO,dipole_int,PHF,cHF,eHF,Vxc,eG0W0) ! 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) :: COHSEX logical,intent(in) :: BSE - logical :: ppBSE = .true. + logical,intent(in) :: ppBSE logical,intent(in) :: TDA_W logical,intent(in) :: TDA logical,intent(in) :: dBSE diff --git a/src/QuAcK/QuAcK.f90 b/src/QuAcK/QuAcK.f90 index dd72207..b83fabb 100644 --- a/src/QuAcK/QuAcK.f90 +++ b/src/QuAcK/QuAcK.f90 @@ -139,7 +139,7 @@ program QuAcK logical :: DIIS_GT,TDA_T,linGT,regGT double precision :: eta_GT - logical :: BSE,dBSE,dTDA,evDyn + logical :: BSE,dBSE,dTDA,evDyn,ppBSE integer :: nMC,nEq,nWalk,nPrint,iSeed double precision :: dt @@ -188,7 +188,7 @@ program QuAcK COHSEX,SOSEX,TDA_W,G0W,GW0, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & doACFDT,exchange_kernel,doXBS, & - BSE,dBSE,dTDA,evDyn, & + BSE,dBSE,dTDA,evDyn,ppBSE, & nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift) ! Weird stuff @@ -1036,7 +1036,7 @@ program QuAcK 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) 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) end if @@ -1316,7 +1316,7 @@ program QuAcK end if !------------------------------------------------------------------------ -! Range-separeted GT/GW +! Range-separated GT/GW !------------------------------------------------------------------------ ! if(doGTGW) then diff --git a/src/QuAcK/read_options.f90 b/src/QuAcK/read_options.f90 index 8a18c34..e3f1e99 100644 --- a/src/QuAcK/read_options.f90 +++ b/src/QuAcK/read_options.f90 @@ -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, & maxSCF_GT,thresh_GT,DIIS_GT,n_diis_GT,linGT,eta_GT,regGT,TDA_T, & doACFDT,exchange_kernel,doXBS, & - BSE,dBSE,dTDA,evDyn, & + BSE,dBSE,dTDA,evDyn,ppBSE, & nMC,nEq,nWalk,dt,nPrint,iSeed,doDrift) ! 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) :: dTDA logical,intent(out) :: evDyn + logical,intent(out) :: ppBSE integer,intent(out) :: nMC 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. dTDA = .true. evDyn = .false. + ppBSE = .false. read(1,*) - read(1,*) answer1,answer2,answer3,answer4 + read(1,*) answer1,answer2,answer3,answer4,answer5 if(answer1 == 'T') BSE = .true. if(answer2 == 'T') dBSE = .true. if(answer3 == 'F') dTDA = .false. 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, ! Monte Carlo time step, frequency of output results, and seed for random number generator