diff --git a/input/dft b/input/dft index b528057..9523149 100644 --- a/input/dft +++ b/input/dft @@ -1,5 +1,5 @@ # Restricted or unrestricted KS calculation - UKS + eDFT-UKS # exchange rung: # Hartree = 0: H # LDA = 1: S51,CC-S51 @@ -28,7 +28,7 @@ 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # Ensemble weights: wEns(1),...,wEns(nEns-1) - 0.25 0.0 + 0.1 0.0 # N-centered? F # Parameters for CC weight-dependent exchange functional diff --git a/input/methods b/input/methods index 098169e..e7c0516 100644 --- a/input/methods +++ b/input/methods @@ -9,9 +9,9 @@ # CIS* CIS(D) CID CISD FCI F F F F F # RPA* RPAx* ppRPA - F F F + F T F # G0F2* evGF2* qsGF2* G0F3 evGF3 - F F T F F + F F F F F # G0W0* evGW* qsGW* F F F # G0T0 evGT qsGT diff --git a/input/options b/input/options index 6c25527..651045a 100644 --- a/input/options +++ b/input/options @@ -1,5 +1,5 @@ # HF: maxSCF thresh DIIS n_diis guess_type ortho_type mix_guess stability - 1024 0.0000001 T 5 2 1 T F + 1024 0.00001 F 5 1 1 F F # MP: # CC: maxSCF thresh DIIS n_diis @@ -11,7 +11,7 @@ # GW/GT: maxSCF thresh DIIS n_diis lin eta COHSEX SOSEX TDA_W G0W GW0 256 0.0000001 T 5 T 0.0 F F F F F # ACFDT: AC Kx XBS - F F T + F T T # BSE: BSE dBSE dTDA evDyn F T T F # MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift diff --git a/mol/h2.xyz b/mol/h2.xyz index fe42126..6a4e902 100644 --- a/mol/h2.xyz +++ b/mol/h2.xyz @@ -1,4 +1,4 @@ 2 H 0.0 0.0 0.0 -H 0.0 0.0 1.0 +H 0.0 0.0 0.7 diff --git a/src/RPA/URPA.f90 b/src/RPA/URPA.f90 index 1a9f222..e08fb11 100644 --- a/src/RPA/URPA.f90 +++ b/src/RPA/URPA.f90 @@ -146,6 +146,13 @@ subroutine URPA(TDA,doACFDT,exchange_kernel,spin_conserved,spin_flip,eta,nBas,nC call unrestricted_ACFDT(exchange_kernel,.false.,.true.,.false.,TDA,.false.,spin_conserved,spin_flip,eta, & nBas,nC,nO,nV,nR,nS,ERI_aaaa,ERI_aabb,ERI_bbbb,e,e,EcAC) + if(exchange_kernel) then + + EcAC(1) = 0.5d0*EcAC(1) + EcAC(2) = 1.5d0*EcAC(2) + + end if + write(*,*) write(*,*)'-------------------------------------------------------------------------------' write(*,'(2X,A50,F20.10)') 'AC@URPA correlation energy (spin-conserved) =',EcAC(1) diff --git a/src/eDFT/eDFT_UKS.f90 b/src/eDFT/eDFT_UKS.f90 index 03a9212..2653787 100644 --- a/src/eDFT/eDFT_UKS.f90 +++ b/src/eDFT/eDFT_UKS.f90 @@ -284,14 +284,14 @@ subroutine eDFT_UKS(x_rung,x_DFA,c_rung,c_DFA,nEns,wEns,aCC_w1,aCC_w2,nGrid,weig ! DIIS extrapolation n_diis = min(n_diis+1,max_diis) - do ispin=1,nspin - call DIIS_extrapolation(rcond(ispin),nBasSq,nBasSq,n_diis, & - err_diis(:,:,ispin),F_diis(:,:,ispin),err(:,:,ispin),F(:,:,ispin)) - end do - -! Reset DIIS if required - - if(minval(rcond(:)) < 1d-15) n_diis = 0 + if(minval(rcond(:)) > 1d-7) then + do ispin=1,nspin + call DIIS_extrapolation(rcond(ispin),nBasSq,nBasSq,n_diis, & + err_diis(:,:,ispin),F_diis(:,:,ispin),err(:,:,ispin),F(:,:,ispin)) + end do + else + n_diis = 0 + end if ! Transform Fock matrix in orthogonal basis