Sie sind auf Seite 1von 5

TAREA 3

1. Un sistema hidrocarburo tiene la siguiente composición:

Componente Zi
C1 0.38
C2 0.11
C3 0.03
iC4 0.02
nC4 0.03
iC5 0.03
nC5 0.03
C6 0.06
C7+ 0.31

Dados:

Presión del Sistema: 800 Psia


Temperatura del Sistema: 200° F
Gravedad específica C7+: 0.82
Peso Molecular C7+: 168

Calcular:

I. Las relaciones de equilibrio por los siguientes métodos:

a. Correlación de Wilson
b. Correlación de Standing
c. Correlación de Whitson and Torp

II. Hallar la relación de equilibrio del C7+ por el Método de Campbell usando las
temperaturas críticas y las relaciones de equilibrio hasta el C6 calculadas con
la correlación de Whitson and Torp.

III. Hacer los cálculos flash y hallar la composición de las fases líquida y gaseosa.
Use las relaciones de equilibrio calculadas con Wilson.
2. Un sistema de hidrocarburos con la siguiente composición existe en su punto de
burbuja de 3250 psia y 155°F:

Componente Zi
CO2 0.008
N2 0.002
C1 0.45
C2 0.06
C3 0.07
iC4 0.015
nC4 0.015
iC5 0.004
nC5 0.006
C6 0.04
C7+ 0.33

El crudo es pasado por dos separadores y un tanque de almacenamiento (Stock-Tank)


en las facilidades de superficie. Las condiciones de operación de los tres separadores
son:

Separador Presión (Psia) Temperatura (°F)


1 300 70
2 250 70
Stock-Tank 14.7 60

Si el peso molecular y la gravedad específica de los heptanos plus son 220 y 0.825,
calcular:

a. La densidad del aceite a condiciones de yacimiento con la correlación de


Standing-Katz.
b. Haga los cálculos flash para cada uno de los separadores y el Stock-Tank.
c. El factor volumétrico, el GOR, la densidad a condiciones Stock-Tank en
superficie y la gravedad API del crudo.

Nota: Hagan los cálculos en Excel y entreguen los resultados a mano y las gráficas
necesarias impresas.

Calcule las propiedades del C7+ (Pc y Tc) con la correlación de Standing, la
temperatura de ebullición con Riazi-Daubert (Forma Larga) y el factor acéntrico con
Edmister.
CÓDIGO PARA EL CÁLCULO DE LA DENSIDAD DEL CRUDO

Sub Rho_Yacimiento()
Dim MW() As Double, RHOi() As Double, Vi() As Double, mi() As Double
Dim mc1 As Double, mc2 As Double, RhoC3 As Double, RhoC2 As Double
Dim SumVi As Double, CorrP As Double, CorrT As Double, Rhost As Double

Dim PR As Double, TR As Double

ReDim MW(11), RHOi(11), Z(11), Vi(11), mi(11)

PR = Cells(row,col)
TR = Cells(row,col)
Sum = 0

'Calculos para la densidad del aceite a condiciones de yacimiento

For i = 1 To 11
Z(i) = Cells(row + i, col)
MW(i) = Cells(row + i, col)
mi(i) = Z(i) * MW(i)
Cells(row + i,col) = mi(i)
MWa = Sum + mi(i)
Sum = MWa
Next i
Cells(row, col) = MWa

SumVi = 0
For i = 5 To 11
RHOi(i) = Cells(row + i, col)
Vi(i) = mi(i) / RHOi(i)
Cells(row + i, col) = Vi(i)
SumVi = SumVi + Vi(i)
Next i

mc1 = mi(3) / MWa * 100


mc2 = mi(4) / (MWa - mi(3)) * 100
RhoC3 = (MWa - mi(3) - mi(4)) / SumVi
RhoC2 = RhoC3 * (1 - 0.01386 * mc2 - 0.000082 * mc2 ^ 2) + 0.379 * mc2 + 0.0042 *
mc2 ^ 2
Rhost = RhoC2 * (1 - 0.012 * mc1 - 0.000158 * mc1 ^ 2) + 0.0133 * mc1 + 0.00058 *
mc1 ^ 2
CorrP = (0.000167 + 0.016181 * 10 ^ (-0.0425 * Rhost)) * PR - 0.00000001 * (0.299 +
263 * 10 ^ (-0.0603 * Rhost) * PR ^ 2)
CorrT = ((TR - 60) * (0.0133 + 152.4 * (Rhost + CorrP) ^ -2.45) - (TR - 60) ^ 2 *
(0.0000081 - 0.0622 * 10 ^ (-0.0764 * (Rhost + CorrP))))
Rho = Rhost + CorrP - CorrT
Cells(row,col) = Rho
End Sub

