bessels Module

Calculates Bessel Functions necessary for the dispersion calculation.


Functions

public function bessim0(x)

Calculates the Modified Bessel Function of order zero. Determines I_0(x) e^(-x) instead of I_0(x) to avoid large argument problems.

Arguments

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

Argument of Modified Bessel Function.

Return Value real(kind=SP)

Returned value of the Bessel Function calculation.

public function bessim1(x)

Calculates the Modified Bessel Function of order one. Determines I_1(x) e^(-x) instead of I_1(x) to avoid large argument problems.

Arguments

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

Argument of Modified Bessel Function.

Return Value real(kind=SP)

Returned value of the Bessel Function calculation.

public function bessim(n, x)

Calculates the Modified Bessel Function of arbitrary order. Determines I_n(x) e^(-x) instead of I_n(x) to avoid large argument problems.

Arguments

Type IntentOptional Attributes Name
integer(kind=I4B), intent(in) :: n

Order of Modified Bessel Function.

real(kind=SP), intent(in) :: x

Order of Modified Bessel Function.

Return Value real(kind=SP)

Returned value of the Bessel Function calculation.