P_integral Subroutine

private subroutine P_integral(z, P)

Arguments

Type IntentOptional AttributesName
real(kind=rp), intent(in) :: z
real(kind=rp), intent(out) :: P

Calls

proc~~p_integral~~CallsGraph proc~p_integral P_integral proc~intbesselk IntBesselK proc~p_integral->proc~intbesselk proc~intk IntK proc~p_integral->proc~intk proc~besselk besselk proc~intbesselk->proc~besselk

Called by

proc~~p_integral~~CalledByGraph proc~p_integral P_integral proc~pr PR proc~pr->proc~p_integral

Contents

Source Code


Source Code

  SUBROUTINE P_integral(z,P)
    REAL(rp), INTENT(OUT) :: P
    REAL(rp), INTENT(IN) :: z
    REAL(rp) :: a

    P = 0.0_rp

    IF (z .LT. 0.5_rp) THEN
       a = (2.16_rp/2.0_rp**(2.0_rp/3.0_rp))*z**(1.0_rp/3.0_rp)
       P = IntBesselK(z,a) + IntK(5.0_rp/3.0_rp,a)
    ELSE IF ((z .GE. 0.5_rp).AND.(z .LT. 2.5_rp)) THEN
       a = 0.72_rp*(z + 1.0_rp)
       P = IntBesselK(z,a) + IntK(5.0_rp/3.0_rp,a)
    ELSE
       P = IntK(5.0_rp/3.0_rp,z)
    END IF
  END SUBROUTINE P_integral