diff --git a/input/dft b/input/dft index 4a629a5..6929834 100644 --- a/input/dft +++ b/input/dft @@ -6,19 +6,19 @@ # GGA = 2: RB88 # Hybrid = 4 # Hartree-Fock = 666 - 666 HF + 1 RMFL20 # correlation rung: # Hartree = 0 # LDA = 1: RVWN5,RMFL20 # GGA = 2: # Hybrid = 4: # Hartree-Fock = 666 - 666 HF + 1 RMFL20 # quadrature grid SG-n 1 # Number of states in ensemble (nEns) 2 # Ensemble weights: wEns(1),...,wEns(nEns-1) - 0.0000 + 0.5000 # GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type 32 0.00001 T 5 1 1 diff --git a/src/eDFT/RMFL20_lda_exchange_derivative_discontinuity.f90 b/src/eDFT/RMFL20_lda_exchange_derivative_discontinuity.f90 index 9b2b4c7..6c57c4a 100644 --- a/src/eDFT/RMFL20_lda_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/RMFL20_lda_exchange_derivative_discontinuity.f90 @@ -32,9 +32,7 @@ subroutine RMFL20_lda_exchange_derivative_discontinuity(nEns,wEns,nGrid,weight,r ! Compute correlation energy for ground- and doubly-excited states do iEns=1,nEns - call restricted_elda_exchange_energy(nEns,Cx(iEns),nGrid,weight(:),rhow(:),dExdw(iEns)) - end do ExDD(:) = 0d0 @@ -42,9 +40,7 @@ subroutine RMFL20_lda_exchange_derivative_discontinuity(nEns,wEns,nGrid,weight,r do iEns=1,nEns do jEns=1,nEns - ExDD(iEns) = ExDD(iEns) + (Kronecker_delta(iEns,jEns) - wEns(jEns))* & - (dExdw(jEns) - dExdw(1)) -! (cos(2d0*pi*wEns(jEns)) + 1d0) + ExDD(iEns) = ExDD(iEns) + (Kronecker_delta(iEns,jEns) - wEns(jEns))*(dExdw(jEns) - dExdw(1)) end do end do diff --git a/src/eDFT/RVWN5_lda_correlation_individual_energy.f90 b/src/eDFT/RVWN5_lda_correlation_individual_energy.f90 index a07ce47..d0549ec 100644 --- a/src/eDFT/RVWN5_lda_correlation_individual_energy.f90 +++ b/src/eDFT/RVWN5_lda_correlation_individual_energy.f90 @@ -66,7 +66,7 @@ subroutine RVWN5_lda_correlation_individual_energy(nGrid,weight,rhow,rho,Ec) decdra_p = drsdra*dxdrs*decdx_p - Ec = Ec + weight(iG)*(ec_p*rI + decdra_p*r*rI - decdra_p*r*r) + Ec = Ec + weight(iG)*(ec_p*rI + decdra_p*r*rI - decdra_p*r*r) end if diff --git a/src/eDFT/print_restricted_individual_energy.f90 b/src/eDFT/print_restricted_individual_energy.f90 index 9f2657a..e162a94 100644 --- a/src/eDFT/print_restricted_individual_energy.f90 +++ b/src/eDFT/print_restricted_individual_energy.f90 @@ -153,7 +153,7 @@ subroutine print_restricted_individual_energy(nEns,ENuc,Ew,EwGIC,ET,EV,EJ,Ex,Ec, write(*,'(A60)') '-------------------------------------------------' do iEns=2,nEns - write(*,'(A40,I2,A2,F16.10,A3)') ' Auxiliary excitation energy 1 ->',iEns,': ',(Om(iEns)+OmxcDD(iEns))*HaToeV,' eV' + write(*,'(A40,I2,A2,F16.10,A3)') ' Auxiliary excitation energy 1 ->',iEns,': ',(Omaux(iEns)+OmxcDD(iEns))*HaToeV,' eV' write(*,*) write(*,'(A44, F16.10,A3)') ' auxiliary energy contribution : ',Omaux(iEns)*HaToeV, ' eV' write(*,'(A44, F16.10,A3)') ' x ensemble derivative : ',OmxDD(iEns)*HaToeV, ' eV' diff --git a/src/eDFT/restricted_elda_correlation_individual_energy.f90 b/src/eDFT/restricted_elda_correlation_individual_energy.f90 index c9d2bad..3cf1b78 100644 --- a/src/eDFT/restricted_elda_correlation_individual_energy.f90 +++ b/src/eDFT/restricted_elda_correlation_individual_energy.f90 @@ -43,7 +43,7 @@ subroutine restricted_elda_correlation_individual_energy(nEns,aLF,nGrid,weight,r dFcdr = ec_p*dFcdr/(6d0*r) dFcdr = ec_p + dFcdr*r - Ec = Ec + weight(iG)*(ec_p*rI + dFcdr*r*rI - dFcdr*r*r) + Ec = Ec + weight(iG)*(ec_p*rI + dFcdr*r*rI - dFcdr*r*r) end if