Sei sulla pagina 1di 17

UNIVERSIDAD MAYOR DE SAN ANDRS

INGENIERA PETROLERA

JUSTIFICACIN.-

La razn por la cual se realiza este programa para el clculo de la temperatura del
reservorio en un yacimiento o reservorio de gas, es debido a que con los datos
conocidos como el peso molecular del gas del reservorio, la densidad del gas y la
viscosidad del mismo, Lee-Gonzales-Aekin, desarrolla una relacin para poder
calcular la viscosidad de los gases naturales, para lo cual este expresa dicha
relacin en trminos de temperatura, de donde si se tiene como dato la
viscosidad de dicho gas, es posible resolver dicha ecuacin no lineal, para poder
determinar la temperatura del reservorio. Pero debemos hacer notar que dicha
ecuacin no es fcil de resolver manualmente, debido a que demandara mucho
tiempo en poder resolver dicha ecuacin.

Este programa est diseado para que el usuario pueda introducir los datos que
se dan y as poder encontrar la solucin a esta ecuacin mediante iteraciones que
se realiza, por ello el programa realizar todas las iteraciones necesarias para
poder encontrar la solucin, de manar ,ms rpida que si se lo hara
manualmente.

DEFINICIN DEL PROBLEMA.-

El problema que representa la solucin a la ecuacin o relacin planteada por Lee-


Gonzales-Aekin, para poder hallar la temperatura del reservorio, est en que es
imposible poder despejar dicha variable de temperatura del la ecuacin. Por lo
tanto para poder resolver el problema es necesario emplear mtodos numricos,
con los cuales podamos hallar la solucin a este problema.

Los programas computacionales, ayudarn a resolver este problema, adems de


emplear y escoger un buen mtodo numrico para la iteracin, de la ecuacin no
lineal. Por ello viendo las posibilidades de utilizar un mtodo numrico, se decide
que para este caso, se utilizar el mtodo de Newton Raphson. Que es un mtodo
iterativo para la resolucin de este tipo de problemas.

En nuestro caso primeramente plantearemos el problema y veremos las variables


intervinientes en la ecuacin, luego analizaremos el problema para elaborar el
algoritmo a ser utilizado, para luego pasar a la programacin de dicho mtodo en
un programa computacional.

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

OBJETIVOS.-

Los objetivos planteados para este caso son los siguientes:

Determinar la temperatura del reservorio utilizando la relacin de Lee-


Gonzales-Aekin.

Disear el algoritmo para poder programar la resolucin de dicha relacin.

Disear el programa en un programa de programacin para poder aplicar


mtodos numricos en la resolucin del problema.

Una vez diseado el programa, ejecutar el mismo para poder calcular la


temperatura del reservorio utilizando la relacin de Lee-Gonzales-Aekin.

Aplicar el mtodo de Newton Raphson para la resolucin del problema.

Plantear un problema prctico y resolverlo utilizando el programa diseado


para aplicar mtodos numricos.

MARCO TERICO.-

Para entender y predecir el comportamiento volumtrico de los reservorios de gas


y petrleo como funcin de la presin, debemos tener conocimiento de las
propiedades fsicas de los fluidos del reservorio. Estas propiedades de fluidos son
normalmente determinadas por experimentos en laboratorio efectuados en
muestras de los fluidos reales del reservorio. En ausencia de propiedades
medidas experimentalmente, es necesario, en ingeniera petrolera, determinar las
propiedades mediante correlaciones derivadas empricamente. El objetivo es
conocer una de las correlaciones para propiedades fsicas bien establecidas para
los gases naturales, tal es el caso de la correlacin de Lee-Gonzales-Aekin.

El conocimiento de las relaciones presin-volumen-temperatura (PVT) y las dems


propiedades fsicas y qumicas de los gases es esencial para resolver problemas
en ingeniera de reservorios del gas natural. Estas propiedades incluyen:

Peso molecular aparente, Ma

Gravedad especfica, g

Factor de compresibilidad, z

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Densidad, g

Volumen especfico, v

Coeficiente de compresibilidad isotrmica del gas, cg

Factor volumtrico de formacin del gas, Bg

Factor de expansin del gas, Eg

Viscosidad, g

Estas propiedades del gas pueden obtenerse de medidas directas en laboratorio o