Sub Rho_Stock_Tank()
Dim MW() As Double, RHOi() As Double, Vi() As Double, MWast As Double
Dim mc1 As Double, mc2 As Double, RhoC3 As Double, RhoC2 As Double
Dim SumVi As Double, GEst As Double, API As Double, mi() As Double
Dim GOR As Double, Bo As Double, Rhost As Double

ReDim MW(11), RHOi(11), Z(11), Vi(11), mi(11)

Sum = 0

'Calculos para la densidad del aceite a condiciones del Stock-Tank

For i = 1 To 11
Z(i) = Cells(row + i, col)
MW(i) = Cells(row + i, col)
mi(i) = Z(i) * MW(i)
Cells(row + i, col) = mi(i)
MWast = Sum + mi(i)
Sum = MWast
Next i
Cells(row, col) = MWast

SumVi = 0
For i = 5 To 11
RHOi(i) = Cells(row + i,col)
Vi(i) = mi(i) / RHOi(i)
Cells(row + i,col) = Vi(i)
SumVi = SumVi + Vi(i)
Next i

mc1 = mi(3) / MWast * 100


mc2 = mi(4) / (MWast - mi(3)) * 100
RhoC3 = (MWast - mi(3) - mi(4)) / SumVi
RhoC2 = RhoC3 * (1 - 0.01386 * mc2 - 0.000082 * mc2 ^ 2) + 0.379 * mc2 + 0.0042 *
mc2 ^ 2
Rhost = RhoC2 * (1 - 0.012 * mc1 - 0.000158 * mc1 ^ 2) + 0.0133 * mc1 + 0.00058 *
mc1 ^ 2
Cells(row, col) = Rhost
GEst = Rhost / 62.4
Cells(row, col) = GEst
API = 141.5 / GEst - 131.5
GOR = 2130.331 * nvt * Rhost / (nlst * MWast)
Bo = MWa * Rhost / (Rho * nlst * MWast)
Cells(row, col) = API
Cells(row, col) = GOR
Cells(row, col) = Bo
End Sub

El anterior código péguenlo como un procedimiento aparte. Para llamar estos


procedimientos, solo deben añadir al código principal las siguientes líneas:

Call Rho_Yacimiento
Call Rho_Stock_Tank

CÓDIGO PARA EL PRIMER SEPARADOR

'Primer Separador

For i = 1 To 11
Z(i) = Cells(row + i, col)
Pc(i) = Cells(row + i, col)
Tc(i) = Cells(row + i, col)
w(i) = Cells(row + i, col)
k(i) = (Pc(i) / P1s) * Exp(5.37 * (1 + w(i)) * (1 - Tc(i) / T1s))
Next i

nvn = 0.1
Do
Sum = 0
Sum1 = 0
nv = nvn
For i = 1 To 11
fnv = Sum + (Z(i) * (k(i) - 1)) / (nvn * (k(i) - 1) + 1)
ffnv = -(Sum1 + (Z(i) * (k(i) - 1) ^ 2) / (nvn * (k(i) - 1) + 1) ^ 2)
Sum = fnv
Sum1 = -ffnv
Next i
nvn = nv - fnv / ffnv
Loop Until Abs(nvn - nv) < 0.00001
nl1 = 1 - nvn
Cells(row, col) = nvn
Cells(row, col) = nl1

For i = 1 To 11
X(i) = Z(i) / (nl1 + nvn * k(i))
Y(i) = X(i) * k(i)
Cells(row + i, col) = Z(i)
Cells(row + i, col) = k(i)
Cells(row + i, col) = X(i)
Cells(row + i, col) = Y(i)
Next i

Das könnte Ihnen auch gefallen