rpaprint Subroutine

public subroutine rpaprint(ee, err, cnvtol, iter, imax, ndsr, do_neg)

Uses

  • proc~~rpaprint~~UsesGraph proc~rpaprint rpaprint module~io_constants io_constants proc~rpaprint->module~io_constants module~physical_constants physical_constants proc~rpaprint->module~physical_constants module~precision precision proc~rpaprint->module~precision iso_fortran_env iso_fortran_env module~physical_constants->iso_fortran_env module~precision->iso_fortran_env

@brief Print current excitation energies and errors

Arguments

Type IntentOptional 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

Called by

proc~~rpaprint~~CalledByGraph proc~rpaprint rpaprint proc~tdhf_energy tdhf_energy proc~tdhf_energy->proc~rpaprint proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->proc~rpaprint proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->proc~rpaprint proc~tdhf_energy_c tdhf_energy_C proc~tdhf_energy_c->proc~tdhf_energy proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->proc~tdhf_mrsf_energy proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->proc~tdhf_sf_energy

Source Code

  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