print_gradient Subroutine

public subroutine print_gradient(infos)

@brief Print energy gradient vector

Arguments

Type IntentOptional Attributes Name
type(information), intent(in) :: infos

Called by

proc~~print_gradient~~CalledByGraph proc~print_gradient print_gradient proc~hf_gradient hf_gradient proc~hf_gradient->proc~print_gradient proc~tdhf_gradient tdhf_gradient proc~tdhf_gradient->proc~print_gradient proc~tdhf_gradient_c tdhf_gradient_C proc~tdhf_gradient_c->proc~tdhf_gradient

Source Code

  subroutine print_gradient(infos)

    implicit none
    type(information), intent(in) :: infos
    real(kind=dp) :: gmax, grms
    integer :: i

    write(iw, fmt="(&
              &/25X,23('=')&
              &/25X,'Gradient (Hartree/Bohr)'&
              &/25X,23('=')&
              &/8X,'ATOM     ZNUC',9X,'dE/dX',10X,'dE/dY',10X,'dE/dZ'&
              &/6X,62('-'))")

    do i = 1, infos%mol_prop%natom
       write(iw,'(7X,I4,5X,F4.1,3X,3F15.9)') &
               i,infos%atoms%zn(i), infos%atoms%grad(:,i)
    end do

!   Compute Maximum and RMS Gradient
    call grad_max_rms(infos%mol_prop%natom,infos%atoms%grad,gmax,grms)
    write(iw,fmt="(/10X,'Maximum Gradient =',F10.7,4X,&
          &'RMS Gradient =',F10.7/)") gmax, grms

  end subroutine print_gradient