por prediccin de expresiones matemticas generalizadas. Se revisarn las leyes
que describen el comportamiento volumtrico de los gases en trminos de
presin y temperatura y correlaciones matemticas que son ampliamente usadas
en la determinacin de las propiedades fsicas de los gases naturales.

VISCOSIDAD DEL GAS

La viscosidad del gas es la medida de la friccin interna del fluido o resistencia al


flujo que afecta a la cada de presin por influjo del reservorio al agujero del pozo
y a lo largo de las instalaciones. Si la friccin entre capas del fluido es pequea, o
sea, baja viscosidad, una fuerza distribuida aplicada resultar en un gradiente de
velocidad grande. Mientras la viscosidad aumenta, cada capa del fluido ejerce una
mayor friccin de arrastre en las capas adyacentes y el gradiente de velocidad
decrece.

La viscosidad puede estimarse con precisin de correlaciones empricas.


Como todas las propiedades intensivas, la viscosidad del gas natural es descrito
completamente por la siguiente funcin:

g = f(p,T,yi)
donde g = viscosidad de la fase gas.

La relacin anterior simplemente establece que la viscosidad es una funcin de la


presin, temperatura, y composicin. Varias de las correlaciones para la
viscosidad del gas ampliamente usadas pueden ser vistas como modificaciones
de la expresin anterior.

MTODOS DE CLCULO DE LA VISCOSIDAD DEL GAS NATURAL

Tres mtodos populares que son comnmente usados en la industria petrolera


son:

Mtodo de Carr-Kobayashi-Burrows
Mtodo de Standing-Dempsey
PROGRAMACIN APLICADA (PET - 230)
JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Mtodo de Lee-Gonzalez-Eakin

Mtodo de Lee-Gonzalez-Eakin

Lee, Gonzalez y Eakin (1966) presentaron una relacin semi-emprica para


calcular la viscosidad de los gases naturales. Los autores expresaron la viscosidad
del gas en trminos de la temperatura del reservorio, densidad del gas y el peso
molecular del gas. Su ecuacin propuesta est dada por:

g
Y
X
62.4
g 10 Ke4

Donde

(9.4 0.02 M a )T 1.5


K
209 19 M a T

X 5.3518
3

Y 2 .4 0 .2 X
4

g = densidad del gas a presin y temperatura del reservorio, lb/ft 3

T = temperatura del reservorio, R

Ma = peso molecular aparente de la mezcla del gas

La correlacin propuesta puede predecir valores de viscosidad con una desviacin


estndar de 2.7% y una desviacin mxima de 8.99%. La correlacin es menos
exacta para gases con gravedades especficas muy altas.

RESOLUCIN DEL PROBLEMA.-

Mientras se quiera calcular la viscosidad teniendo como dato a la temperatura del


reservorio no se tiene inconvenientes para reemplazar los datos manualmente y
resolver la ecuacin.

El problema principal radica cuando se quiera conocer la temperatura del


reservorio en estudio, ya que cuando se tiene el dato de la viscosidad del gas se
deber predecir o calcular la temperatura del reservorio con los datos del gas que

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

se est extrayendo del mismo. Es decir que cuando queramos resolver la


ecuacin planteada para hallar la temperatura del reservorio, deberemos utilizar
mtodos numricos para la resolucin de esta ecuacin.

Veamos entonces el desarrollo de esta ecuacin:


g
Y
X
62.4
g 10 Ke
4

Donde

(9.4 0.02 M a )T 1.5


K
209 19 M a T

X 5.3518
3

Y 2.4 0.2 X
4

g = densidad del gas a presin y temperatura del reservorio, lb/ft 3

T = temperatura del reservorio, R

Ma = peso molecular aparente de la mezcla del gas

Si reemplazamos las ecuaciones 2,3 y 4 en 1 que es la ecuacin principal se tiene:

2 . 4 0 .2 X
g
5.3518
(9.4 0.02M a )T
1.5
62.4

g 10 * 4
*e
209 19 M a T

Ordenando y reemplazando nuevamente la ecc 3 en el trmino Y finalmente se


tiene:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

g
1.32 96
5.3518
62.4
(9.4 0.02 M a )T
1.5

g 10 *
4
*e
209 19 M a T

Donde observamos que el hecho de despejar el trmino T (temperatura del


reservorio), pues resulta muy dificultoso, por lo tanto se debern utilizar mtodos
numricos para su resolucin, cuando se quiera calcular T.

MTODO NUMRICO.-

