mirror of
https://github.com/pkimpel/retro-220.git
synced 2026-03-02 01:40:31 +00:00
481 lines
16 KiB
Plaintext
481 lines
16 KiB
Plaintext
0200 BAC-220 STANDARD VERSION 2/1/62
|
||
|
||
0200 COMMENT FIRST EXAMPLE PROGRAM FROM BALGOL MANUAL, MARCH 1963.
|
||
|
||
0200 J.G. HERRIOT, OF STANFORD UNIVERSITY, HAS WRITTEN THE FOLLOWING
|
||
|
||
0200 PROGRAM TO DETERMINE AN APROXIMATION OF HARMONIC-BOUNDARY VALUES,
|
||
|
||
0200 USING ORTHONORMAL FUNCTIONS$
|
||
|
||
0200
|
||
|
||
0200 COMMENT THIS PROGRAM FIRST CONSTRUCTS A SET OF ORTHONORMAL FUNCTIONS
|
||
|
||
0200 AND THEN USES THEM TO FIND AN APPROXIMATION TO THE SOLUTION OF A
|
||
|
||
0200 HARMONIC BOUNDARY-VALUE PROBLEM$
|
||
|
||
0200
|
||
|
||
0200 COMMENT WE FIRST CONSTRUCT THE ORTHONORMAL FUNCTIONS$
|
||
|
||
0200
|
||
|
||
0200 INTEGER I, J, K, L, M, N, NU, TH$
|
||
|
||
0200 ARRAY R(29), HFN(29), DSUM(24), HFCN(5), HFCEN(6),
|
||
|
||
0200 FA(25,25), A(25,25), B(25,25), HA(47), HAA(24)$
|
||
|
||
0200 INPUT DATA (FOR I=(1,1,29)$ R(I)), DIMEN(N)$
|
||
|
||
0228 OUTPUT FRESULTS (FOR I=(1,1,N)$ FOR J=(1,1,N)$ FA(I,J)),
|
||
|
||
0267 ARESULTS (FOR I=(1,1,N)$ FOR J=(1,1,N)$ A(I,J)),
|
||
|
||
0306 BRESULTS (FOR I=(1,1,N)$ FOR J=(1,1,N)$ B(I,J)),
|
||
|
||
0345 COEFFS (FOR NU=(4,4,N-1)$ HA(2NU-1)),
|
||
|
||
0372 HFNRES (FOR K=(1,1,29)$ HFN(K)),
|
||
|
||
0393 CRES(CONST), HFCNRES (TH, FOR K=(1,1,5)$ HFCN(K)),
|
||
|
||
0424 HFCENRES(TH, FOR K=(1,1,6)$ HFCEN(K))$
|
||
|
||
0448 FORMAT VECTOR (B8,6F16.8,W0),
|
||
|
||
0448 FTITLE (B48,*FRESULTS,FA(I,J)*,W3,W2),
|
||
|
||
0448 BTITLE (B48,*BRESULTS,B(I,J)*,W3,W2),
|
||
|
||
0448 ATITLE (B48,*ARESULTS,A(I,J)*,W3,W2),
|
||
|
||
0448 COEFTITLE (B30,*HA(8NU-1)*,W2),
|
||
|
||
0448 BDYVALUES (B42,*PRELIMINARY BOUNDARY VALUES*,W3,W2),
|
||
|
||
0448 CBDYVALUES (B43,*CORRECTED BOUNDARY VALUES*,W2),
|
||
|
||
0448 CONTITLE (B50,*CONSTANT*,W2),
|
||
|
||
0448 TABLE (B8,I2,B6,6F16.8,W0),
|
||
|
||
0448 TABLEHEAD (B40, *THE VALUES OF H(RHO,TH) IN B*, W3,W2),
|
||
|
||
0448 TABLELINE (B13,*RHO*,B6,*0.5*,B13,*1.0*,B13,*1.5*,B13,
|
||
|
||
0448 *2.0*,B13,*2.5*,B13,*3.0*,W0),
|
||
|
||
0448 TABLETH (B8,*TH*,W0)$
|
||
|
||
0542 START..
|
||
|
||
0542 READ ($$ DATA)$
|
||
|
||
0546 RDIM..
|
||
|
||
0546 READ ($$ DIMEN)$
|
||
|
||
0550 FOR I = (1,1,N)$
|
||
|
||
0561 FOR J = (I,4,N)$
|
||
|
||
0573 BEGIN
|
||
|
||
0577 L = I-J$ K = I+J$
|
||
|
||
0580 SUM = R(1)*K + 1.5R(18)*K.COS(0.59341195.L)
|
||
|
||
0595 + 0.5.R(29)*K.COS(0.78539816.L)$
|
||
|
||
0615 FOR M = (2,1,17)$
|
||
|
||
0626 SUM = SUM + 2.0.R(M)*K.COS((M-1).0.034906585.L)$
|
||
|
||
0650 FOR M = (19,1,28)$
|
||
|
||
0661 SUM = SUM + R(M)*K.COS((0.59341195 + (M-18).0.017453293).L)$
|
||
|
||
0685 FA(I,J) = (8.0/K).0.017453293.SUM
|
||
|
||
0701 END$
|
||
|
||
0703 WRITE ($$ FTITLE)$
|
||
|
||
0707 WRITE ($$ FRESULTS, VECTOR)$
|
||
|
||
0715 FOR J = (1,1,N)$
|
||
|
||
0726 B(1,J) = FA(1,J)$
|
||
|
||
0731 FOR I = (2,1,N)$
|
||
|
||
0742 BEGIN
|
||
|
||
0743 FOR J = (1,1,I-1)$
|
||
|
||
0757 B(I,J) = -B(J,I)/B(J,J)$
|
||
|
||
0781 FOR J = (I,1,N)$
|
||
|
||
0792 BEGIN
|
||
|
||
0793 B(I,J) = FA(I,J)$
|
||
|
||
0807 FOR K = (1,1,I-1)$
|
||
|
||
0821 B(I,J) = B(I,J) + B(I,K).B(K,J)
|
||
|
||
0851 END$
|
||
|
||
0852 FOR J = (1,1,I-1)$
|
||
|
||
0866 B(I,J) = B(I,J).SQRT(B(J,J)/B(I,I))
|
||
|
||
0892 END$
|
||
|
||
0900 FOR I = (1,1,N)$
|
||
|
||
0911 B(I,I) = 1.0/(SQRT(B(I,I)).I)$
|
||
|
||
0938 WRITE ($$ BTITLE)$
|
||
|
||
0942 WRITE ($$ BRESULTS, VECTOR)$
|
||
|
||
0950 FOR I = (1,1,N)$
|
||
|
||
0961 FOR J = (1,1,N)$
|
||
|
||
0973 A(I,J) = 0$
|
||
|
||
0983 A(1,1) = B(1,1)$
|
||
|
||
0985 FOR I = (2,1,N)$
|
||
|
||
0996 BEGIN
|
||
|
||
0997 FOR J= (1,1,I-1)$
|
||
|
||
1011 BEGIN
|
||
|
||
1012 A(I,J) = 0$
|
||
|
||
1019 FOR K = (J,1,I-1)$
|
||
|
||
1033 A(I,J) = A(I,J) + B(I,K).A(K,J)
|
||
|
||
1063 END$
|
||
|
||
1064 A(I,I) = B(I,I)
|
||
|
||
1078 END$
|
||
|
||
1079 WRITE ($$ ATITLE)$
|
||
|
||
1083 WRITE ($$ ARESULTS, VECTOR)$
|
||
|
||
1083
|
||
|
||
1091 COMMENT NOW CONSTRUCT THE APROXIMATION TO THE SOLUTION$
|
||
|
||
1091
|
||
|
||
1091 FOR J = (4,4,N-1)$
|
||
|
||
1105 BEGIN
|
||
|
||
1105 DSUM(J) = 0$
|
||
|
||
1108 FOR M = (1,1,17)$
|
||
|
||
1119 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2).
|
||
|
||
1119 (R(M+1)*J.SIN(M.0.034906585.J)
|
||
|
||
1142 - R(M)*J.SIN((M-1).0.034906585.J))$
|
||
|
||
1173 FOR M = (18,1,28)$
|
||
|
||
1184 DSUM(J) = DSUM(J) + (R(M)*2 + R(M+1)*2.(R(M+1)*J.
|
||
|
||
1199 SIN((0.59341195 + (M-17).0.017453293).J)
|
||
|
||
1208 - R(M)*J.SIN((0.59341195
|
||
|
||
1220 + (M-18).0.017453293).J)))
|
||
|
||
1235 END$
|
||
|
||
1242 FOR NU = (4,4,N-1)$
|
||
|
||
1256 BEGIN
|
||
|
||
1256 HA(2NU-1) = 0$
|
||
|
||
1262 FOR J = (4,4,NU)$
|
||
|
||
1273 HA(2NU-1) = HA(2NU-1) + A(NU,J).DSUM(J)$
|
||
|
||
1294 HA(2NU-1) = 4.0.HA(2NU-1)
|
||
|
||
1305 END$
|
||
|
||
1306 WRITE ($$ COEFTITLE)$
|
||
|
||
1310 WRITE ($$ COEFFS, VECTOR)$
|
||
|
||
1318 FOR J = (4,4,N-1)$
|
||
|
||
1332 BEGIN
|
||
|
||
1332 HAA(J) = 0$
|
||
|
||
1335 FOR NU = (J,4,N-1)$
|
||
|
||
1349 HAA(J) = HAA(J) + HA(2NU-1).A(NU,J)
|
||
|
||
1366 END$
|
||
|
||
1367 FOR M = (1,1,18)$
|
||
|
||
1378 BEGIN
|
||
|
||
1378 HFN(M) = 0$
|
||
|
||
1381 FOR J = (4,4,N-1)$
|
||
|
||
1395 HFN(M) = HFN(M) + HAA(J).R(M)*J.COS((M-1).0.034906585.J)
|
||
|
||
1414 END$
|
||
|
||
1422 FOR M = (19,1,29)$
|
||
|
||
1433 BEGIN
|
||
|
||
1433 HFN(M) = 0$
|
||
|
||
1436 FOR J = (4,4,N-1)$
|
||
|
||
1450 HFN(M) = HFN(M) + HAA(J).R(M)*J.
|
||
|
||
1461 COS((0.59341195 + (M-18).0.017453293).J)
|
||
|
||
1470 END$
|
||
|
||
1478 WRITE ($$ BDYVALUES)$
|
||
|
||
1482 WRITE ($$ HFNRES, VECTOR)$
|
||
|
||
1490 AVT = 0$
|
||
|
||
1491 FOR M = (1,1,29)$
|
||
|
||
1502 AVT = AVT + R(M)*2 - HFN(M)$
|
||
|
||
1510 CONST = AVT/29.0$
|
||
|
||
1514 WRITE ($$ CONTITLE)$
|
||
|
||
1518 WRITE ($$ CRES, VECTOR)$
|
||
|
||
1526 FOR M = (1,1,29)$
|
||
|
||
1537 HFN(M) = CONST + HFN(M)$
|
||
|
||
1543 WRITE ($$ CBDYVALUES)$
|
||
|
||
1547 WRITE ($$ HFNRES, VECTOR)$
|
||
|
||
1555 FOR I = (1,1,5)$
|
||
|
||
1566 BEGIN
|
||
|
||
1569 TH = 5.(I-1)$
|
||
|
||
1571 FOR J = (1,1,5)$
|
||
|
||
1582 BEGIN
|
||
|
||
1582 HFCN(J) = CONST$
|
||
|
||
1586 FOR M = (4,4,N-1)$
|
||
|
||
1600 HFCN(J) = HFCN(J) + HAA(M).(0.5.J)*M.COS((I-1).0.087266463.M)
|
||
|
||
1621 END$
|
||
|
||
1629 WRITE ($$ TABLEHEAD)$
|
||
|
||
1633 WRITE ($$ TABLELINE)$
|
||
|
||
1637 WRITE ($$ TABLETH)$
|
||
|
||
1641 WRITE ($$ HFCNRES, TABLE)
|
||
|
||
1645 END$
|
||
|
||
1650 FOR I = (6,1,10)$
|
||
|
||
1661 BEGIN
|
||
|
||
1664 TH = 5.(I-1)$
|
||
|
||
1666 FOR J = (1,1,6)$
|
||
|
||
1677 BEGIN
|
||
|
||
1677 HFCEN(J) = CONST$
|
||
|
||
1681 FOR M = (4,4,N-1)$
|
||
|
||
1695 HFCEN(J) = HFCEN(J) + HAA(M).(0.5.J)*M.
|
||
|
||
1708 COS((I-1).0.087266463.M)
|
||
|
||
1716 END$
|
||
|
||
1724 WRITE ($$ HFCNRES, TABLE)
|
||
|
||
1728 END$
|
||
|
||
1733 STOP 1234$
|
||
|
||
1735 GO TO RDIM$
|
||
|
||
1736 FINISH$
|
||
COMPILED PROGRAM ENDS AT 1737
|
||
PROGRAM VARIABLES BEGIN AT 2308
|
||
|
||
|
||
|
||
|
||
|
||
FRESULTS,FA(I,J)
|
||
|
||
|
||
.46363974, 00 .00000000, 00 .00000000, 00 .00000000, 00 .23764092,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71568320,-02 .00000000, 00 .00000000, 00 .10859771, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .11793550,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.46675562,-02 .00000000, 00 .00000000, 00 .45596608,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .66280897,-02 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .23645567,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .40349229,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .13723588,-01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.25944880,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .85504589,-02 .00000000, 00 .00000000, 00 .00000000, 00 .17352779,-02
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.55925944,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .37885968,-02
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .26349488,-02 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .18701734,-02
|
||
|
||
|
||
|
||
|
||
BRESULTS,B(I,J)
|
||
|
||
|
||
.14686208, 01 .00000000, 00 .00000000, 00 .00000000, 00 .23764092,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71568320,-02 .00000000, 00 .00000000, 00 .15172588, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .11793550,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.46675562,-02 .00000000, 00 .00000000, 00 .15610344, 01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .66280897,-02 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .16257926, 01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .40349229,-02 .00000000, 00 .00000000, 00 -.31208976, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .17884576, 01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.29613151,-02 .00000000, 00 .00000000, 00 -.41973579, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .19547472, 01 .00000000, 00 .00000000, 00 .00000000, 00 .22421675,-02
|
||
.00000000, 00 .00000000, 00 -.45621891, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.20996803, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.47127521, 00 .00000000, 00 .00000000, 00 .00000000, 00 .22450409, 01
|
||
.00000000, 00 .00000000, 00 .24615528, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
-.62017172, 00 .00000000, 00 .00000000, 00 .00000000, 00 .26021732, 01 .00000000, 00
|
||
.00000000, 00 .45290390, 00 .00000000, 00 .00000000, 00 .00000000, 00 -.84088526, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .31976200, 01
|
||
|
||
|
||
|
||
|
||
ARESULTS,A(I,J)
|
||
|
||
|
||
.14686208, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .15172588, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .15610344, 01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .16257926, 01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 -.45834151, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .17884576, 01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 -.63684782, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .19547472, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71217341, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.20996803, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.76619574, 00 .00000000, 00 .00000000, 00 .00000000, 00 .22450409, 01
|
||
.00000000, 00 .00000000, 00 .64575920, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
-.11091508, 01 .00000000, 00 .00000000, 00 .00000000, 00 .26021732, 01 .00000000, 00
|
||
.00000000, 00 .12226884, 01 .00000000, 00 .00000000, 00 .00000000, 00 -.16437181, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .31976200, 01
|
||
HA(8NU-1)
|
||
|
||
.50545968, 01 .42274676, 01
|
||
|
||
PRELIMINARY BOUNDARY VALUES
|
||
|
||
|
||
.49796075,-03 .79116856,-02 .39293002,-01 .12059664, 00 .28013582, 00 .52195922, 00
|
||
.74267199, 00 .54385334, 00 -.10833437, 01 .15377222,-03 .12638536,-03 .35622222,-04
|
||
-.14939203,-03 -.46393697,-03 -.94592537,-03 -.16334448,-02 -.25616609,-02 -.37591899,-02
|
||
-.49674793,-02 -.64370032,-02 -.81955279,-02 -.10268522,-01 -.12678082,-01 -.15441807,-01
|
||
-.18571693,-01 -.22073044,-01 -.25943471,-01 -.30172002,-01 -.34738328,-01
|
||
CONSTANT
|
||
|
||
.93176158,-01
|
||
CORRECTED BOUNDARY VALUES
|
||
|
||
.93674119,-01 .10108784, 00 .13246916, 00 .21377280, 00 .37331198, 00 .61513538, 00
|
||
.83584815, 00 .63702950, 00 -.99016754, 00 .93329930,-01 .93302543,-01 .93211780,-01
|
||
.93026766,-01 .92712221,-01 .92230233,-01 .91542713,-01 .90614497,-01 .89416968,-01
|
||
.88208679,-01 .86739155,-01 .84980630,-01 .82907636,-01 .80498076,-01 .77734351,-01
|
||
.74604465,-01 .71103114,-01 .67232687,-01 .63004156,-01 .58437830,-01
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
0 .44141589, 00 .14562672, 02 .26853741, 03 .25094061, 04 .14676440, 05
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
5 .41397671, 00 .12041988, 02 .21011008, 03 .19361708, 04 .11276597, 05
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
10 .33798103, 00 .55551163, 01 .61639051, 02 .48302017, 03 .26638223, 04
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
15 .23022242, 00 -.21629137, 01 -.10892449, 03 -.11749048, 04 -.71436015, 04
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
20 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
25 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
30 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
35 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
40 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
45 .11237182, 00 -.79607594, 01 -.22410075, 03 -.22692027, 04 -.13574641, 05
|
||
|