Vous êtes sur la page 1sur 8

Luis E Brito Rodrguez

Compartiendo conceptos, procedimientos y experiencia sobre ingeniera de Yacimientos


y otros topicos

About
Excel VBA
Yacimientos

Funcin en VBA para el Calculo de z,


Dranchuk y Abou-kassem

Antes del advenimiento del uso extendido de las computadoras los resultados de
experimentos de laboratorio y clculos complejos eran traducidos a nomogramas, los
cuales son grficos que permiten obtener resultados mediante la entrada de ciertos
parmetros en los ejes o en curvas.

Standing y Katz desarrollaron un nomograma para obtener el valor del factor z, basado
en la graficacin de datos experimentales en mezcla de gases hasta presiones de 10000
lpca, el cual fue publicado en el ao 1942 (Transaction of AIME) y ha sido un estndar
de la industria por mucho tiempo. La figura muestra el nomograma de la correlacin de
Standing Katz, la cual se encuentra en la mayora de los libros de texto de Ingeniera de
Yacimientos.
En este articulo no vamos a entrar en los detalles del uso de este nomograma, solamente
queremos referirnos al trabajo realizado por Dranchuk y Abou-Kassem. Ellos hicieron
un ajustes de los puntos en el nomograma de standing katz utilizando la ecuacin de
estado de Starling. Esto permite que se puedan utilizar programas de computadora para
el calculo de z, en lugar de utilizar un mtodo grafico.

Dranchuk y Abou-Kassem ajustaron la ecuacin de estado a 1500 puntos, con un error


absoluto promedio de 0.486%.
La ecuacin de estado (EOS) esta dentro de la exactitud requerida para clculos de
ingeniera en el siguiente rango de presin y temperatura reducida (o pseudo reducida).

0.2 <= Pr < 30

1.0 < Tr < = 3.0

y para

pr<1.0 ; 0.7<Tr<1.0

La ecuacin da muy pobres resultados para

; Pr>=1.0

La ecuacin de Starling es una ecuacin de la forma:

Dranchuk y Abou-Kassem definieron las funciones en base a 11 constantes de A1 hasta


A11.
La ecuacin de z hay que resolverla por mtodos iterativos, porque aparece a ambos
lados de la igualdad, ya que

es una funcin de z.

Bsicamente lo que necesitamos es que ambos lados sean iguales, o que el lado derecho
menos el izquierdo sean igual a cero.
Podemos resolver la raz de f(z) numricamente utilizando el mtodo de regula falsi, o
el mtodo de Newton-Raphson.

En el mtodo de regula falsi o el de la secante debemos seleccionar dos puntos y


calcular el valor de la funcin f(z) en esos dos puntos.

En el mtodo de Newton-Raphson necesitamos, ademas del valor de la funcin en un


punto, obtener un valor analtico de la derivada de la funcin f(z). La derivada parcial
de la funcin f(z) con respecto a z manteniendo constante Tr es:

Con estos conceptos vamos a crear una funcin definida por el usuario en VBA para
calcular el valor de z, dados los valor de la temperatura y presin pseudo reducida (Tr y
Pr), utilizando el metodo de Newton-Raphson para resolver la ecuacin f(z)=0. A
continuacin el cdigo propuesto.

Public Function ZDRA(Tr As Double, Pr As Double) As Double


Dim A(1 To 11) As Double
Dim c1 As Double, c2 As Double, c3 As Double, c4 As Double
Dim rho As Double, z As Double, Count As Integer
Dim zn As Double, fofz As Double, dfdz As Double
Constantes de la ecuacin de estado
A(1) = 0.3265
A(2) = -1.07
A(3) = -0.5339
A(4) = 0.01569
A(5) = -0.05165
A(6) = 0.5475
A(7) = -0.7361
A(8) = 0.1844
A(9) = 0.1056
A(10) = 0.6134
A(11) = 0.721

Valor inicial de z
z = 1#

Calculo de la densidad
rho = 0.27 * Pr / (z * Tr)

Calculo de Constantes C
c1 = A(1) + A(2) / Tr + A(3) / Tr ^ 3 + A(4) / Tr ^ 4 + A(5) / Tr ^ 5
c2 = A(6) + A(7) / Tr + A(8) / Tr ^ 2
c3 = A(9) * (A(7) / Tr + A(8) / Tr ^ 2)
c4 = A(10) * (1 + A(11) * rho ^ 2) * (rho ^ 2 / Tr ^ 3) * Exp(-A(11) * rho ^ 2)

Count = 0

Iteracin utilizando el mtodo de Newton-Raphson


Ciclo de 100 iteraciones maximo para evitar un loop sin fin

For i = 1 To 100

zn = 1 + (c1 * rho) + c2 * rho ^ 2 c3 * rho ^ 5 + c4


fofz = z zn
Derivada de la funcin con respecto a z

dfdz = 1 + c1 * rho / zn + 2 * c2 * rho ^ 2 / zn + 5 * c3 * rho ^ 5 / zn + 2 * A(10) * rho


^ 2 / (zn * Tr ^ 3) * _
(1 + A(11) * rho ^ 2 ((A(11) * rho ^ 2) ^ 2) * Exp(-A(11) * rho ^ 2))

dz = -fofz / dfdz

z = z + dz
If Abs(z zn) > 0.00001 Then
rho = 0.27 * Pr / (z * Tr)
c4 = A(10) * (1 + A(11) * rho ^ 2) * (rho ^ 2 / Tr ^ 3) * Exp(-A(11) * rho ^ 2)
Count = Count + 1
Else
GoTo 10

End If

Next i
10: ZDRA = z

End Function

Referencias Bibliogrficas

https://www.e-education.psu.edu/png520/m8_p2.html

Dranchuk, P.M., and Abou-Kassem, J.H., Calculations of Z- Factor For Natural Gases
Using Equations of State, JCPT, July-Sept. 1975, P. 34.

Lee, J.: Gas Reservoir Engineering, SPE Textbook Series Vol. 5., 1996.

Prez Palacio, R.: Ingenieria de Gas Natural (Propiedades y Comportamiento de Fases).


Universidad Nacional de Colombia, Medellin, 1979.