5 * Revision 1.1.1.1 1996/04/01 15:02:18 mclareni
10 SUBROUTINE ESOLVE(M1,N,AD,BD,CD,DELTAY,IBCX,ALFAS,BETAS,ALFAN,
12 COMMON/FW1/W1(774)/FW2/W2(100)
14 DATA PI/3.141592653589793/
17 IF(BETAS.EQ.0.) GOTO 50
25 51 W1(2*M1+I)=DIV*W1(2*M1+I)
26 53 IF(BETAN.EQ.0.) GOTO 54
34 55 W1(3*M1+I)=DIV*W1(3*M1+I)
41 IF(IBCX.EQ.1) PIOVM=2.*PIOVM
42 IF(IBCX.EQ.4) PIOVM=.5*PIOVM
47 GOTO(100,200,300),IKIND
49 C THIS PART OF THE SUBROUTINE IS USED
50 C WHEN IKIND=1 THAT IS IN THE ELLIPTIC CASE
51 C AND SOLVES THE THREE-POINT RECURRENCE
52 C FORMULA THROUGH GAUSS ELIMINATION
54 100 GOTO(110,120,130,135),IBCX
70 141 DO 1 I=IMIN,IMAX,JUMP
77 W2(N+2)=DEN*(XSOUTH*W1(2*M1+I)-POT(I,2))
81 112 DEN=1./(FCENT-XSOUTH*COEF2S)
82 W2(1)=DEN*(XSOUTH+XNORTH)
83 W2(N+1)=-DEN*(POT(I,1)+XSOUTH*COEF1S*W1(2*M1+I))
87 DEN=1./(FCENT-XSOUTH*W2(J-1))
89 2 W2(N+J)=DEN*(XSOUTH*W2(NA+J)-POT(I,J))
91 121 POT(I,N)=W1(3*M1+I)
93 122 IF(IBCX.EQ.4) GOTO 126
94 IF(IBCYS.EQ.2.AND.IBCX.NE.3) GOTO 124
96 124 IF(I.EQ.1) GOTO 125
97 126 DEN=1./(FCENT-W2(NA)*(XSOUTH+XNORTH)+XNORTH*COEF2N)
98 POT(I,N)=DEN*(-POT(I,N)+XNORTH*COEF1N*W1(3*M1+I)
99 ++W2(N+NA)*(XSOUTH+XNORTH))
102 123 POT(I,1)=W1(2*M1+I)
105 3 POT(I,K)=W2(K)*POT(I,K+1)+W2(N+K)
109 IF(IBCX.NE.1) GOTO 143
114 143 IF(IBCX.NE.4) RETURN
121 C THIS PART OF THE SUBROUTINE IS USED
122 C WHEN IKIND=2 THAT IS IN THE PARABOLIC CASE
123 C AND SOLVES THE TWO-POINT RECURRENCE
124 C FORMULA STEP BY STEP
127 200 GOTO(210,220,230,235),IBCX
146 241 DO 11 I=IMIN,IMAX,JUMP
153 12 W2(J)=POT(I,J-1)+POT(I,J)
155 201 POT(I,1)=W1(2*M1+I)
157 202 IF(IBCX.EQ.3.OR.IBCX.EQ.4) GOTO 226
158 C*UL 224 IF(I.EQ.1) GOTO 225
160 226 DEN1=1./(XNORTH+XSOUTH*(1.+.5*COEF2S))
161 POT(I,1)=DEN1*(POT(I,1)+.5*XSOUTH*COEF1S*W1(2*M1+I))
165 13 POT(I,J)=DEN2*(W2(J)-XSOUTH*POT(I,J-1))
168 IF(IOUT.EQ.2) GOTO 242
169 IF(IBCX.NE.1) GOTO 243
174 243 IF(IBCX.NE.4) GOTO 242
182 C THIS PART OF THE SUBROUTINE IS USED
183 C WHEN IKIND=3 THAT IS IN THE HYPERBOLIC CASE
184 C AND SOLVES THE THREE-POINT RECURRENCE
185 C FORMULA STEP BY STEP
188 300 GOTO(310,320,330,335),IBCX
204 DEN1=1./(XSOUTH+XNORTH)
206 341 DO 7 I=IMIN,IMAX,JUMP
213 POT(I,2)=DEN1*(W2(1)+XSOUTH*COEFY*W1(3*M1+I)+FCENT*W1(2*M1+I))
215 9 POT(I,J)=DEN2*(W2(J-1)-XSOUTH*POT(I,J-2)+FCENT*POT(I,J-1))
218 IF(IOUT.EQ.2) GOTO 342
219 IF(IBCX.NE.1) GOTO 343
224 343 IF(IBCX.NE.4) GOTO 342