Para este caso realizaremos iteraciones, para resolver esta ecuacin no lineal, en
donde el mtodo numrico a ser utilizado ser el de Newton-Raphson. Este
mtodo, que es un mtodo iterativo, es uno de los ms usados y efectivos.

El mtodo de Newton-Raphson no trabaja sobre un intervalo sino que basa su


frmula en un proceso iterativo. En anlisis numrico, el mtodo de Newton-
Raphson (conocido tambin como el mtodo de Newton o el mtodo de Newton-
Fourier) es un algoritmo eficiente para encontrar aproximaciones de los ceros
races de una funcin real.

DESCRIPCIN DEL MTODO.-

La idea de este mtodo es la siguiente: se comienza con un valor razonablemente


cercano al cero (denominado punto de arranque), entonces se reemplaza la
funcin por la recta tangente en ese valor, se iguala a cero y se despeja
(fcilmente, por ser una ecuacin lineal). Este cero ser, generalmente, una
aproximacin mejor a la raz de la funcin. Luego, se aplican tantas iteraciones
como se deseen.

Supongamos que tenemos la aproximacin xi a la raz xr de f(x),

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Trazamos la recta tangente a la curva en el punto (xi, f(xi)); sta cruza al eje x en
un punto xi+1 que ser nuestra siguiente aproximacin a la raz xr.

Para calcular el punto xi+1, calculamos primero la ecuacin de la recta tangente.


Sabemos que tiene pendiente

m = f(xi)

Y por lo tanto la ecuacin de la recta tangente es:

y f(xi) = f(xi)(x xi)

Hacemos y = 0:

- f(xi) = f(xi)(x - xi)

Y despejamos x:

f ( xi )
x xi
f ' ( xi )

Que es la frmula iterativa de Newton-Raphson para calcular la siguiente


aproximacin:
f ( xi )
xi 1 xi
f ' ( xi ) f ' ( xi ) 0
si

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

APLICACIN DEL MTODO AL CASO EN ESTUDIO.-

Para poder aplicar el mtodo de Newton-Raphson a nuestro problema en cuestin,


f ( xi ) f ' ( xi )
debemos generar las funciones y , que en nuestro caso deben ser:

f (Ti ) f ' (Ti )


y

Utilizando la ecuacin planteada se tiene:


g
1.3 29 6
5.3518
62.4
(9.4 0.02M a )T 1.5

g 10 * 4
*e
209 19 M a T

f (Ti )
Por lo tanto =0 ser de la siguiente manera:

g
1.32 9 6
5.3518
62.4
(9.4 0.02 M a )T 1.5

f (Ti ) 0 10 * 4
*e
g
209 19M a T

f ' (Ti )
Y para poder calcular , ser necesario derivar la anterior ecuacin:
g
1.3296
5.3518
62.4
(9.4 0.02 M a )T 0.5 (9.4 0.02 M a )T 1.5
4
f ' (Ti ) 10 * e
* 1.5 2

209 19 M a T 209 19 M a T

Ordenando:
g
1.3296
5.3518
(9.4 0.02 M a )T 0. 5
T 1
62.4

f ' (Ti ) 10 4 * * 1.5 * e

209 19 M a T 209 19 M a T

Reemplazando estos valores en la frmula iterativa de Newton-Raphson:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

f (Ti )
Ti 1 Ti
f ' (Ti )

Don de queda de la siguiente manera:


g
1.3296
5.3518
4(9.4 0.02M a )T 1.5
62.4

0 10 * *e
g
209 19M a T
Ti 1 Ti 1.3296
g
5.3518
(9.4 0.02 M a )T
0.5
T 1
62.4

10 *
4
* 1.5 *e

209 19M a T

209 19M a T

Esta ltima ecuacin es la que ser programada en el visual Basic:

CDIGO UTILIZADO EN VISUAL BASIC:

El cdigo para desarrollar el programa es el siguiente:

El cdigo para el mdulo es:

Dim m, d, u As Double

Dim A, B, C As Double

Function f(x)

'f = ((10 ^ -4)) * 9.817 * (x ^ 1.5) * Exp(0.3661244) / (605.15 + x) - 0.0173

f = ((10 ^ -4)) * A * (x ^ 1.5) * Exp(C) / (B + x) - u

'f = ((10 ^ (-4)) * (9.4 + (0.002 * m)) * (x ^ (1.5)) * Exp(5.3518 * (((8.3) / 62.4) ^
(1.3296))) / ((209 + (19 * m)) + x)) - u

