You are on page 1of 22

PENG ROBINSON PRESSURE CALCULATION

Components in the order iC5H12, iC4H10 , n-C4H10


import numpy as np

T=373.15

V=0.00025

n=.25

y=[.23,.54,.23]

Tc=[460.444,408.167,425.222]

Pc=[3381189,3648016,3796943]

W=[.2273,.1756,.1928]

R=8.31434

b=[]

for i in range(0,3):

b.append(.07796*R*Tc[i]/Pc[i])

ac=[]

for i in range(0,3):

ac.append(.4572358*R*R*Tc[i]*Tc[i]/Pc[i])

Tr=[]

for i in range(0,3):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,3):

alpha.append(np.square(1+(.3676+1.54226*W[i]-.26992*W[i]*W[i]*W[i]*W[i])*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,3):

a.append(alpha[i]*ac[i])

bsum=0
for i in range(0,3):

bsum=bsum+b[i]*y[i]

Kij=[[0,0.0045736,0.0022413],

[0.0045736,0,0.0131134],

[0.0022413,0.0131134,0]]

asum=0

for i in range(0,4):

for j in range(0,4):

asum=asum+(np.sqrt(a[i]*a[j]))*y[i]*y[j]*(1-Kij[i][j])

Vmolar=V/n

P=R*T/(Vmolar-bsum)-asum/(Vmolar*(Vmolar+bsum) + bsum*(Vmolar-bsum))

RESULT=P=Pa
SRK PRESSURE CALCULATION
Components in the order iC5H12, iC4H10 , n-C4H10
import numpy as np

T=373.15

V=0.00025

n=.25

y=[.23,.54,.23]

Tc=[460.444,408.167,425.222]

Pc=[3381189,3648016,3796943]
W=[.2273,.1756,.1928]

R=8.31434

b=[]

for i in range(0,3):

b.append(.08664*R*Tc[i]/Pc[i])

ac=[]

for i in range(0,3):

ac.append(.42748*R*R*Tc[i]*Tc[i]/Pc[i])

Tr=[]

for i in range(0,3):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,3):

alpha.append(np.square(1+(.3676+1.54226*W[i]-.26992*W[i]*W[i]*W[i]*W[i])*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,3):

a.append(alpha[i]*ac[i])

bsum=0

for i in range(0,3):

bsum=bsum+b[i]*y[i]

Kij=[[0,0.0045736,0.0022413],

[0.0045736,0,0.0131134],

[0.0022413,0.0131134,0]]

asum=0

for i in range(0,3):
for j in range(0,3):

asum=asum+(np.sqrt(a[i]*a[j]))*y[i]*y[j]*(1-Kij[i][j])

Vmolar=V/n

P=R*T/(Vmolar-bsum)-asum/(Vmolar*(Vmolar+bsum))

RESULT=P= Pa
ER EOS PRESSURE CALCULATION
Components in the order iC5H12, iC4H10 , n-C4H10
import numpy as np

T=373.15

V=0.00025

n=.25

y=[.23,.54,.23]

Tc=[460.444,408.167,425.222]

Pc=[3381189,3648016,3796943]

W=[.2273,.1756,.1928]
R=8.31434

epsilon=[]

for i in range(0,3):

epsilon.append(.3284438 - 0.0690264*W[i] + 0.0078711*W[i]*W[i])

m1=[]

for i in range(0,3):

m1.append(0.999035-0.01061842*W[i] - 0.0081174*W[i]*W[i])

m2=[]

for i in range(0,3):

m2.append(0.4400108 + 1.5297151*W[i] - 0.4710752*W[i]*W[i])

Wcnew=[]

Wc=[0.0002,0.0002,0.0002,0.0002]

for i in range(0,3):

for j in range(0,1000):

x=Wc[i]-(Wc[i]*Wc[i]*Wc[i] + (3*epsilon[i]-5/8)*Wc[i]*Wc[i] + (3*epsilon[i]*epsilon[i]-


3*epsilon[i]/4)*Wc[i] + epsilon[i]*epsilon[i]*epsilon[i] - 3*epsilon[i]*epsilon[i]/8)/(3*Wc[i]*Wc[i] +
2*(3*epsilon[i]-5/8)*Wc[i] + (3*epsilon[i]*epsilon[i]-3*epsilon[i]/4))

Wcnew.append(x)

Wb=[]

for i in range(0,3):

Wb.append(Wcnew[i]*2 - 1 + 3*epsilon[i])

Wa=[]

for i in range(0,3):

Wa.append(3*epsilon[i]*epsilon[i] + Wcnew[i]*Wcnew[i] + 2*Wcnew[i]*Wb[i] + 2*Wcnew[i])


Tr=[]

for i in range(0,3):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,3):

