Directory of image this file is from
This file as a plain text file
C
C ..................................................................
C
C SUBROUTINE DCEL2
C
C PURPOSE
C COMPUTES THE GENERALIZED COMPLETE ELLIPTIC INTEGRAL OF
C SECOND KIND.
C
C USAGE
C CALL DCEL2(RES,AK,A,B,IER)
C
C DESCRIPTION OF PARAMETERS
C RES - RESULT VALUE IN DOUBLE PRECISION
C AK - MODULUS (INPUT) IN DOUBLE PRECISION
C A - DOUBLE PRECISION CONSTANT TERM IN NUMERATOR
C B - DOUBLE PRECISION FACTOR OF QUADRATIC TERM
C IN NUMERATOR
C IER - RESULTANT ERROR CODE WHERE
C IER=0 NO ERROR
C IER=1 AK NOT IN RANGE -1 TO +1
C
C REMARKS
C FOR ABS(AK) GE 1 THE RESULT IS SET TO 1.E75 IF B IS
C POSITIVE, TO -1.7D38 IF B IS NEGATIVE. 0
C SPECIAL CASES ARE
C K(K) OBTAINED WITH A = 1, B = 1
C E(K) OBTAINED WITH A = 1, B = CK*CK WHERE CK IS
C COMPLEMENTARY MODULUS.
C B(K) OBTAINED WITH A = 1, B = 0
C D(K) OBTAINED WITH A = 0, B = 1
C WHERE K, E, B, D DEFINE SPECIAL CASES OF THE GENERALIZED
C COMPLETE ELLIPTIC INTEGRAL OF SECOND KIND IN THE USUAL
C NOTATION, AND THE ARGUMENT K OF THESE FUNCTIONS MEANS
C THE MODULUS.
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C NONE
C
C METHOD
C DEFINITION
C RES=INTEGRAL((A+B*T*T)/(SQRT((1+T*T)*(1+(CK*T)**2))*(1+T*T))
C SUMMED OVER T FROM 0 TO INFINITY).
C EVALUATION
C LANDENS TRANSFORMATION IS USED FOR CALCULATION.
C REFERENCE
C R.BULIRSCH, 'NUMERICAL CALCULATION OF ELLIPTIC INTEGRALS
C AND ELLIPTIC FUNCTIONS', HANDBOOK SERIES SPECIAL FUNCTIONS,
C NUMERISCHE MATHEMATIK VOL. 7, 1965, PP. 78-90.
C
C ..................................................................
C
SUBROUTINE DCEL2(RES,AK,A,B,IER)
DOUBLE PRECISION RES,AK,A,B,GEO,ARI,AARI,B0,A1
IER=0
ARI=2.D0
GEO=(0.5D0-AK)+0.5D0
GEO=GEO+GEO*AK
RES=A
A1=A+B
B0=B+B
IF(GEO)1,2,6
1 IER=1
2 IF(B)3,8,4
3 RES=-1.7D38 0
RETURN
4 RES=1.7D38 0
RETURN
5 GEO=GEO*AARI
6 GEO=DSQRT(GEO)
GEO=GEO+GEO
AARI=ARI
ARI=ARI+GEO
B0=B0+RES*GEO
RES=A1
B0=B0+B0
A1=B0/ARI+A1
IF(GEO/AARI-0.999999995D0)5,7,7
7 RES=A1/ARI
RES=RES+0.57079632679489662D0*RES
8 RETURN
END