'f = 0.0001 * (9.4 + (0.02 * m)) * (x ^ 1.5) * Exp(5.3518 * ((d / 62.4) ^ 1.3296)) /
(209 + (19 * m) + x) - u

'f = 0.0001 * (9.4 + (0.02 * m)) * (x ^ 1.5) * Exp(5.3518 * ((8.3 / 62.4) ^


1.3296)) / (209 + (19 * m) + x) - u

End Function

Function df(x)

'df = (10 ^ -4) * 9.817 * (x ^ 0.5) * Exp(0.3661244) * (1.5 - (x / (605.15 + x))) /


(605.15 + x)

df = ((10 ^ -4)) * A * (x ^ 0.5) * Exp(C) * (1.5 - (x / (B + x))) / (B + x)


PROGRAMACIN APLICADA (PET - 230)
JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

'df = ((10 ^ (-4)) * (9.4 + (0.002 * m)) * (x ^ (0.5)) * Exp(5.3518 * (((8.3) / 62.4) ^
(1.3296))) / ((209 + (19 * m)) + x)) * (1.5 - (x / (209 + (19 * m) + x)))

'df = 0.0001 * (9.4 + (0.02 * m)) * (x ^ 0.5) * Exp(5.3518 * ((d / 62.4) ^ 1.3296)) *
(1.5 - (x / (209 + (19 * m) + x))) / (209 + (19 * m) + x)

'df = 0.0001 * (9.4 + (0.02 * m)) * (x ^ 0.5) * Exp(5.3518 * ((8.3 / 62.4) ^


1.3296)) * (1.5 - (x / (209 + (19 * m) + x))) / (209 + (19 * m) + x)

End Function

El cdigo utilizado en el formulario correspondiente es:

Private Sub Command1_Click()


Label6.Caption = ""
mat.Clear

' Definimos una matriz, para almacenar nuestros datos


mat.TextMatrix(0, 0) = "Interacin"
mat.TextMatrix(0, 1) = "Error"
mat.TextMatrix(0, 2) = "Valor aprox."

' Nos damos un valor de tolerancia en el Error


tol = Val(Tole.Text)

'Definimos el valor inicial de T


xo = Val(Text1.Text)

'Introducimos los datos


Dim m As Double
Dim d As Double
Dim u As Double

m = Val(mtex.Text)
d = Val(dtex.Text)
u = Val(utex.Text)

mat.TextMatrix(1, 2) = xo
mat.TextMatrix(1, 0) = "--"
mat.TextMatrix(1, 1) = "--"
sw = 0
For i = 1 To 100
PROGRAMACIN APLICADA (PET - 230)
JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

x = xo - (f(xo) / df(xo))
dif = Abs(x - xo)
If Abs(dif) <= tol Then
sw = 1
i = 100
Else
xo = x
mat.CellAlignment = flexAlignRightCenter
mat.TextMatrix(i + 1, 2) = Format(xo, "######,######0.00000")
mat.TextMatrix(i + 1, 1) = Format(dif, "######,######0.00000")
mat.TextMatrix(i + 1, 0) = i
End If
Next i
If sw = 1 Then
Label6.Caption = Format(x, "########,########0.00000000")
Else
Label6.Caption = "Error"
End If
End Sub

Private Sub Command2_Click()


mtex = ""
dtex = ""
utex = ""
Tole = ""
Text1.Text = ""
Label6.Caption = ""
mat.Clear
mtex.SetFocus
End Sub

Private Sub Command3_Click()


End
End Sub

Private Sub dtex_KeyPress(KeyAscii As Integer)


If (Chr(KeyAscii) >= "0" And Chr(KeyAscii) > "9" Or Chr(KeyAscii) = 13) Then
Beep
KeyAscii = 0
End If
If (Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "-" Or
Chr(KeyAscii) = "+" Or Chr(KeyAscii) = ",") Then
Beep
KeyAscii = 0
End If
If KeyAscii = 13 Then
PROGRAMACIN APLICADA (PET - 230)
JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

utex.SetFocus
End If
End Sub
Private Sub Form_Load()
Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
End Sub

Private Sub mtex_KeyPress(KeyAscii As Integer)


