@brief Print current excitation energies and errors
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | ee(:) | |||
real(kind=dp), | intent(in) | :: | err(:) | |||
real(kind=dp), | intent(in) | :: | cnvtol | |||
integer, | intent(in) | :: | iter | |||
integer, | intent(in) | :: | imax | |||
integer, | intent(in) | :: | ndsr | |||
logical, | optional | :: | do_neg |
subroutine rpaprint(ee,err,cnvtol,iter,imax,ndsr, do_neg) use precision, only: dp use physical_constants, only: UNITS_EV use io_constants, only: iw implicit none real(kind=dp), intent(in) :: ee(:) real(kind=dp), intent(in) :: cnvtol real(kind=dp), intent(in) :: err(:) integer, intent(in) :: iter integer, intent(in) :: imax integer, intent(in) :: ndsr logical, optional :: do_neg integer :: istat logical :: neg integer :: first neg = .false. if (present(do_neg)) neg = do_neg write(*,fmt='(/,4X,"Davidson iteration #",I4)') iter if (imax/=0.and..not.neg) write(*,'(4X,"Number of negative eigenvalues =",I4)') imax first = imax + 1 if (neg) first = 1 do istat = 1, ndsr write(*,fmt='(4X,"State ",I4, & &3x,"E =",F12.6," eV",& &4x,"err. =",F10.6)') & istat, ee(istat)/UNITS_EV, err(istat) end do write(*,'(10X,"Max error =",1X,1P,E10.3,1X,"/",1P,E10.3)') maxval(err(first:ndsr)), cnvtol call flush(iw) end subroutine rpaprint