T´ecnicas wavelets aplicadas en la soluci´on de sistemas de ecuaciones lineales provenientes de la soluci´on num´erica de ecuaciones
diferenciales en simulaci´on de pozos petroleros
Enrique Flores
∗, Edwin Vargas, Demetrio Rey
Instituto de Matem´atica y C´alculo Aplicado, Facultad de Ingenier´ıa, Universidad de Carabobo, B´arbula, Venezuela
Resumen.-
El presente trabajo presenta el uso de t´ecnicas wavelets en conjunto con m´etodos iterativos en la soluci´on num´erica de ecuaciones diferenciales que surgen del uso de m´etodos impl´ıcitos de diferencias finitas de orden superior, en el caso de una ecuaci´on diferencial en derivadas parciales que representa un modelo de simulaci´on en la industria petrolera. Se determinan el sistema de ecuaciones lineales proveniente del uso de diferencias finitas de orden superior para dos casos distintos del mismo modelo de simulaci´on, y se realiza la transformaci´on de dicho sistema a la base wavelet empleando la familia daubechies con distinta cantidad de coeficientes. Se determina la soluci´on exacta del sistema original, la soluci´on del sistema original y la soluci´on del sistema transformado a la base wavelet empleando el m´etodo iterativo BiCGSTAB sin precondicionamiento, midiendo en cada caso la cantidad de iteraciones para la convergencia y el error relativo en el c´alculo de la soluci´on aproximada. Se obtiene como resultado en los casos estudiados que la cantidad de iteraciones es similar para las distintas cantidades de coeficientes empleados, y que el error relativo var´ıa dependiendo de la cantidad de coeficientes empleados.
Palabras clave: Diferencias finitas, m´etodo iterativo, wavelets,
Wavelets techniques applied in solving systems of equations linear from the numerical solution of equations di fferentials simulation of oil wells
Abstract.-
This paper presents the use of wavelet techniques in conjunction with iterative methods in the numerical solution that arise from the use of implicit finite di fference methods of higher order differential equations in the case of a di fferential equation in partial derivatives representing a simulation model in the oil industry. The system of linear equations are determined from the use of finite difference higher order for two different cases of the same simulation model, and the transformation of that is done wavelet based system employing daubechies family with di fferent number of coe fficients. It is determined the exact solution of the original system, the solution of the original system and the transformed system solution using wavelet based BiCGSTAB iterative method without preconditioning, measuring in each case the number of iterations for convergence and the relative error in the calculation of the approximate solution. We obtained as a result in the case studies that the number of iterations is similar for the different amounts of coefficients used, and that the error varies depending on the number of coefficients used.
Keywords: Finite Di fferences, iterative method, wavelets, Recibido: Junio 2014
Aceptado: Julio 2014
∗
Autor para correspondencia
Correo-e: [email protected] (Enrique Flores )
1. Introducci´on.
La soluci´on num´erica de problemas con aplica-
ci´on real, los cu´ales en diversos casos son modela-
dos a trav´es de ecuaciones diferenciales, conduce a
modelos matem´aticos cada vez m´as complejos. En el caso de la resoluci´on de problemas de valores en la frontera, el uso de esquemas impl´ıcitos en los m´etodos de diferencias finitas de orden superior lleva a la resoluci´on de sistemas de ecuaciones lineales de la forma:
Ax = b , A ∈ R
n×n, x ∈ R
n×1, b ∈ R
n×1(1) sistemas que en forma general son de gran- des dimensiones y con posibilidad de matriz A densa. Trabajos previos [1] indican que es usual adoptar t´ecnicas iterativas para la resolu- ci´on computacional eficiente y robusta de dichos sistemas; por ejemplo, el uso de subespacios de Krylov acompa˜nadas de un precondicionamiento efectivo; donde se puede alcanzar gran velocidad de convergencia, manteniendo peque˜no el n´umero de iteraciones.
Investigaciones previas [2] plantean que un sistema tal como el descrito por la Ecuaci´on (1) puede transformarse a un sistema de la forma:
A ˆ ˆx = ˆb (2)
donde:
A ˆ = WAW
Tˆx = Wx ˆb = Wb
Obtenida la soluci´on del sistema descrito por la Ecuaci´on (2) la soluci´on ˆx del sistema descrito por la Ecuaci´on (1) se obtiene mediante:
x = W
Tˆx
El procedimiento descrito se puede emplear solo para sistemas cuyo tama˜no sea n = q · 2
k, para alg´un entero k > 0.
En el mismo orden de ideas, otros trabajos [3]
indican que las tecnicas wavelets tienen aplicabi- lidad en la resoluci´on de sistemas de ecuaciones lineales que surgen de la soluci´on num´erica de problemas de valores en la frontera mediante el uso de m´etodos mim´eticos, m´etodos que guardan cierta similitud en sus esquemas num´ericos con
los m´etodos en diferencias finitas tradicionales en virtud que se puede lograr una reducci´on en el n´umero de iteraciones necesarias para la obtenci´on de soluciones aproximadas en dichos sistemas, a expensas de un incremento del error relativo en la aproximaci´on de dicha soluci´on al emplear como m´etodos iterativos.
Por otra parte, trabajos sobre simulaci´on en yacimientos petroleros [4], proponen el uso de m´etodos expl´ıcitos en diferencias finitas de orden superior en la aproximaci´on num´erica de la soluci´on num´erica de la ecuaci´on de convecci´on- difusi´on, en el caso particular de un modelo de simulaci´on en la industria petrolera, quedando abierto realizar la aproximaci´on num´erica usando m´etodos impl´ıcitos de diferencias finitas de orden superior.
En virtud de los resultados obtenidos en las investigaciones referidas en ´esta introducci´on, el presente trabajo propone realizar un estudio del uso de t´ecnicas wavelets en la resoluci´on, mediante m´etodos iterativos, de los sistemas de ecuaciones lineales que surgen en la aproximaci´on num´erica de la soluci´on de la ecuaci´on de convecci´on- difusi´on, en el caso particular de un modelo de simulaci´on en la industria petrolera.
2. Fundamentaci´on te´orica.
2.1. Ecuaci´on de convecci´on-difusi´on.
La Ecuaci´on de convecci´on-difusi´on unidimen- sional (3), es una ecuaci´on diferencial en derivadas parciales de la forma
φ ∂C (x, t)
∂t = D ∂
2C (x, t)
∂x
2− u ∂C (x, t)
∂x (3)
donde φ es la porosidad, C(x, t) es la concentra-
ci´on normalizada, D es el coeficiente difusivo,
u es la velocidad de flujo (coeficiente convectivo),
x es la posici´on, t es el tiempo [5]. La relaci´on
entre los coeficientes difusivo y convectivo le
otorga al problema un car´acter desde el punto de
vista f´ısico [6] ; para D peque˜no el problema se
considera fundamentalmente convectivo, mientras
que para D grande el problema se considera
fundamentalmente difusivo.
La ecuaci´on de convecci´on-difusi´on exhibe muchas de las caracter´ısticas de ecuaciones de simulaci´on de yacimientos de petr´oleo: C(x, t) puede ser la funci´on de presi´on y la funci´on de saturaci´on, y la constante D =
µkpuede representar la transmisibilidad en el reservorio, donde k es la permeabilidad y µ es la viscosidad del fluido [5].
2.2. M´etodos impl´ıcitos de diferencias finitas.
El m´etodo de diferencias finitas consiste en convertir una funci´on de valores continuos en una funci´on de valores discretos, mediante el reemplazo del dominio continuo donde se desea determinar la soluci´on de la ecuaci´on diferencial por un conjunto de puntos discretos (mallado), y las derivadas en la ecuaci´on diferencial son reemplazadas por operadores discretos que surgen del truncamiento de la serie de Taylor en el punto donde se desea hacer la aproximaci´on [7] .
En el caso de la ecuaci´on de convecci´on- difusi´on unidimensional objeto de ´este trabajo (3), si la discretizaci´on se hace de la siguiente forma:
φ C
ni+1− C
ni4t
= D C
i−1n− 2C
ni+ C
ni+14x
2− u C
ni− C
ni−14x donde: C
in= C(x, t)
C
ni+1= C(x, t + 4t) C
ni−1= C(x − 4x, t) C
ni+1= C(x + 4x, t)
se afirma que el la formulaci´on en diferencias fini- tas es expl´ıcita; mientras que si la discretizaci´on se hace de la siguiente forma:
φ C
ni+1− C
in4t = D C
ni−1+1− 2C
ni+1+ C
ni+1+14x
2− u C
ni+1− C
ni−1+14x ,
donde: C
i−1n+1= C(x − 4x, t + 4t) C
ni+1+1= C(x + 4x, t + 4t)
se afirma que el la formulaci´on en diferencias
finitas es impl´ıcita. En forma general, los m´etodos expl´ıcitos tienen una cota superior en el valor de 4t para estabilidad num´erica, y requieren disminuir 4t a medida que 4x disminuye; mientras que los m´etodos impl´ıcitos son siempre estables, independiente del valor de 4t [8]. Los m´etodos impl´ıcitos conducen a un sistema de ecuaciones de la forma:
Ax = b , A ∈ R
n×n, x ∈ R
n×1, b ∈ R
n×12.3. La transformada wavelet y su aplicaci´on
en la soluci´on de sistemas de ecuaciones lineales.
La transformada wavelet es una herramienta que divide datos en diferentes componentes de frecuencia y luego estudia cada componente en resoluciones que se ajustan a su escala. La aplicaci´on de la transformada wavelet a una serie de datos num´ericos se puede hacer a trav´es de un algoritmo basado en un banco de filtros que permite obtener la transformada wavelet, a partir de los datos de inter´es; dicho algoritmo se conoce como la transformada wavelet discreta (DWT por sus siglas en ingl´es) [2].
Determinar la transformada discreta wavelet (DWT) de un vector v de n elementos consiste en obtener un vector transformado que tiene en una mitad, conocida como parte alta, la misma informaci´on de alta frecuencia que el vector original y en otra mitad, conocida como parte baja, la informaci´on de baja frecuencia. La informaci´on de baja frecuencia se obtiene aplicando un filtro G, denominado pasa-bajo, determinado por los coeficientes {g
i}
iL=1, convolucion´andolo con los datos; similarmente para obtener la informaci´on de alta frecuencia se aplica un filtro de alta frecuencia H, denominado pasa-alto, {h
i}
iL=1. La representaci´on matricial de los filtros H y G se muestra a continuaci´on:
H =
h
1h
2· · · h
L0 0 · · · · 0 0 0 h
1h
2· · · h
L0 · · · · 0 ... ... ... ... ... ... ... ... ... ...
h
3h
4· · · h
L0 · · · · 0 h
1h
2
n 2×n
G =
g
1g
2· · · g
L0 0 · · · · 0 0 0 g
1g
2· · · g
L0 · · · · 0 ... ... ... ... ... ... ... ... ... ...
g
3g
4· · · g
L0 · · · · 0 g
1g
2
n 2×n
La matriz de transformaci´on wavelet se define como:
W = H G
!
n×n
(4) Y la DWT aplicada al vector v de n elementos se determina a trav´es de:
Wv = Hv Gv
!
=
d
1...
d
n/2s
1...
s
n/2
Es de resaltar que la matriz de transformaci´on wavelet W es una matriz ortogonal, lo que garantiza que W
−1= W
T.
Mediante el uso de la matriz de transformaci´on wavelet, un sistema de ecuaciones lineales de la forma:
Ax = b (5)
puede transformarse a un sistema de la forma:
A ˆ ˆx = ˆb donde:
A ˆ = WAW
Tˆx = Wx
ˆb = Wb (6)
Obtenida la soluci´on el sistema descrito por la (6) la soluci´on ˆx del sistema descrito por la (5) se obtiene mediante:
x = W
Tˆx
El procedimiento descrito se puede emplear solo para sistemas cuyo tama˜no sea n = q · 2
k, para alg´un entero k > 0.
2.4. M´etodos iterativos.
La idea detr´as de los m´etodos iterativos para resolver sistemas de ecuaciones lineales es re- emplazar el sistema dado por otro sistema que puede ser resuelto con mayor facilidad; es decir, en lugar de resolver Ax = b se resuelve un sistema m´as simple K x
0= b y tomar x
0como una aproximaci´on para x [9].
Los m´etodos iterativos pueden dividirse en dos tipos: los m´etodos cl´asicos y los m´etodos de proyecci´on [10]. Dentro de los m´etodos cl´asicos pueden nombrarse la iteraci´on de Jacobi, la iteraci´on de Gauss-Seidel, y el m´etodo SOR.
´estos m´etodos son de concepci´on relativamente simple; sin embargo, son ´utiles en una clase restringida de problemas matriciales [11]. Los m´etodos de proyecci´on consisten en extraer las soluciones aproximadas a partir de un subespacio previamente establecido. Dentro de los m´etodos de proyecci´on, se encuentran los basados en subespacios de Krylov, que se consideran como una de las t´ecnicas iterativas m´as importantes para la resoluci´on de grandes sistemas lineales [12].
En el presente trabajo, se emplear´a como m´etodo iterativo el m´etodo BiCGSTAB sin precondiciona- miento, m´etodo que est´a basado en subespacios de Krylov.
3. Experimentaci´on.
Se determin´o el esquema num´erico proveniente del uso de m´etodos impl´ıcitos de diferencias finitas de orden 2, partiendo de las formulaci´on propuesta por Guo y Wang [4]:
φ ∂C ∂t = α 1 ∂C
∂x + α 2 ∂
2C
∂x
2+ α 3 ∂
3C
∂x
3+ α 4 ∂
3C
∂x
3(7) donde: α
1= −u
α
2= D −
φu4x−u2φ24tα
3= −
uD4tφα
4=
D2φ24tLa formulaci´on impl´ıcita en diferencias finitas de la Ecuaci´on (7) es:
C
in+1− C
in= α
14t
φ4x C
1∗+ α
24t φ4x
2C
∗2+ α
34t
φ4x
3C
∗3+ α
44t
φ4x
4C
4∗donde:
C
∗1= C
ni+1− C
ni−1+1C
∗2= C
ni+1− 2C
ni+1+ C
ni−1+1C
∗3= C
ni+1− 3C
ni+1+ 3C
ni−1+1− C
ni−2+1C
∗4= C
ni+2+1− 4C
ni+1+1+ 6C
ni+1− 4C
ni−1+1+ C
ni−2+1la cual puede reescribirse como:
k
1C
ni−2+1+ k
2C
ni−1+1+ k
3C
in+1+k
4C
in+1+1+ k
5C
in+2+1= k
6C
ni(8) donde:
k
1=
φ4xα44t4−
φ4xα34t3k
2= −4
φ4xα44t4+ 3
φ4xα34t3+
φ4xα24t2−
αφ4x14tk
3= 6
φ4xα44t4− 3
φ4xα34t3− 2
φ4xα24t2+
αφ4x14t− 1 k
4= −4
φ4xα44t4+
φ4xα34t3+
φ4xα24t2k
5= 4
φ4xα44t4k
6= −1
La Ecuaci´on (8) define el esquema num´erico en diferencias finitas de orden 2 obtenido a partir de m´etodos impl´ıcitos, para 3 ≤ i ≤ N + 2, 2 ≤ n ≤ N + 1 ; siendo N el tama˜no del sistema de ecuaciones a resolver. Las condiciones iniciales y en la frontera son de tipo Dirichlet, establecidas por Peaceman [5] , las cu´ales se indican a continuaci´on:
C(x, 0) = 0, x > 0 C(0, t) = 1, C(∞, t) = 0, t > 0
En los nodos ubicados en la frontera (i = 3, i = N+2), se agregar´an nodos fantasmas siguiendo lo propuesto por Causon y Mingham [7], que consiste en asignar los valores en la frontera a los nodos fantasmas inmediatos.
La representaci´on de los elementos no nulos del esquema num´erico en diferencias finitas de orden 2 obtenido a partir de m´etodos impl´ıcitos para el caso N = 64, se muestra en la Figura 1:
Se realiz´o la resoluci´on de los esquemas num´eri- cos de orden 2, para dos grupos de valores de los par´ametros en dichos esquemas, tomados del trabajo de Guo y Wang [4]:
1. Caso 1: L = 1000; φ = 0,30; u = 0,05;
D = 0,1; 4x = 10; 4t = 42.
2. Caso 2: L = 1000; φ = 0,30; u = 1; D = 0,1;
4x = 10; 4t = 1,5.
0
10
20
30
40
50
60
0 10 20 30 40 50 60
Figura 1: Elementos no nulos en el esquema num´erico en diferencias finitas de orden 2 obtenido a partir de m´etodos impl´ıcitos
Transformado el sistema Ax = b al sistema A ˆ ˆx = ˆb (sistema en la base wavelet con:
A ˆ = WAW
T, ˆx = Wx, ˆb = Wb; y siendo W:
matriz de transformaci´on wavelet definida por la Ecuaci´on (4)) la soluci´on aproximada del sistema original partiendo de su c´alculo en la base wavelet se obtiene mediante:
x = W
Tˆx
La generaci´on de los esquemas num´ericos con sus respectivas condiciones de borde, la generaci´on de la matriz de transformaci´on wavelet, y la transformaci´on del esquema original a la base wavelet fue implementada computacionalmente en el lenguaje de programaci´on Octave, el cual es software libre, y cuya sint´axis es equivalente a la empleada por el software comercial MATLAB ®.
La soluci´on exacta se obtiene mediante la instruc- ci´on de Octave:
x = A\b
Se emple´o en todos los experimentos la familia wavelet daubechies.
En cada caso se hicieron vari´o el tama˜no del sistema: N = 16 , 64 , 256, y se vari´o la cantidad de coeficientes: 4 , 6 , 8 y 12 coeficientes.
En cada caso se determin´o la soluci´on exacta del
sistema original, la soluci´on del sistema original
con los m´etodos iterativos indicados y la soluci´on
del del sistema transformado a la base wavelet
con los m´etodos iterativos indicados, realizando la medici´on de las siguientes variables:
N´umero de iteraciones para lograr la conver- gencia.
Error relativo en la aproximaci´on de la soluci´on.
4. Resultados Obtenidos Caso 1
Los resultados obtenidos se observan en las Figuras 2 y 3, que se muestran a continuaci´on, donde puede observarse que la cantidad de ite- raciones no presenta una diferencia significativa al variar la cantidad de coeficientes de la familia wavelet, mientras que los errores relativos si var´ıan significativamente al variar la cantidad de coeficientes de la familia wavelet.
5 10 15 20 25 30
0 50 100 150 200 250 300
Iteraciones
n sistema original
4 coeficientes 6 coeficientes 8 coeficientes 12 coeficientes
Figura 2: Caso 1 orden 2 Iteraciones Daubechies- BiCGSTAB sin precondicionamiento
Caso 2
Los resultados obtenidos se observan en las Figuras 4 y 5, que se muestran a continuaci´on, donde puede observarse que la cantidad de ite- raciones no presenta una diferencia significativa al variar la cantidad de coeficientes de la familia wavelet, mientras que los errores relativos si var´ıan significativamente al variar la cantidad de
-5.2 -5.1 -5 -4.9 -4.8 -4.7 -4.6 -4.5
0 50 100 150 200 250 300
Log(error relativo)
n
sistema original 4 coeficientes 6 coeficientes 8 coeficientes 12 coeficientes
Figura 3: Caso 1 orden 2 Error relativo Daubechies- BiCGSTAB sin precondicionamiento
coeficientes de la familia wavelet. En ´este caso, la tendencia es hacia la reducci´on del error relativo a medida que aumenta el tama˜no del sistema.
5 10 15 20 25 30
0 50 100 150 200 250 300
Iteraciones
n sistema original
4 coeficientes 6 coeficientes 8 coeficientes 12 coeficientes
Figura 4: Caso 2 orden 2 Iteraciones Daubechies- BiCGSTAB sin precondicionamiento
5. Conclusiones.
En los experimentos realizados se pudo observar
que la cantidad de iteraciones es similar para las
distintas cantidades de coeficientes empleados, y
que la cantidad de iteraciones aumenta con el
tama˜no del sistema. El error relativo var´ıa depen-
diendo de la cantidad de coeficientes empleados,
-5.2 -5 -4.8 -4.6 -4.4 -4.2
0 50 100 150 200 250 300
Log(error relativo)
n
sistema original 4 coeficientes 6 coeficientes 8 coeficientes 12 coeficientes