diff --git a/src/HF/RHF.f90 b/src/HF/RHF.f90 index 6945a1b..e54d3f2 100644 --- a/src/HF/RHF.f90 +++ b/src/HF/RHF.f90 @@ -1,5 +1,5 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc, & - nBas,nO,S,T,V,Hc,F,ERI,dipole_int,X,ERHF,e,c,P,Vx) + nBas,nO,S,T,V,Hc,F,ERI,dipole_int,X,EHF,eps,c,P,Vx) ! Perform restricted Hartree-Fock calculation @@ -53,8 +53,8 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc ! Output variables - double precision,intent(out) :: ERHF - double precision,intent(out) :: e(nBas) + double precision,intent(out) :: EHF + double precision,intent(out) :: eps(nBas) double precision,intent(out) :: c(nBas,nBas) double precision,intent(out) :: P(nBas,nBas) double precision,intent(out) :: Vx(nBas) @@ -137,7 +137,7 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc Fp = matmul(transpose(X),matmul(F,X)) cp(:,:) = Fp(:,:) - call diagonalize_matrix(nBas,cp,e) + call diagonalize_matrix(nBas,cp,eps) c = matmul(X,cp) ! Density matrix @@ -146,15 +146,15 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc ! Compute HF energy - ERHF = trace_matrix(nBas,matmul(P,Hc)) & - + 0.5d0*trace_matrix(nBas,matmul(P,J)) & - + 0.25d0*trace_matrix(nBas,matmul(P,K)) + EHF = trace_matrix(nBas,matmul(P,Hc)) & + + 0.5d0*trace_matrix(nBas,matmul(P,J)) & + + 0.25d0*trace_matrix(nBas,matmul(P,K)) ! Compute HOMO-LUMO gap if(nBas > nO) then - Gap = e(nO+1) - e(nO) + Gap = eps(nO+1) - eps(nO) else @@ -165,7 +165,7 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc ! Dump results write(*,'(1X,A1,1X,I3,1X,A1,1X,F16.10,1X,A1,1X,F10.6,1X,A1,1X,F10.6,1X,A1,1X)') & - '|',nSCF,'|',ERHF+ENuc,'|',Conv,'|',Gap,'|' + '|',nSCF,'|',EHF+ENuc,'|',Conv,'|',Gap,'|' enddo write(*,*)'----------------------------------------------------' @@ -193,16 +193,12 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc EV = trace_matrix(nBas,matmul(P,V)) EJ = 0.5d0*trace_matrix(nBas,matmul(P,J)) EK = 0.25d0*trace_matrix(nBas,matmul(P,K)) - ERHF = ET + EV + EJ + EK + EHF = ET + EV + EJ + EK ! Compute dipole moments call dipole_moment(nBas,P,nNuc,ZNuc,rNuc,dipole_int,dipole) - call print_RHF(nBas,nO,e,C,ENuc,ET,EV,EJ,EK,ERHF,dipole) - -! dump orbitals for potential restart - - call dump_orbitals(nBas,c) + call print_RHF(nBas,nO,eps,C,ENuc,ET,EV,EJ,EK,EHF,dipole) ! Compute Vx for post-HF calculations diff --git a/src/HF/mo_guess.f90 b/src/HF/mo_guess.f90 index 298d737..387f371 100644 --- a/src/HF/mo_guess.f90 +++ b/src/HF/mo_guess.f90 @@ -20,11 +20,7 @@ subroutine mo_guess(nBas,guess_type,S,Hc,X,c) double precision,intent(out) :: c(nBas,nBas) - if(guess_type == 0) then - - call read_guess(nBas,c) - - elseif(guess_type == 1) then + if(guess_type == 1) then call core_guess(nBas,Hc,X,c) diff --git a/src/HF/read_guess.f90 b/src/HF/read_guess.f90 deleted file mode 100644 index 8cb8ba2..0000000 --- a/src/HF/read_guess.f90 +++ /dev/null @@ -1,50 +0,0 @@ -subroutine read_guess(nBas,c) - -! Read the orbitals from a file - - implicit none - include 'parameters.h' - -! Input variables - - integer,intent(in) :: nBas - -! Local variables - - logical :: debug - integer :: mu,p - double precision :: coeff - -! Output variables - - double precision,intent(out) :: c(nBas,nBas) - -! Open file with orbitals - - debug = .false. - - open(unit=12,file='int/MO.dat') - -! Read coefficients - - c(:,:) = 0d0 - do - read(12,*,end=12) mu,p,coeff - c(mu,p) = coeff - c(mu,p) = coeff - enddo - -! Close file - - 12 close(unit=12) - -! Print results - if(debug) then - write(*,'(A28)') '----------------------' - write(*,'(A28)') 'Orbitals' - write(*,'(A28)') '----------------------' - call matout(nBas,nBas,c) - write(*,*) - endif - -end subroutine read_guess