mirror of
https://github.com/pkimpel/retro-220.git
synced 2026-04-06 05:32:25 +00:00
480 lines
15 KiB
Plaintext
480 lines
15 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 .23764104,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71568347,-02 .00000000, 00 .00000000, 00 .10859770, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .11793551,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.46675578,-02 .00000000, 00 .00000000, 00 .45596588,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .66280898,-02 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .23645548,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .40349226,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .13723587,-01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.25944878,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .85504586,-02 .00000000, 00 .00000000, 00 .00000000, 00 .17352776,-02
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.55925943,-02 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .37885967,-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 .23764104,-01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71568347,-02 .00000000, 00 .00000000, 00 .15172589, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .11793551,-01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.46675578,-02 .00000000, 00 .00000000, 00 .15610347, 01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .66280898,-02 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .16257932, 01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .40349226,-02 .00000000, 00 .00000000, 00 -.31208993, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .17884578, 01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.29613152,-02 .00000000, 00 .00000000, 00 -.41973587, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .19547473, 01 .00000000, 00 .00000000, 00 .00000000, 00 .22421675,-02
|
||
.00000000, 00 .00000000, 00 -.45621904, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.20996803, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.47127538, 00 .00000000, 00 .00000000, 00 .00000000, 00 .22450411, 01
|
||
.00000000, 00 .00000000, 00 .24615538, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
-.62017180, 00 .00000000, 00 .00000000, 00 .00000000, 00 .26021732, 01 .00000000, 00
|
||
.00000000, 00 .45290409, 00 .00000000, 00 .00000000, 00 .00000000, 00 -.84088537, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .31976202, 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 .15172589, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .15610347, 01 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .16257932, 01 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 -.45834176, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .17884578, 01 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 .00000000, 00 -.63684798, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .19547473, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 .00000000, 00 -.71217375, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.20996803, 01 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
.00000000, 00 -.76619630, 00 .00000000, 00 .00000000, 00 .00000000, 00 .22450411, 01
|
||
.00000000, 00 .00000000, 00 .64575954, 00 .00000000, 00 .00000000, 00 .00000000, 00
|
||
-.11091510, 01 .00000000, 00 .00000000, 00 .00000000, 00 .26021732, 01 .00000000, 00
|
||
.00000000, 00 .12226889, 01 .00000000, 00 .00000000, 00 .00000000, 00 -.16437184, 01
|
||
.00000000, 00 .00000000, 00 .00000000, 00 .31976202, 01
|
||
HA(8NU-1)
|
||
|
||
.50545980, 01 .42274664, 01
|
||
|
||
PRELIMINARY BOUNDARY VALUES
|
||
|
||
|
||
.49796109,-03 .79116912,-02 .39293030,-01 .12059672, 00 .28013604, 00 .52195968, 00
|
||
.74267286, 00 .54385490, 00 -.10833408, 01 .15377240,-03 .12638557,-03 .35622571,-04
|
||
-.14939181,-03 -.46393693,-03 -.94592558,-03 -.16334454,-02 -.25616621,-02 -.37591919,-02
|
||
-.49674820,-02 -.64370066,-02 -.81955319,-02 -.10268529,-01 -.12678090,-01 -.15441817,-01
|
||
-.18571706,-01 -.22073060,-01 -.25943490,-01 -.30172023,-01 -.34738354,-01
|
||
CONSTANT
|
||
|
||
.93175934,-01
|
||
CORRECTED BOUNDARY VALUES
|
||
|
||
.93673895,-01 .10108762, 00 .13246896, 00 .21377265, 00 .37331197, 00 .61513561, 00
|
||
.83584879, 00 .63703083, 00 -.99016490, 00 .93329706,-01 .93302319,-01 .93211556,-01
|
||
.93026543,-01 .92711998,-01 .92230009,-01 .91542489,-01 .90614272,-01 .89416743,-01
|
||
.88208452,-01 .86738928,-01 .84980403,-01 .82907405,-01 .80497844,-01 .77734117,-01
|
||
.74604228,-01 .71102874,-01 .67232444,-01 .63003911,-01 .58437580,-01
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
0 .44141586, 00 .14562673, 02 .26853738, 03 .25094056, 04 .14676438, 05
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
5 .41397669, 00 .12041991, 02 .21011010, 03 .19361709, 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 .33798099, 00 .55551219, 01 .61639132, 02 .48302088, 03 .26638265, 04
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
15 .23022240, 00 -.21629082, 01 -.10892441, 03 -.11749041, 04 -.71435976, 04
|
||
THE VALUES OF H(RHO,TH) IN B
|
||
|
||
|
||
RHO 0.5 1.0 1.5 2.0 2.5 3.0
|
||
TH
|
||
20 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
25 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
30 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
35 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
40 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
45 .11237168, 00 -.79607559, 01 -.22410068, 03 -.22692020, 04 -.13574638, 05
|
||
|