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

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