Compute prolate spheriodal radial functions of the first and second kinds, and their derivatives
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m |
Mode parameter, |
||
| integer, | intent(in) | :: | n |
Mode parameter, |
||
| real(kind=wp), | intent(in) | :: | c |
Spheroidal parameter |
||
| real(kind=wp), | intent(in) | :: | x |
Argument of radial function ( |
||
| real(kind=wp), | intent(in) | :: | cv |
Characteristic value |
||
| integer, | intent(in) | :: | Kf |
Function code:
* |
||
| real(kind=wp), | intent(out) | :: | R1f |
Radial function of the first kind |
||
| real(kind=wp), | intent(out) | :: | R1d |
Derivative of the radial function of the first kind |
||
| real(kind=wp), | intent(out) | :: | R2f |
Radial function of the second kind |
||
| real(kind=wp), | intent(out) | :: | R2d |
Derivative of the radial function of the second kind |
subroutine rswfp(m,n,c,x,Cv,Kf,R1f,R1d,R2f,R2d) integer,intent(in) :: m !! Mode parameter, `m = 0,1,2,...` integer,intent(in) :: n !! Mode parameter, `n = m,m+1,m+2,...` real(wp),intent(in) :: c !! Spheroidal parameter real(wp),intent(in) :: x !! Argument of radial function ( `x > 1.0` ) real(wp),intent(in) :: cv !! Characteristic value integer,intent(in) :: Kf !! Function code: !! * `KF=1` for the first kind !! * `KF=2` for the second kind !! * `KF=3` for both the first and second kinds real(wp),intent(out) :: R1f !! Radial function of the first kind real(wp),intent(out) :: R1d !! Derivative of the radial function of !! the first kind real(wp),intent(out) :: R2f !! Radial function of the second kind real(wp),intent(out) :: R2d !! Derivative of the radial function of !! the second kind real(wp) :: df(200) integer :: id , kd kd = 1 call sdmn(m,n,c,Cv,kd,df) if ( Kf/=2 ) call rmn1(m,n,c,x,df,kd,R1f,R1d) if ( Kf>1 ) then call rmn2l(m,n,c,x,df,kd,R2f,R2d,id) if ( id>-8 ) call rmn2sp(m,n,c,x,Cv,df,kd,R2f,R2d) endif end subroutine rswfp