1
0
mirror of https://github.com/retro-software/B5500-software.git synced 2026-03-02 17:44:40 +00:00
Files
Paul Kimpel 2c72f7fd1d Commit CUBE Library version 13 of February 1972.
1. Commit library tape images, directories, and extracted text files.
2. Commit additional utilities under Unisys-Emode-Tools.
2018-05-27 11:24:23 -07:00

150 lines
11 KiB
Plaintext

LABEL 0000000000XXXXXX0010000001
$ CARD LIST
BEGIN
COMMENT THE REAL ARRAYS, TR2S1, TR2S2[0:N,0:N], TR1S1, TR1S2[0:N],
MUST BE DECLARED IN THE MAIN PROGRAM ;
REAL ARRAY TR1S1, TR1S2[0:10], TR2S1, TR2S2[0:10, 0:10] ;
PROCEDURE PMVL(NN, MM, N, A, C, SQ, EX, GAMMA) ; PMVL 1
PMVL 2
COMMENT THIS PROCEDURE COMPUTES ACTIVITY COEFFICIENTS OF MULTI- PMVL 3
COMPONENT SYSTEMS, USING MODIFIED VAN LAAR EQUATION (BY PMVL 4
CLINE BLACK), PMVL 5
PMVL 6
CHIEN-SHIH LU PMVL 7
PROFESSIONAL SERVICES GROUP, BURROUGHS CORPORATION, PMVL 8
FIRST RELEASE DATE: 12-1-63 PMVL 9
PMVL 10
THE INPUT PARAMETERS ARE PMVL 11
NN - NUMBER OF CLASSES, INTEGER PMVL 12
MM - NUMBER OF COMPONENTS, INTEGER PMVL 13
N - CLASS IDENTIFIER, INTEGER ARRAY, PMVL 14
FOR QUATERNARY SYSTEM OF THREE CLASSES, THE ARRAY PMVL 15
1,3,4 INDICATES THAT THE FIRST AND THE SECOND COM- PMVL 16
PONENTS BELONG TO THE CLASS ONE, THE THIRD COMPONENTPMVL 17
BELONGS TO THE CLASS TWO, AND THE FOURTH COMPONENT PMVL 18
BELONGS TO THE CLASS THREE, PMVL 19
A - VAN LAAR COEFFICIENTS, REAL ARRAY PMVL 20
C - MODIFICATION COEFFICIENTS, REAL ARRAY PMVL 21
SQ - EMPIRICAL COEFFICIENTS, REAL ARRAY PMVL 22
THE NUMERICAL VALUES OF SQ[I] MAY BE OBTAINED BY THEPMVL 23
RELATIONSHIP PMVL 24
SQ[I] ~ (A[I,J] - C[I,J]) / (A[J,I] - C[I,J) PMVL 25
WHERE J DENOTE THE KEY COMPONENT AND SQ[J] ~ 1, PMVL 26
EX - MOL FRACTIONS, REAL ARRAY PMVL 27
PMVL 28
THE OUTPUT PARAMETER IS PMVL 29
GAMMA - ACTIVITY COEFFICIENTS, REAL ARRAY ; PMVL 30
PMVL 31
VALUE NN, MM, N, A, C, SQ, EX ; PMVL 32
GAMMA - ACTIVITY COEFFICIENTS, REAL ARRAY ; PMVL 30
PMVL 31
VALUE NN,MM, N, A, C, SQ, EX ; PMVL 32
INTEGER NN, MM ; PMVL 33
INTEGER ARRAY N[0] ; PMVL 34
REAL ARRAY A, C[0,0], SQ, EX, GAMMA[0] ; PMVL 35
PMVL 36
BEGIN PMVL 37
PMVL 38
INTEGER I, J, K, M, R, S, R1, S1, SK, SM, SR, SS, M1 ; PMVL 39
REAL Q, TRS1, TRS2, TRS3, TRS4, TRS5, TRS6, CESI ; PMVL 40
LABEL L1, L2, L3 ; PMVL 42
PMVL 43
Q ~ 0 ; PMVL 44
FOR I ~ 1 STEP 1 UNTIL MM DO PMVL 45
Q ~ Q + SQ[I] | EX[I] ; PMVL 46
PMVL 47
FOR I ~ 1 STEP 1 UNTIL MM DO PMVL 48
BEGIN PMVL 49
PMVL 50
FOR J ~ 1 STEP 1 UNTIL MM DO PMVL 51
BEGIN PMVL 52
TR2S1[I,J] ~ A[I,J] - C[I,J] ; PMVL 53
TR2S2[I,J] ~ TR2S1[I,J] / SQ[I] PMVL 54
END ; PMVL 55
TR1S1[I] ~ SQ[I] | EX[I] / Q ; PMVL 56
END ; PMVL 57
PMVL 58
FOR I ~ 1 STEP 1 UNTIL NN DO PMVL 59
BEGIN PMVL 60
TRS1 ~ 0 ; PMVL 61
PMVL 62
FOR J ~ 1 STEP 1 UNTIL (N[I] - N[I-1]) DO PMVL 63
TRS1 ~ TRS1 + EX[N[I-1]+J] ; PMVL 64
TR1S2[I] ~ TRS1 PMVL 65
END ; PMVL 66
S ~ 1 ; K ~ N[S] ; PMVL 67
PMVL 69
FOR I ~ 1 STEP 1 UNTIL MM DO PMVL 70
BEGIN PMVL 71
IF I > K THEN PMVL 72
BEGIN PMVL 73
S ~ S + 1 ; K ~ N[S] PMVL 74
END ; PMVL 76
TRS1 ~ TRS2 ~ TRS3 ~ 0 ; PMVL 77
PMVL 78
FOR R ~ 1 STEP 1 UNTIL NN DO PMVL 79
BEGIN PMVL 80
IF R ! S THEN PMVL 81
BEGIN PMVL 82
TRS4 ~ TRS5 ~ 0 ; PMVL 83
PMVL 84
FOR R1 ~ 1 STEP 1 UNTIL (N[R] - N[R-1]) DO PMVL 85
BEGIN PMVL 86
SR ~ R1 + N[R-1] ; PMVL 87
TRS4 ~ TRS4 + C[I,SR] | EX[SR] ; PMVL 88
PMVL 89
FOR S1 ~ 1 STEP 1 UNTIL (N[S] - N[S-1]) DO PMVL 90
BEGIN PMVL 91
SS ~ S1 + N[S-1] ; PMVL 92
TRS5 ~ TRS5 + C[SS,SR] | EX[SS] | EX[SR] PMVL 93
END ; PMVL 94
END ; PMVL 95
TRS6 ~ TR1S2[S] - TR1S2[R] ; PMVL 96
TRS1 ~ TRS6 | TRS6 | TRS4 + TRS1 ; PMVL 97
TRS2 ~ TRS2 + TRS6 | (2 - 3 | TRS6) | TRS5 ; PMVL 98
PMVL 99
FOR M ~ 1 STEP 1 UNTIL NN DO PMVL 100
BEGIN PMVL 101
IF M = R OR M = S THEN GO TO L1 ; PMVL 102
TRS6 ~ 0 ; PMVL 103
PMVL 104
FOR R1 ~ 1 STEP 1 UNTIL (N[R] - N[R-1]) DO PMVL 105
BEGIN PMVL 106
SR ~ R1 + N[R-1] ; PMVL 107
PMVL 108
FOR M1 ~ 1 STEP 1 UNTIL (N[M] - N[M-1]) DO PMVL 109
BEGIN PMVL 110
SM ~ M1 + N[M-1] ; PMVL 111
TRS6 ~ TRS6 + C[SR,SM] | EX[SR] | EX[SM] PMVL 112
END ; PMVL 113
END ; PMVL 114
TRS3 ~ TRS3 + (TR1S2[R] - TR1S2[M]) * 2 | TRS6 ; PMVL 115
L1: END ; PMVL 116
END ; PMVL 117
END ; PMVL 118
CESI ~ TRS1 + TRS2 - 3 | TRS3 / 2 ; PMVL 119
TRS1 ~ TRS2 ~ 0 ; PMVL 120
PMVL 121
FOR J ~ 1 STEP 1 UNTIL MM DO PMVL 122
BEGIN PMVL 123
TRS1 ~ TRS1 + TR2S2[I,J] | TR1S1[J] * 2 ; PMVL 124
TRS3 ~ 0 ; PMVL 125
PMVL 126
FOR SK ~ 1 STEP 1 UNTIL MM DO PMVL 127
BEGIN PMVL 128
IF SK = J THEN GO TO L3 ; PMVL 129
TRS3 ~ TRS3 + TR1S1[J] | TR1S1[SK] | (TR2S2[I,J] + PMVL 130
TR2S2[I,SK] - TR2S2[J,SK]) ; PMVL 131
L3: END ; PMVL 132
TRS2 ~ TRS2 + TRS3 ; PMVL 133
L2: END ; PMVL 134
GAMMA[I] ~ SQ[I] | (TRS1 + 0.5 | TRS2) + CESI ; PMVL 135
GAMMA[I] ~ EXP(GAMMA[I] | 2.302585) ; PMVL 136
END ; PMVL 137
END PMVL ; PMVL 138
END.