one_m_exp_x Function

private pure function one_m_exp_x(x) result(f)

(1 - exp(-x)) / x, Taylor-safe at small x.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x

Return Value real(kind=wp)


Called by

proc~~one_m_exp_x~~CalledByGraph proc~one_m_exp_x one_m_exp_x proc~epbl_lf17_la epbl_lf17_la proc~epbl_lf17_la->proc~one_m_exp_x proc~epbl_column_kernel epbl_column_kernel proc~epbl_column_kernel->proc~epbl_lf17_la proc~epbl_compute epbl_compute proc~epbl_compute->proc~epbl_column_kernel proc~vmix_apply_in_stage vmix_apply_in_stage proc~vmix_apply_in_stage->proc~epbl_compute proc~run_stage run_stage proc~run_stage->proc~vmix_apply_in_stage proc~run_stage_split run_stage_split proc~run_stage_split->proc~vmix_apply_in_stage

Source Code

   pure function one_m_exp_x(x) result(f)
      !! (1 - exp(-x)) / x, Taylor-safe at small x.
      !$acc routine seq
      real(wp), intent(in) :: x
      real(wp) :: f
      if (x < 1.0e-4_wp) then
         f = 1.0_wp - x*(0.5_wp - x/6.0_wp)
      else
         f = (1.0_wp - exp(-x))/x
      end if
   end function one_m_exp_x