En esta ocasión continuaré con las correlaciones del factor Z.
Comenzaré
por la correlación de Hall, K.R. y Yarborough, L., la cual tiene los siguientes
rangos 0.1 <= Ppr <= 24 y 1.2 <= Tpr <= 3
t
= 485.9/(194+460) # Tpc (Temperatura Pseudocritica )/T
def
DDF(Y,t):
A = 0.06125*t*np.exp(-1.2*(1-t)**2)
B = (14.76*t-9.76*t**2+4.58*t**3)
C = (90.7*t-242.2*t**2+42.4*t**3)
D = 2.18+2.82*t
Y =
-A*Ppr+((Y+(Y**2)+(Y**3)-(Y**4))/((1-Y)**3))-B*(Y**2)+C*(Y**D)
return Y
Y
= 0.01
conteo
= 0
error
= 1
while
error > 0.0000001:
dy =
((DDF(Y,t)+0.0001)-DDF(Y,t))/0.0001
yn = Y-DDF(Y,t)/dy
conteo = conteo + 1
error = (yn-Y)/yn
Y = yn
z
=(0.06125*Ppr*t*np.exp(-1.2*(1-t)**2))/Y
print("Hall","------",round(z,4))
La
siguiente correlación es la de Dranchuk, P.M., Purvis, R.A. y Robinson, D.B. la
cual tiene los siguientes rangos 0.2 <= Ppr <= 30 y 1.05 <= Tpr <=
3
Z = 0.6000 # Z propuesta
A1 = 0.31506237
A2 = -1.0467099
A3 = -0.57832729
A4 = 0.53530771
A5 = -0.61232032
A6 = -0.10488813
A7 = 0.68157001
A8 = 0.68446549
error = 1
while error >
0.000000001:
Pr = 0.27*(Ppr/(Z*Tpr))
F =
Z-(1+((A1+(A2/Tpr)+(A3/(Tpr**3)))*Pr)+((A4+(A5/Tpr))*(Pr**2))+((A5*A6*Pr**5)/Tpr)+A7*(1+A8*(Pr**2))*((Pr**2)/(Tpr**3))*(np.exp(-A8*Pr**2)))
G =
1+((A1+(A2/Tpr)+(A3/(Tpr**3)))*(Pr/Z))+(2*(A4+(A5/Tpr))*((Pr**2)/Z))+((5*A5*A6*Pr**5)/(Tpr*Z))+((2*A7*(Pr**2))/(Z*(Tpr**3)))*(1+(A8*(Pr**2))-((A8*(Pr**2))**2))*(np.exp(-A8*(Pr**2)))
Z2 = Z-(F/G)
error = (Z2-Z)/Z2
Z = Z2
print("Dranchuck","-",round(Z,4))
Pr
último, está la correlación de Dranchuk, P.M. y Abou-Kassem, J.H., la cual
tiene los siguientes rangos 0.2 <= Ppr <= 30 y 1 <= Tpr <= 3.
A1 = 0.3265
A2 = -1.07
A3 = -0.5339
A4 = 0.01569
A5 = -0.05165
A6 = 0.5475
A7 = -0.7361
A8 = 0.1844
A9 = 0.1056
A10 = 0.6134
A11 = 0.721
error = 1
Z = 0.6000
while error > 0.00000001:
Pr = (0.27*Ppr)/(Z*Tpr)
F =
Z-(1+(A1+(A2/Tpr)+(A3/(Tpr**3))+(A4/(Tpr**4))+(A5/(Tpr**5)))*Pr+(A6+(A7/Tpr)+(A8/(Tpr**2)))*(Pr**2)-A9*((A7/Tpr)+(A8/(Tpr**2)))*(Pr**5)+A10*(1+A11*(Pr**2))*((Pr**2)/(Tpr**3))*np.exp(-A11*Pr**2))
G =
1+(A1+(A2/Tpr)+(A3/(Tpr**3))+(A4/(Tpr**4))+(A5/(Tpr**5)))*(Pr/Z)+2*(A6+(A7/Tpr)+(A8/(Tpr**2)))*((Pr**2)/Z)-5*A9*((A7/Tpr)+(A8/(Tpr**2)))*((Pr**5)/Z)+((2*A10*(Pr**2))/(Z*(Tpr**3)))*(1+(A11*(Pr**2))-((A11**2)*(Pr**2)**2))*np.exp(-A11*Pr**2)
Z2 = Z-(F/G)
error = (Z2-Z)/Z2
Z = Z2
print("Dranchuck","-",round(Z,4))