get_rational_damping_id Subroutine

private subroutine get_rational_damping_id(id, param, s9)

Retrieve rational damping parameters from functional ID

Arguments

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

Functional ID for which to retrieve the damping parameters

class(damping_param), intent(out), allocatable :: param

Damping parameters for the functional

real(kind=wp), intent(in), optional :: s9

Scaling factor for the three-body term


Source Code

subroutine get_rational_damping_id(id, param, s9)
   !DEC$ ATTRIBUTES DLLEXPORT :: get_rational_damping_id

   !> Functional ID for which to retrieve the damping parameters
   integer, intent(in) :: id

   !> Damping parameters for the functional
   class(damping_param), allocatable, intent(out) :: param

   !> Scaling factor for the three-body term
   real(wp), intent(in), optional :: s9

   logical :: mbd

   mbd = .true.
   if (present(s9)) mbd = abs(s9) > epsilon(s9)

   if (mbd) then
      call get_d4eeq_bjatm_parameter(id, param, s9)
      if (.not.allocated(param)) then
         call get_d4eeq_bj_parameter(id, param, s9)
      end if
   else
      call get_d4eeq_bj_parameter(id, param, s9)
      if (.not.allocated(param)) then
         call get_d4eeq_bjatm_parameter(id, param, s9)
      end if
   end if

end subroutine get_rational_damping_id