If (Chr(KeyAscii) >= "0" And Chr(KeyAscii) > "9" Or Chr(KeyAscii) = 13) Then
Beep
KeyAscii = 0
End If
If (Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "-" Or
Chr(KeyAscii) = "+" Or Chr(KeyAscii) = ",") Then
Beep
KeyAscii = 0
End If
If KeyAscii = 13 Then
dtex.SetFocus
End If
End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)


If (Chr(KeyAscii) >= "0" And Chr(KeyAscii) > "9" Or Chr(KeyAscii) = 13) Then
Beep
KeyAscii = 0
End If
If (Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "-" Or
Chr(KeyAscii) = "+" Or Chr(KeyAscii) = ",") Then
Beep
KeyAscii = 0
End If
If KeyAscii = 13 Then
Tole.SetFocus
End If
End Sub

Private Sub Tole_KeyPress(KeyAscii As Integer)


If (Chr(KeyAscii) >= "0" And Chr(KeyAscii) > "9" Or Chr(KeyAscii) = 13) Then
Beep
KeyAscii = 0
End If
If (Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "-" Or
Chr(KeyAscii) = "+" Or Chr(KeyAscii) = ",") Then
Beep
PROGRAMACIN APLICADA (PET - 230)
JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

KeyAscii = 0
End If
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub

Private Sub utex_KeyPress(KeyAscii As Integer)


If (Chr(KeyAscii) >= "0" And Chr(KeyAscii) > "9" Or Chr(KeyAscii) = 13) Then
Beep
KeyAscii = 0
End If
If (Chr(KeyAscii) = "/" Or Chr(KeyAscii) = "*" Or Chr(KeyAscii) = "-" Or
Chr(KeyAscii) = "+" Or Chr(KeyAscii) = ",") Then
Beep
KeyAscii = 0
End If
If KeyAscii = 13 Then
Text1.SetFocus
End If
End Sub

USO DEL PROGRAMA.-

Para el uso del programa nicamente debemos tener como datos los siguientes
parmetros que se obtienen de laboratorio:

Luego de haber ingresado los datos debemos ingresar la tolerancia o error que se
desea en la iteracin, y luego seleccionar un T inicial, el cual para facilitar el
clculo tomaremos como parmetro a T inicial como Ti=100 [R]:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Si todos los datos ingresados son correctos, solo quedar realizar la iteracin;
para ello hacemos click en el comando Calcular. Y el programa automticamente
calcular y mostrar las iteraciones realizadas, adems del valor de T calculado
para la tolerancia dada.

En caso de querer realizar un nuevo clculo o iteracin se debe hacer click en


Nuevo para que se borren las anteriores variables utilizadas, y empezar un nuevo
clculo.

En caso de querer mejorar la iteracin se debe hacer click en el comando


Modificar, con lo cual se habilita el texto donde se cambiar la tolerancia o el error
permisible.

Ejemplo

Calcular la Temperatura de la formacin del un gas que cuenta con los siguientes
datos, usando el mtodo de Lee-Gonzalez-Eakin:

g 8 .3
lb/f3

g 0.0173
cp

Ma 20.85
lb/lb-mol

Solucin:

Introducimos los datos en el programa:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Para lo cual usamos un valor inicial de: T= 100

Y una tolerancia de 0.1

Donde al hacer click en calcular se tendr el siguiente resultado:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

Donde s queremos mejorar la iteracin podemos cambiar la tolerancia, haciendo


click en modificar:

PROGRAMACIN APLICADA (PET - 230)


JSV
UNIVERSIDAD MAYOR DE SAN ANDRS
INGENIERA PETROLERA

En este caso se cambia el valor de la tolerancia y tambin se cambia el valor de T


inicial por T=10,

Donde para ver el resultado se hace click en Calcular nuevamente:

En donde observamos que el nmero de iteraciones esta vez es mayor, y asi


podremos ir probando con distintos valores.

BIBLIOGRAFA UTILIZADA.-

La bibiliografa utilizada para desarrollar este programa fue:

INGENIERA DE RESERVORIOS I, Autor: Ing. Hermas Herrera


Callejas; La Paz, Febrero de 2011

PROGRAMACIN APLICADA , Autor: Ing. Hermas Herrera


Callejas; La Paz, Febrero de 2011

COMPENDIO DE MATLAB PARA INGENIERA Autor: Ing. Caarlos J. Torrico


Guerrero; La Paz Bolivia 2008

PROGRAMACIN APLICADA (PET - 230)


JSV

Potrebbero piacerti anche