alpha.append(np.square(m1[i] + m2[i]*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,3):

a.append(Wa[i]*alpha[i]*R*R*Tc[i]*Tc[i]/Pc[i])

b=[]

for i in range(0,3):

b.append((Wb[i])*R*Tc[i]/Pc[i])

c=[]

for i in range(0,3):

c.append((Wc[i])*R*Tc[i]/Pc[i])

Kij=[[0,0.0045736,0.0022413],

[0.0045736,0,0.0131134],

[0.0022413,0.0131134,0]]

bsum=0

for i in range(0,3):

bsum=bsum+b[i]*y[i]

asum=0

for i in range(0,3):

for j in range(0,3):
asum=asum+(np.sqrt(a[i]*a[j]))*y[i]*y[j]*(1-Kij[i][j])

csum=0

for i in range(0,3):

csum=csum+c[i]*y[i]

Vmolar=V/n

P=R*T/(Vmolar-bsum)-asum/(Vmolar*(Vmolar+csum) + csum*(Vmolar-csum))

RESULT=P= Pa
SCHMIDT WENZEL EQUATION OF STATE
def main():

T=373.15

V=0.00025

n=.25

X=[.18,.38,.32,.12]

Y=[0,0.0045736,0.0022413,0.015324,0.0045736,0,0.0131134,0.0032212,0.0022413,0.0131134,0,0.0
288643,0.0153243,0.0032212,0.0288643,0]

P=0

y=0
atotal = 0

h = n ** 2

x=n

R = 8.314

result = []

A = []

i=0

B=0

W1 = W2 = 0

while x > 0:

Tc = float(input("Enter critical temperature"))

Pc = float(input("Enter critical pressure"))

w = float(input("Enter Eccentric Factor"))

z = float(input("Enter Compressibility Factor"))

Tr = T / Tc

p = 1.65437 * (10 ** 6)

q = (0.25989 - (0.02170 * w) + (0.00375 * (w ** 2)))

u = (1.0) / (3.0 * (1.0 + q * w))

Oa = (1.0 - u * (1.0 - q)) ** 3.0

Ob = u * q

ac = (Oa * (R ** 2.0) * (Tc ** 2.0)) / (Pc)

b = (Ob * R * Tc) / Pc

B += (X[i] * b)

if w <= 0.4:

m0 = 0.5361 + 0.9593 * w

m1 = m0 + (1.0 / 70.0) * ((5.0 * Tr - 3.0 * m0 - 1.0) ** 2.0)

m = m1

if w >= 0.55:

m0 = 0.5361 + 0.9593 * w

m2 = m0 + 0.71 * ((Tr - 0.779) ** 2.0)

m = m2
if (w > 0.4) & (w < 0.55):

m0 = 0.53613 + 0.9593 * w

m1 = m0 + (1.0 / 70.0) * ((5.0 * Tr - 3.0 * m0 - 1.0) ** 2.0)

m2 = m0 + 0.71 * ((Tr - 0.779) ** 2.0)

m = (((w - 0.4) / 0.15) * m2 + ((0.55 - w) / 0.15) * m1)

alpha = (1.0 + m * (1.0 - (Tr ** 0.5)) ** 2.0)

a = (ac * alpha)

A.append(a)

W1 += (w * z * (b ** 0.7))

W2 += (z * (b ** 0.7))

i += 1

x -= 1

W = W1 / W2

k=0

for l in range(len(X)):

for j in range(len(X)):

result.append(X[l] * X[j] * (1.0 - Y[k]) * ((A[l] * A[j]) ** 0.5))

k += 1

for i in range(len(result)):

atotal += result[i]

P = (((R * T) / (v - B)) - ((atotal) / ((v ** 2.0) - ((1.0 + 3.0 * W) * B * v) - 3.0 * W * (B ** 2.0))))

print("Total pressure is:", p)

RESULT

Total pressure is: 2454370.0 Pa

PENG ROBINSON DENSITY CALCULATION

import numpy as np

T=305
P=9000000

M=[]

for i in range(1,8):

M.append(12*i+2*i+2)

TcR=[343.1,549.8,665.7,765.4,845.4,913.4,972.5]

Tc=[]

for i in range(0,7):

Tc.append(TcR[i]*5/9)

Pcpsia=[667.8,707.8,616.3,550.7,488.6,436.9,396.8]

Pc=[]

for i in range(0,7):

Pc.append(Pcpsia[i]*6894.757)

R=8.31434

W=[.0115,0.0908,.1454,.1928,.2510,.2957,.3506]

b=[]

for i in range(0,7):

b.append(.07796*R*Tc[i]/Pc[i])

ac=[]

for i in range(0,7):

ac.append(.4572358*R*R*Tc[i]*Tc[i]/Pc[i])

Tr=[]

for i in range(0,7):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,7):

