1 2 SUBROUTINE HS3CRI (XS,XF,L,LBDCND,YS,YF,M,MBDCND,ZS,ZF,N,NBDCND, 3 1 ELMBDA,LDIMF,MDIMF,IERROR,W) 4C 5C PACKAGE HS3CRT, VERSION 1, AUGUST 1985 6C 7 DIMENSION W(*) 8C 9C CHECK FOR INVALID PARAMETERS. 10C 11 IERROR = 0 12 IF (XS.GT.XF) IERROR=1 13 IF (L.LT.3) IERROR=2 14 IF (LBDCND.LT.0 .OR. LBDCND.GT.4) IERROR=3 15 IF (YS.GT.YF) IERROR=4 16 IF (M.LT.3) IERROR=5 17 IF (MBDCND.LT.0 .OR. MBDCND.GT.4) IERROR=6 18 IF (ZS.GT.ZF) IERROR=7 19 IF (N.LT.3) IERROR=8 20 IF (NBDCND.LT.0 .OR. NBDCND.GT.4) IERROR=9 21 IF (LDIMF.LT.L) IERROR=11 22 IF (MDIMF.LT.M) IERROR=12 23 IF (IERROR.NE.0) RETURN 24 IF (ELMBDA.GT.0.) IERROR=10 25 DELTAX = (XF-XS)/L 26 DELTAY = (YF-YS)/M 27 DELTAZ = (ZF-ZS)/N 28 C1=1./DELTAY**2 29 C2=1./DELTAZ**2 30 LP = LBDCND+1 31 MP = MBDCND+1 32 NP = NBDCND+1 33 LPEROD=1 34 IF (LBDCND.EQ.0) LPEROD=0 35C 36C SAVE PARAMETERS FOR HS3CRT IN WORK ARRAY W. 37C 38 W(1)=DELTAX 39 W(2)=L 40 W(3)=LP 41 W(4)=DELTAY 42 W(5)=M 43 W(6)=MP 44 W(7)=DELTAZ 45 W(8)=N 46 W(9)=NP 47 W(10)=ELMBDA 48C 49C DEFINE THE A,B,C COEFFICIENTS IN W-ARRAY. 50C 51 IA = 11 52 IB = IA+L 53 IC = IB+L 54 IW = IC+L 55 S = 1./DELTAX**2 56 ST2 = 2.*S 57 DO 101 I=0,L-1 58 W(IA+I) = S 59 W(IB+I) = -ST2+ELMBDA 60 W(IC+I) = S 61 101 CONTINUE 62 GO TO (111,102,102,104,104),LP 63 102 W(IB)= W(IB)-W(IA) 64 GO TO 106 65 104 W(IB) = W(IB)+W(IA) 66 106 GO TO (111,107,109,109,107),LP 67 107 W(IC-1) = W(IC-1)-W(IB-1) 68 GO TO 111 69 109 W(IC-1) = W(IC-1)+W(IB-1) 70 111 CONTINUE 71 IF (LBDCND .EQ. 0) GO TO 124 72 W(IA) = 0. 73 W(IC+L-1) = 0. 74 124 CONTINUE 75C 76C INITIALIZE SOLVER ROUTINE PSTG3D. 77C 78 CALL PST3DI(LPEROD,L,MBDCND,M,C1,NBDCND,N,C2,W(IA),W(IB), 79 1 W(IC),LDIMF,MDIMF,IERR1,W(IW)) 80 RETURN 81 END 82