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

88 lines
6.9 KiB
Plaintext

PROCEDURE PEMW(M, E, A, C, D, EX, G) ; PEMW 1
PEMW 2
COMMENT THIS PROCEDURE COMPUTES ACTIVITY COEFFICIENTS OF BINARY, PEMW 3
TERNARY, AND QUATERNARY SYSTEMS, USING EXTENDED MARGULES PEMW 4
EQUATION (BY K. WOHL), PEMW 5
PEMW 6
CHIEN-SHIH LU PEMW 7
PROFESSIONAL SERVICES GROUP, BURROUGHS CORPORATION, PEMW 8
FIRST RELEASE DATE: 12-1-63 PEMW 9
PEMW 10
THE INPUT PARAMETERS ARE PEMW 11
M - NUMBER OF COMPONENTS, INTEGER PEMW 12
E - COEFFICIENT FOR THE MARGULES EQUATION, REAL PEMW 13
A - COEFFICIENTS FOR THE MARGULES EQUATION, REAL ARRAY PEMW 14
C - COEFFICIENTS FOR THE MARGULES EQUATION, REAL ARRAY PEMW 15
THE COEFFICIENT C[I,I,J,K] IS STORED IN C[10-(I+J+K),PEMW 16
I], PEMW 17
D - COEFFICIENTS FOR THE MARGULES EQUATION, REAL ARRAY PEMW 18
EX - MOLE FRACTIONS, REAL ARRAY PEMW 19
PEMW 20
THE OUTPUT PARAMETER IS PEMW 21
G - ACTIVITY COEFFICIENTS, REAL ARRAY ; PEMW 22
PEMW 23
VALUE M, E, A, C, D, EX ; PEMW 24
INTEGER M ; PEMW 25
REAL E ; PEMW 26
REAL ARRAY A, C, D[0,0], EX, G[0] ; PEMW 27
PEMW 28
BEGIN PEMW 29
PEMW 30
INTEGER I, J, K, II, MM, JJ ; PEMW 31
REAL TRS, TRS1, TRS2 ; PEMW 32
LABEL L1, L2, L3, L4, L5 ; PEMW 33
IF M = 3 THEN MM ~ 6 ELSE MM ~ 10 ; PEMW 34
PEMW 35
FOR I ~ 1 STEP 1 UNTIL M DO PEMW 36
BEGIN PEMW 37
TRS ~ 0 ; PEMW 38
PEMW 39
FOR J ~ 1 STEP 1 UNTIL M DO PEMW 40
BEGIN PEMW 41
IF J = I THEN GO TO L1 ; PEMW 42
TRS1 ~ A[I,J] + 2 | EX[I] | (A[J,I] - A[I,J] - D[I,J]) + PEMW 43
3 | EX[I] | EX[I] | D[I,J] ; PEMW 44
TRS ~ TRS + EX[J] | EX[J] | TRS1 ; PEMW 45
L1: END ; PEMW 46
IF M = 2 THEN PEMW 48
BEGIN PEMW 49
G[I] ~ TRS ; GO TO L2 PEMW 50
END ; PEMW 52
PEMW 53
FOR J ~ 1 STEP 1 UNTIL M DO PEMW 54
BEGIN PEMW 55
IF J = 1 THEN GO TO L3 ; PEMW 56
PEMW 57
FOR K ~ J STEP 1 UNTIL M DO PEMW 58
BEGIN PEMW 59
IF K = J OR K = I THEN GO TO L4 ; PEMW 60
II ~ MM - I - J - K ; PEMW 61
TRS1 ~ 0 ; PEMW 62
PEMW 63
FOR JJ ~ I, J, K DO PEMW 64
TRS1 ~ TRS1 + EX[JJ] | C[II,JJ] ; PEMW 66
TRS2 ~ 0.5 | (A[I,J] + A[J,I] + A[I,K] + A[K,I] - A[J,K] -PEMW 68
A[K,J]) + EX[I] | (A[J,I] - A[I,J] + A[K,I] - PEMW 69
A[I,K]) + (EX[K] - EX[J]) | (A[K,J] - A[J,K]) - PEMW 70
EX[I] | C[II,I] - (1 - 3 | EX[I]) | TRS1 ; PEMW 71
TRS1 ~ EX[J] | EX[K] ; PEMW 72
TRS ~ TRS + (TRS2 + 3 | TRS1 | D[J,K]) | TRS1 ; PEMW 73
L4: END ; PEMW 74
L3: END ; PEMW 75
IF M = 3 THEN PEMW 76
BEGIN PEMW 77
G[I] ~ TRS ; GO TO L2 ; PEMW 78
END ; PEMW 80
TRS1 ~ 1 ; TRS2 ~ 0 ; PEMW 81
PEMW 83
FOR J ~ 1 STEP 1 UNTIL M DO PEMW 84
BEGIN PEMW 85
IF I = J THEN GO TO L5 ; PEMW 86
TRS1 ~ TRS1 | EX[J] ; PEMW 87
TRS2 ~ TRS2 + C[ I,J] | EX[J] ; PEMW 88
L5: END ; PEMW 89
G[I] ~ TRS + TRS1 | (3 | TRS2 - (1 - 3 | EX[I]) | E) ; PEMW 90
L2: G[I] ~ EXP(G[I] | 2.302585) ; PEMW 91
END ; PEMW 92
END PEMW ; PEMW 93