alpha.append(np.square(1+(.3676+1.54226*W[i]-.26992*W[i]*W[i]*W[i]*W[i])*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,7):

a.append(alpha[i]*ac[i])

molarvolume=[]
for k in range(0,7):

Vold=R*T/P

for j in range(0,1000):

Vnew=Vold-(Vold*Vold*Vold-(R*T/P-(b[k]))*Vold*Vold+((a[k])/P-2*(b[k])*R*T/P-
3*(b[k])*(b[k]))*Vold-(b[k])*((a[k])/P-R*T*(b[k])/P-(b[k])*(b[k])))/(3*Vold*Vold-2*(R*T/P-
(b[k]))*Vold+((a[k])/P-2*(b[k])*R*T/P-3*(b[k])*(b[k])))

Vold=Vnew

molarvolume.append(Vnew)

density=[]

for i in range(0,7):

density.append(M[i]/molarvolume[i])

RESULT
[C1 = 66554.15150000951,
C2 = 358054.9915975826,
C3 = 530636.87785576,
C4 = 610432.477740392,
C5 = 646302.4349603085,
C6 = 662459.3529253175,
C7 = 674465.3169116456]
SRK DENSITY CALCULATION
import numpy as np

T=305

P=9000000

M=[]

for i in range(1,8):

M.append(12*i+2*i+2)

TcR=[343.1,549.8,665.7,765.4,845.4,913.4,972.5]

Tc=[]
for i in range(0,7):

Tc.append(TcR[i]*5/9)

Pcpsia=[667.8,707.8,616.3,550.7,488.6,436.9,396.8]

Pc=[]

for i in range(0,7):

Pc.append(Pcpsia[i]*6894.757)

R=8.31434

W=[.0115,0.0908,.1454,.1928,.2510,.2957,.3506]

b=[]

for i in range(0,7):

b.append(.07796*R*Tc[i]/Pc[i])

ac=[]

for i in range(0,7):

ac.append(.4572358*R*R*Tc[i]*Tc[i]/Pc[i])

Tr=[]

for i in range(0,7):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,7):

