ascii_damping_param Subroutine

public subroutine ascii_damping_param(unit, param, method)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unit

Unit for output

class(damping_param), intent(in) :: param

Damping parameters

character(len=*), intent(in), optional :: method

Method name


Source Code

subroutine ascii_damping_param(unit, param, method)

   !> Unit for output
   integer, intent(in) :: unit

   !> Damping parameters
   class(damping_param), intent(in) :: param

   !> Method name
   character(len=*), intent(in), optional :: method

   select type(param)
   type is (zero_damping_param)
      write(unit, '(a, ":", 1x)', advance="no") "Zero (Chai-Head-Gordon) damping"
      if (present(method)) then
         write(unit, '(a, "-")', advance="no") method
      end if
      write(unit, '(a)') &
         & trim(merge("D3(0)-ATM", "D3(0)    ", abs(param%s9) > 0))
      write(unit, '(20("-"))')
      write(unit, '(a4, t10, f10.4)') &
         & "s6", param%s6, &
         & "s8", param%s8, &
         & "s9", param%s9, &
         & "rs6", param%rs6, &
         & "rs8", param%rs8, &
         & "alp", param%alp
      write(unit, '(20("-"))')
      write(unit, '(a)')
   type is (mzero_damping_param)
      write(unit, '(a, ":", 1x)', advance="no") "Modified zero damping"
      if (present(method)) then
         write(unit, '(a, "-")', advance="no") method
      end if
      write(unit, '(a)') &
         & trim(merge("D3(0M)-ATM", "D3(0M)    ", abs(param%s9) > 0))
      write(unit, '(20("-"))')
      write(unit, '(a5, t10, f10.4)') &
         & "s6", param%s6, &
         & "s8", param%s8, &
         & "s9", param%s9, &
         & "rs6", param%rs6, &
         & "rs8", param%rs8, &
         & "alp", param%alp, &
         & "beta", param%bet
      write(unit, '(20("-"))')
      write(unit, '(a)')
   type is (optimizedpower_damping_param)
      write(unit, '(a, ":", 1x)', advance="no") "Optimized power damping"
      if (present(method)) then
         write(unit, '(a, "-")', advance="no") method
      end if
      write(unit, '(a)') &
         & trim(merge("D3(op)-ATM", "D3(op)    ", abs(param%s9) > 0))
      write(unit, '(20("-"))')
      write(unit, '(a5, t10, f10.4)') &
         & "s6", param%s6, &
         & "s8", param%s8, &
         & "s9", param%s9, &
         & "a1", param%a1, &
         & "a1", param%a2, &
         & "alp", param%alp, &
         & "beta", param%bet
      write(unit, '(20("-"))')
      write(unit, '(a)')
   type is (rational_damping_param)
      write(unit, '(a, ":", 1x)', advance="no") "Rational (Becke-Johnson) damping"
      if (present(method)) then
         write(unit, '(a, "-")', advance="no") method
      end if
      write(unit, '(a)') &
         & trim(merge("D3(BJ)-ATM", "D3(BJ)    ", abs(param%s9) > 0))
      write(unit, '(21("-"))')
      write(unit, '(a4, t10, f10.4)') &
         & "s6", param%s6, &
         & "s8", param%s8, &
         & "s9", param%s9, &
         & "a1", param%a1, &
         & "a2", param%a2, &
         & "alp", param%alp
      write(unit, '(20("-"))')
      write(unit, '(a)')
   end select

end subroutine ascii_damping_param