alpha.append(np.square(1+(.3676+1.54226*W[i]-.26992*W[i]*W[i]*W[i]*W[i])*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,7):

a.append(alpha[i]*ac[i])

molarvolume=[]

for k in range(0,7):

Vold=R*T/P

for j in range(0,1000):
Vnew=Vold-(Vold*Vold*Vold-(R*T/P-(b[k]))*Vold*Vold+((a[k])/P-2*(b[k])*R*T/P-
3*(b[k])*(b[k]))*Vold-(b[k])*((a[k])/P-R*T*(b[k])/P-(b[k])*(b[k])))/(3*Vold*Vold-2*(R*T/P-
(b[k]))*Vold+((a[k])/P-2*(b[k])*R*T/P-3*(b[k])*(b[k])))

Vold=Vnew

molarvolume.append(Vnew)

density=[]

for i in range(0,7):

density.append(M[i]/molarvolume[i])

RESULT
[C1 = 65363.97804904146,
C2 = 323658.1605260193,
C3 = 467285.26699523284,
C4 = 537107.0728983728,
C5 = 569682.1887205985,
C6 = 585045.4491980635,
C7 = 596684.4105679914]
ER EOS DENSITY CALCULATION
import numpy as np

T=305

P=9000000

M=[]

for i in range(1,8):

M.append(12*i+2*i+2)

TcR=[343.1,549.8,665.7,765.4,845.4,913.4,972.5]

Tc=[]
for i in range(0,7):

Tc.append(TcR[i]*5/9)

Pcpsia=[667.8,707.8,616.3,550.7,488.6,436.9,396.8]

Pc=[]

for i in range(0,7):

Pc.append(Pcpsia[i]*6894.757)

R=8.31434

W=[.0115,0.0908,.1454,.1928,.2510,.2957,.3506]

epsilon=[]

for i in range(0,7):

epsilon.append(.3284438 - 0.0690264*W[i] + 0.0078711*W[i]*W[i])

m1=[]

for i in range(0,7):

m1.append(0.999035-0.01061842*W[i] - 0.0081174*W[i]*W[i])

m2=[]

for i in range(0,7):

m2.append(0.4400108 + 1.5297151*W[i] - 0.4710752*W[i]*W[i])

Wcnew=[]

Wc=[0.0000000002,0.0000000002,0.0000000002,0.0000000002,0.0000000002,0.0000000002,0.000
0000002]

for i in range(0,7):

for j in range(0,1000):

x=Wc[i]-(Wc[i]*Wc[i]*Wc[i] + (3*epsilon[i]-5/8)*Wc[i]*Wc[i] + (3*epsilon[i]*epsilon[i]-


3*epsilon[i]/4)*Wc[i] + epsilon[i]*epsilon[i]*epsilon[i] - 3*epsilon[i]*epsilon[i]/8)/(3*Wc[i]*Wc[i] +
2*(3*epsilon[i]-5/8)*Wc[i] + (3*epsilon[i]*epsilon[i]-3*epsilon[i]/4))

Wcnew.append(x)

Wb=[]

for i in range(0,7):
Wb.append(Wcnew[i]*2 - 1 + 3*epsilon[i])

Wa=[]

for i in range(0,7):

Wa.append(3*epsilon[i]*epsilon[i] + Wcnew[i]*Wcnew[i] + 2*Wcnew[i]*Wb[i] + 2*Wcnew[i])

Tr=[]

for i in range(0,7):

Tr.append(T/Tc[i])

alpha=[]

for i in range(0,7):

alpha.append(np.square(m1[i] + m2[i]*(1-np.sqrt(Tr[i]))))

a=[]

for i in range(0,7):

a.append(Wa[i]*alpha[i]*R*R*Tc[i]*Tc[i]/Pc[i])

b=[]

for i in range(0,7):

b.append((Wb[i])*R*Tc[i]/Pc[i])

c=[]

for i in range(0,7):

c.append((Wcnew[i])*R*Tc[i]/Pc[i])

molarvolume=[]

for k in range(0,7):

Vold=R*T/P
for j in range(0,1000):

Vnew=Vold-(Vold*Vold*Vold+(-R*T/P-(b[k])+2*c[k])*Vold*Vold+((a[k])/P-2*(c[k])*R*T/P-
(c[k])*(c[k])-2*(c[k])*(b[k]))*Vold+(-
(a[k])*(b[k])/P+R*T*(c[k])*(c[k])/P+(c[k])*(c[k])*(b[k])))/(3*Vold*Vold+2*(-R*T/P-
(b[k])+2*c[k])*Vold+((a[k])/P-2*(c[k])*R*T/P-(c[k])*(c[k])-2*(c[k])*(b[k])))

Vold=Vnew

molarvolume.append(Vold)

density=[]

for i in range(0,7):

density.append(M[i]/molarvolume[i])

RESULT

[C1 = 61552.83456036932,

C2 = 188622.04559511042,

C3 = 278920.4229058403,

C4 = 313686.5826660238,

C5 = 312607.36271450255,

C6 = 303709.85367997224,

C7 = 285523.63076281955]

You might also like