proyecto de grado - biblioteca digital de la universidad de los...
TRANSCRIPT
Programación de los Métodos de Diferencias Finitas
81
};
Cuadro 3.1 Código de especificación de la clase línea, en lenguaje C++
En vista de que el código fuente de implantación de los métodos de la
clase línea resultó ser muy extenso (más de 1000 líneas de código), solo se
muestra en este documento el desarrollo de un método explícito, el de un
método implícito, el de una de las funciones de velocidades (que actúan como
funciones amigas) y el del método tridag, que resuelve sistemas de ecuaciones
tridiagonales. La implantación de todas las operaciones de la clase línea está
contenida en el archivo linea.cpp desarrollado en lenguaje C++.
/*Método 1: Método Lax aplicado al modelo tectónico @Definición del método: Método que calcula las variaciones de las coordenadas de una línea (de pliegue) sometida a procesos tectónicos únicamente, mediante la aplicación del método de Lax, suponiendo un sistema de coordenadas euleriano. @Definición de los parámetros de entrada: dt: paso o incremento de tiempo //Los siguientes parámetros no son utilizados directamente por este método sino por las funciones amigas Vx y Vy que son llamadas por el método: *lF: apuntador a un objeto línea de falla *lA: apuntador a un objeto línea axial *lP: apuntador a un objeto línea de pliegue */ void linea::metodoLax_Tectonico(double dt, linea *lF, linea *lA, linea *lP){
//Declaración de dos matrices que contendrán las coordenadas de los puntos de la línea de pliegue para el tiempo actual y el anterior y declaración del número de Courant co
double **puntos_anterior, **puntos_actual, co;
//Reservación de memoria para las filas de las matrices puntos_anterior= new double*[2]; puntos_actual= new double*[2];
//Reservación de memoria para las columnas de cada fila for(int i=0; i<2; i++){
Programación de los Métodos de Diferencias Finitas
82
puntos_anterior[i]= new double[n_puntos]; puntos_actual[i]= new double[n_puntos]; }
//Inicialización de la matriz punto_anterior for(int j=0; j<n_puntos; j++){ puntos_anterior[0][j]= puntosLinea[0][j]; puntos_anterior[1][j]= puntosLinea[1][j]; }
//Lazo principal del método
for(int j=1; j<(n_puntos-1); j++){ //Este lazo excluye los puntos frontera de la línea
co= Vx(j,lF,lA,lP)*dt/dx;
puntos_actual[1][j]=Vy(j,lF,lA,lP)*dt+0.5*(1.+co)*puntos_ anterior[1][j-1]+0.5*(1.-co)*puntos_anterior[1][j+1];
//Actualización de los puntos de la línea de pliegue puntosLinea[1][j]= puntos_actual[1][j]; }
//Liberación de memoria de las matrices puntos_anterior y puntos_actual
for(int j=0;j<2;j++){
//Paso 1: Liberación de espacio para filas delete [] puntos_anterior[j]; delete [] puntos_actual[j]; }
//Paso 2: Liberación de espacio para columnas
delete [] puntos_anterior; delete [] puntos_actual;
}
Cuadro 3.2 Código implantación del método explícito Lax en lenguaje C++
Programación de los Métodos de Diferencias Finitas
83
/*Método 6: Método BTCS (Backward Time Central Space) aplicado al modelo tectónico @Definición del método: Método que calcula las variaciones de las coordenadas de una línea (de pliegue) mediante la aplicación del método implícito BTCS, suponiendo un sistema de coordenadas euleriano. @Definición de los parámetros de entrada: dt: paso o incremento de tiempo //Los siguientes parámetros no son utilizados directamente por este método sino por las funciones amigas Vx y Vy que son llamadas por el método: *lF: apuntador a un objeto línea de falla *lA: apuntador a un objeto línea axial *lP: apuntador a un objeto línea de pliegue */ void linea::metodoBTCS_Tectonico(double dt, linea *lF, linea *lA, linea *lP){
//Declaración de dos matrices que contendrán las coordenadas de los puntos de la línea de pliegue para el tiempo actual y el anterior y declaración del número de Courant co double **puntos_anterior,co;
//Reservación de memoria para las filas de la matriz puntos_anterior= new double*[2];
//Reservación de memoria para las columnas de cada fila for(int i=0; i<2; i++) puntos_anterior[i]= new double[n_puntos];
//Inicialización de la matriz punto_anterior for(int j=0; j<(n_puntos); j++){ puntos_anterior[0][j]= puntosLinea[0][j]; puntos_anterior[1][j]= puntosLinea[1][j]; }
//Los métodos implícitos requieren la solución de sistemas de ecuaciones tridiagonales cada vez que avanzan un paso en el tiempo. A continuación se inicializan los parámetros que recibirá la función tridag para resolver los sistemas de ecuaciones:
double *a,*b,*c,*r,*X; a= new double[n_puntos-2]; b= new double[n_puntos-2]; c= new double[n_puntos-2]; r= new double[n_puntos-2];
Programación de los Métodos de Diferencias Finitas
84
X= new double[n_puntos-2];
//Inicialización del vector a, con los elementos de la subdiagonal de la matriz de los coeficientes del sistema de ecuaciones:
a[0]=0; for(int j=1 ;j<(n_puntos-2); j++){ co= Vx(j+1,lF,lA,lP)*dt/dx; a[j]= -co; }
//Inicialización del vector b, con los valores de la diagonal principal de la matriz de los coeficientes del sistema de ecuaciones:
for(int j=0 ;j<(n_puntos-2); j++) b[j]= 2;
//Inicialización del vector c, con los valores de la superdiagonal de la matriz de los coeficientes del sistema de ecuaciones:
c[n_puntos-3]=0; for(int j=0 ;j<(n_puntos-3); j++){ co= Vx(j+1,lF,lA,lP)*dt/dx; c[j]= co; }
//Inicialización del vector r, con los elementos del lado derecho del sistema de ecuaciones:
co= Vx(1,lF,lA,lP)*dt/dx; r[0]=2*Vy(1,lF,lA,lP)*dt+2*puntos_anterior[1][1]+co*puntos_ anterior[1][0]; co= Vx(n_puntos-2,lF,lA,lP)*dt/dx; r[n_puntos-3]=2*Vy(n_puntos-2,lF,lA,lP)*dt+2*puntos_anterior [1][n_puntos-2]-co*puntos_anterior[1][n_puntos-1];
for(int j=1; j<(n_puntos-3); j++) r[j]= 2*Vy(j+1,lF,lA,lP)*dt+2*puntos_anterior[1][j+1]; //Llamada al método tridag, el cual resuelve sistemas de ecuaciones lineales tridiagonales
Programación de los Métodos de Diferencias Finitas
85
tridag(a,b,c,r,X,n_puntos-2);
//Actualización de los valores de la línea de pliegue for(int j=1; j<(n_puntos-1); j++) puntosLinea[1][j]=X[j-1];
//Liberación de memoria de los elementos dinámicos delete a; delete b; delete c; delete r; delete X;
//Liberación de memoria de las matriz puntos_anterior for(int j=0;j<2;j++) //Paso 1: Liberación de filas delete[] puntos_anterior[j];
//Paso 2: Liberación de columnas delete[] puntos_anterior;
}
Cuadro 3.3 Código de implantación del método implícito BTCS en lenguaje C++
Nótese que los métodos tanto explícitos como implícitos hacen llamadas a
las funciones amigas Vx y Vy. Las velocidades varían dependiendo de la región
(ver Capítulo 4 ) en que esté ubicado cada punto de la línea de pliegue en
deformación para cada instante de tiempo durante la deformación. A
continuación se presenta la codificación de la función amiga Vx: /*Función amiga Vx @Definición del método: Función que calcula la componente x de la velocidad de un punto en una posición dada. Vx depende de la región en que se encuentre el punto @Definición de los parámetros de entrada: indice: indica la posición de la coordenada x dentro del arreglo donde se desea calcular la velocidad Vx *lF: apuntador a un objeto línea de falla, necesario para el uso de los valores de: anguloFalla, tasaDeslizamiento, corteFallaX1 y corteFallaX2 *lA: apuntador a un objeto línea axial, necesario para el uso de los valores de: anguloAxial y puntosLineaAxial *lP: apuntador a un objeto línea de pliegue, necesario para el uso de los valores de: puntosPliegue */
Programación de los Métodos de Diferencias Finitas
86
double Vx(int indice, linea *lF, linea *lA, linea *lP){ double vx;
float theta=lF->anguloFalla,
R=lA->reduccionDeslizamiento,S=lF->tasaDeslizamiento;
if(lP->puntosLinea[0][indice]< lF->corteFallaX1){
if(lP->puntosLinea[1][indice]< lA->puntosLinea[1][indice])
vx= S; //Asignación de Vx para los puntos
pertenecientes a la región 1 de la estructura else
vx= S*cos(theta); //Asignación de Vx para los puntos pertenecientes a la región 2 de la
estructura }
if((lP->puntosLinea[0][indice]>=lF->corteFallaX1)&& (lP->puntosLinea[0][indice]<lF->corteFallaX2) )
vx= S*cos(theta); //Asignación de Vx para los puntos pertenecientes a la región 2 de la
estructura
if (lP->puntosLinea[0][indice]>=lF->corteFallaX2){
if(lP->puntosLinea[1][indice]>lA->puntosLinea[1][indice])
vx= S*cos(theta); //Asignación de Vx para los puntos pertenecientes a la región 2 de la estructura
else
vx= S*R; //Asignación de Vx para los puntos pertenecientes a la región 3 de la estructura
return vx; }
Cuadro 3.4 Código de implantación de la función amiga Vx en lenguaje C++
El último código fuente que se incluye en este documento es el del método
tridag, el cual contiene el algoritmo de descomposición LU que no usa pivotaje
Programación de los Métodos de Diferencias Finitas
87
(este aspecto se trató en el Capítulo 2) publicado por Press et al. (1988). Este
método es llamado por todos los métodos implícitos y su codificación en C++
se encuentra en un archivo denominado tridag.h.
/*PROCEDIMIENTO TRIDAG PARA RESOLVER SISTEMAS DE ECUACIONES TRIDIAGONALES Referencia bibliográfica: "Numerical Recipes in c, The Art of Scientific Computing" por W.H. Press y otros, Cambridge University Press. 1988*/ #include <iostream> using namespace std; /*TRIDAG @Definición del método: Método que resuelve sistemas tridiagonales de ecuaciones que cumplen con la característica de dominancia diagonal @Definición de los parámetros de entrada: a: vector que contiene los valores de la subdiagonal inferior b: vector que contiene los valores de la diagonal principal c: vector que contiene los valores de la subdiagonal superior r: vector que contiene los valores del lado derecho del sistema de ecuaciones u: vector que contendrá los valores de las incógnitas n: orden del sistema de ecuaciones*/ void tridag(double a[],double b[],double c[],double r[],double u[],int n){
int j; double bet,*gam; gam=new double[n];
if(b[0]==0.0) cout<<"ERROR"<<endl;
u[0]= r[0]/(bet=b[0]);
for (j=1; j<n; j++){ //Descomposición y sustitución hacia adelante gam[j]=c[j-1]/bet;
bet= b[j]-a[j]*gam[j]; if (bet==0.0) cout<<"ERROR"<<endl;
Programación de los Métodos de Diferencias Finitas
88
u[j]=(r[j]-a[j]*u[j-1])/bet;
} for (j=(n-2);j>=0;j--) u[j]-=gam[j+1]*u[j+1]; //Sustitución hacia atrás
//Liberación de memoria de los elementos dinámicos delete gam;
}
Cuadro 3.5 Código de implantación de la función tridag en lenguaje C++
Capítulo 4
RESOLUCIÓN DEL MODELO MATEMÁTICO En este capítulo vamos a resolver tanto el modelo tectónico como el modelo
tectónico-sedimentario discutidos en el Capítulo 2. La solución exacta de la
ecuación que define el modelo tectónico y el modelo tectónico-sedimentario
(ecuación general de modelado tectónico-sedimentario directo) puede ser
calculada analíticamente. Es posible calcular la solución exacta del modelo
tectónico geométricamente. La obtención de una solución analítica no está
contemplada dentro de los objetivos de esta investigación, la cual analiza las
soluciones aproximadas obtenidas a través de los métodos de diferencias finitas
para el modelo matemático, por lo que mostraremos las soluciones aproximadas
para ambos modelos y la solución geométrica (exacta) para el modelo tectónico. 4.1. Determinación de la Solución Exacta del Modelo Tectónico
La solución exacta del modelo tectónico puede ser determinada geométricamente
al conocer la forma que adquiere la estructura geológica para un cierto período de
tiempo, tomando en cuenta las características propias de un pliegue asociado a falla
no plana, que es nuestro caso de estudio. 4.1.1. Definición y Modelado Geométrico de un Pliegue Asociado a Falla
No Plana
Para poder calcular la solución de la ecuación que modela la evolución en el
tiempo de un pliegue asociado a falla no plana debemos conocer acerca de la
naturaleza y forma física de dicha estructura. Procedamos entonces a describirla:
Resolución del Modelo Matemático
90
un pliegue asociado a falla no plana es una estructura geológica que aparece
comúnmente en la naturaleza, en áreas de deformación compresiva y extensiva,
como resultado del movimiento causado por el empuje de un bloque de falla
sobre una rampa. Este movimiento produce el plegamiento del bloque
levantado a medida que éste se desplaza sobre la superficie de la falla no plana
(Hardy & Poblet, 1995). La geometría inicial de los horizontes estratigráficos a
considerar en este estudio es la horizontal o plana, tal como se presenta en la
Figura 4.1:
Figura 4.1 Geometría inicial de estratos planos para el modelo de un pliegue asociado a falla
no plana
Y la geometría calculada para un tiempo final especificado se muestra y
describe a continuación:
Resolución del Modelo Matemático
91
Figura 4.2 Geometría final ( Tiempo final Tf = 3000 ka) para el modelo de un pliegue
asociado a falla no plana
Para modelar matemáticamente un pliegue asociado a falla no plana,
utilizando la descripción de velocidad de la deformación (Hardy & Poblet,
1995), las velocidades Vx y Vy deben ser especificadas. Se asume que el bloque
deprimido no se deforma mientras que el bloque levantado sí lo hace (Figuras
4.1 y 4.2). El bloque levantado es dividido en regiones por una serie de
superficies axiales activas e inactivas. Las líneas axiales que se observan en las
figuras 4.1 y 4.2 representan en dos dimensiones a las superficies axiales.
Cuando el material pasa a través de las superficies axiales activas, éste sufre un
cambio en la dirección de desplazamiento. Las superficies axiales inactivas son
fijadas dentro del material del bloque levantado. Una condición necesaria del
Resolución del Modelo Matemático
92
modelo es que el desplazamiento de las partículas del bloque superior es
paralelo a la orientación de la falla (Mosar y Suppe, 1991).
Las velocidades horizontales y verticales en un pliegue asociado a falla no
plana son las que se observan en las Figuras 4.1 y 4.2, y que se presentan a
continuación para el caso particular en que las velocidades son definidas de
manera positiva, es decir, en sentido izquierda-derecha (Hardy & Poblet, 1995) :
Región 1
Región 2
Región 3
0yvSxv
==
)sen(Syv)cos(Sxv
θ=θ=
0yvSRxv
==
donde S es la tasa de deslizamiento (dada en m/ka), θ es el ángulo de
inclinación de la falla y R es la proporción de decrecimiento o reducción en la
tasa de deslizamiento a través del pliegue asociado a falla. Según Hardy & Poblet
(1995) R viene dado por:
)sen()sen(
Rλθ−λ
= (4.1)
Las expresiones de las velocidades indican que las partículas dentro de las
regiones 1 y 3 sufren solo traslación, mientras que las partículas dentro de la
región 2 sufren tanto traslación como levantamiento (Hardy y Poblet, 1995).
Resolución del Modelo Matemático
93
4.1.1.1. Cálculo geométrico de la línea de falla
Para obtener la línea de falla (Figura 4.3) solo es necesario conocer los valores
corteFallaX1, corteFallaX2 y el ángulo θ , cuya tangente es la pendiente de la línea
en la región 2. A partir de la ecuación general de una recta, definida de la
siguiente manera: bmXY += (4.2)
donde Y es la variable dependiente (en nuestro caso la altura h), X la variable
independiente, m es la pendiente y b es el corte con el eje vertical, podemos
obtener la función que define cada una de las tres rectas que conforman la línea
de falla, como se muestra a continuación:
≤≤≤≤
≤≤=
−
−
LongitudXXpara Xpara
X0para 0 Y
2XcorteFalla )1XcorteFalla2XcorteFalla)(tan(θ
2XcorteFalla1XcorteFalla )1XcorteFallaX)(tan(θ
1XcorteFalla
(4.3)
Figura 4.3 Línea de falla y función que la define
Resolución del Modelo Matemático
94
4.1.1.2. Cálculo geométrico de las líneas axiales
Para obtener las líneas axiales activas es necesario conocer los valores de
corteFallaX1, corteFallaX2 y las velocidades de cada región, definidas en la
Sección 4.1.1. Las pendientes de las dos líneas axiales activas se obtienen a partir
de la condición de contacto dada por la Ecuación (1.6), en la que el término xf∂
∂
es precisamente el valor de la pendiente de la línea axial en cuestión.
Representando la función de la línea axial activa que se encuentra entre las
regiones 1 y 2 por f1 y la función de la línea axial activa que se encuentra entre
las regiones 2 y 3 por f2, podemos calcular las pendientes x
f1
∂
∂ y x
f 2
∂
∂ como se
muestra a continuación: Restricción de contacto para la línea 1f
x
1f
x
f2x2y1x1y vvvv 1
∂
∂−=
∂
∂−
(4.4)
Sustituyendo los valores de las componentes de la velocidad, vistos en la
Sección 4.1.1., obtenemos:
x
1f
x
f )cos(S)sen(SS0 1
∂
∂−=
∂
∂− θθ
(4.5)
Finalmente, despejando x
f1
∂
∂ de (4.5)se obtiene:
1)cos()sen(
x
f1
−θθ
=∂
∂
(4.6)
Resolución del Modelo Matemático
95
Restricción de contacto para la línea 2f
x
f
x
f 223x3y2x2y vvvv∂
∂−=
∂
∂−
(4.7)
Sustituyendo los valores de las componentes de la velocidad obtenemos:
x
f
x
f 22 SR0)cos(S)sen(S∂
∂−=
∂
∂− θθ
(4.8)
Finalmente, despejando x
f 2
∂
∂ de (4.8) se obtiene :
)cos(R)sen(
x
f 2
θ−θ−
=∂
∂
(4.9)
El valor de R se encuentra tabulado para valores de θ, β y λ (ver Apéndice 1).
A continuación se presenta una tabla con los valores de las pendientes x
f1
∂
∂
y x
f 2
∂
∂ calculados a partir de (4.6) y (4.9) y el valor R para tres ángulos de falla
tomados como ejemplo:
θ R x
f1
∂
∂
x
f 2
∂
∂
10°= 0.1745 rad 0.97 -11.4301 11.7268
15° = 0.2618 rad 0.93 -7.5958 7.2043
29°= 0.5061 rad 0.66 -3.8667 2.2589
Tabla 4.1 Valores de R, x
f1
∂
∂ y xf∂
∂ 2 para los ángulos θ =10°, 15° y 29°
Resolución del Modelo Matemático
96
Conviene resaltar que para propósitos de programación, las líneas axiales
activas son definidas como una sola línea, que en la Región 2 coincide con la
línea de falla, esto es con la intención de tener un único objeto línea axial
(Sección 3.2.2.). Las líneas axiales inactivas solo son líneas paralelas a las líneas
axiales activas a una distancia horizontal de Scos(θ)Tf y SRTf, como se muestra
en la Figura 4.4:
Figura 4.4 Líneas axiales y función que las define
La función para la línea axial se define también a partir de la ecuación
general de una recta, como sigue:
Resolución del Modelo Matemático
97
≤≤
≤≤
≤≤
=−+−
∂
∂
−∂
∂
∂
∂
LongitudX Xpara
Xpara
X0para
Y
2orteFallaXc
)1orteFallaXc2orteFallaXc)(tan(θ)2orteFallaXcX(x
2f
2orteFallaXc1orteFallaXc )1orteFallaXcX)(tan(θ
1orteFallaXc1orteFallaXcx
f-X
x
f 11
(4.10)
4.1.1.3. Cálculo geométrico de la línea de pliegue para un tiempo Tf
Una vez calculadas la línea de falla y las líneas axiales, podemos obtener
geométricamente la forma que adquiere la línea de pliegue para un tiempo final
(Tf ) especificado. Una manera de hacerlo es dividiendo la línea en cinco partes
o tramos, como se presenta en la Figura 4.5:
Resolución del Modelo Matemático
98
Figura 4.5 Línea de pliegue para un tiempo Tf
Conociendo h, corteFallaX1, corteFallaX2, θ , β , S y Tf, y calculando x1, x2,
x3 y x4, la función por partes que define la línea de pliegue es como sigue:
≤<≤<≤<≤<
≤≤
=
+
βθ++
θ++
−++
+
LongitudXXx4para x4Xx3para x3Xx2para x2Xx1para
1xX0para
Y
hH
x3)-)(Xtan(-)STfsin(hH
)STfsin(hH
)1xX)(tan(θh H
hH
(4.11)
donde )1Xcorte2Xcorte)(tan(θH −= y h es la altura a la que se encuentra la línea
de pliegue inicialmente sobre la región 3 de la línea de falla, como se señala en la
Figura 4.5 .
Resolución del Modelo Matemático
99
4.1.2. Gráficos de Soluciones Exactas del Modelo Tectónico (Calculadas
Geométricamente)
Para calcular la solución exacta utilizaremos el siguiente conjunto de valores 12 :
Longitud X= 22500 m
dx= 50 m
N° puntos= 450 (sin contar el punto 0)
corteFallaX1= 5000 m
corteFallaX2= 15000 m
Tf= 3000 ka = 3000 000 de años
S= 2 m/ka
Cuadro 4.1 Conjunto de valores de los parámetros necesarios para calcular la solución del
modelo tectónico
Utilizando además los valores especificados en la Tabla 4.1 para cada valor
de θ obtenemos las siguientes figuras: Ángulo de falla θ Solución exacta
10°
12 Valores acordes a los modelos elaborados por Hardy & Poblet (1995) y Bernal & Hardy (2002).
Resolución del Modelo Matemático
100
15°
29°
Figura 4.6 Solución exacta del modelo tectónico aplicado a un pliegue asociado a falla no
plana, variando el ángulo de falla θ
4.2. Determinación de la Solución Aproximada del Modelo
Tectónico
Ejecutando los métodos de diferencias finitas (aplicados al modelo tectónico)
programados, obtenemos la solución aproximada (Figura 4.7) utilizando el
conjunto de datos iniciales especificado en el Cuadro 4.1, un ángulo θ=15°, y
un dt=Co*dx/S, obtenido a partir de la condición de Courant descrita en la
Resolución del Modelo Matemático
101
Sección 2.4.3.1. Se asume que el valor máximo de ti)v( x es S (Vx de la Región
1), ya que los factores que multiplican a S en las otras dos regiones del campo de
velocidades (cos() y R) toman valores menores o iguales a 1. Además se fija
arbitrariamente el número de Courant Co =0.5, para asegurar el cumplimiento
de la condición de estabilidad.
Métodos Explícitos
Métodos Implícitos
Solución por el método Lax (dt=12.5 ka) Solución por el método BTCS(dt=12.5 ka)
Solución por el método Contraviento (dt=12.5 ka)
Solución por el método Crank-Nicolson (dt=12.5 ka)
Solución por el método Leapfrog (dt=12.5 ka)
Resolución del Modelo Matemático
102
Solución por el método Lax-Wendroff (dt=12.5 ka)
Solución por el método MacCormack (dt=12.5 ka)
Figura 4.7 Gráficos de soluciones obtenidas por los métodos de diferencias finitas
programados para resolver el modelo tectónico, superpuestos sobre la solución exacta calculada
para un ángulo θ =15°, un R= 0.93 y el conjunto de valores especificados en el Cuadro 4.1
Nótese en la Figura 4.7, que visualmente no se distingue la línea de pliegue
solución de la línea obtenida por los diferentes métodos. En el Capítulo 5 se
comprueban numéricamente las diferencias entre ambas soluciones mediante el
cálculo de errores.
4.3. Determinación de la Solución Aproximada del Modelo
Tectónico-Sedimentario
Ejecutando los métodos de diferencias finitas programados, aplicados al modelo
tectónico-sedimentario, obtenemos la solución aproximada (Figura 4.8),
Resolución del Modelo Matemático
103
utilizando el conjunto de datos iniciales especificado en el Cuadro 4.1 para un
ángulo θ=15° y un dt calculado de acuerdo a las condiciones de estabilidad para
cada método (ver Tabla 2.3). Se emplea el mismo dt del método Dufort-Frankel
en los métodos implícitos (que carecen de condición de estabilidad), por ser el
dt menos restrictivo entre los métodos explícitos vistos.
En el modelo tectónico-sedimentario debemos asignar valores a los
parámetros p (tasa de sedimentación de materia) y α (coeficiente de difusión).
En estos ejemplos vamos a utilizar un p=1.1 m/ka y α=2000 m2/ka, acordes a
datos de modelos publicados (Hardy & Poblet (1995) y Bernal & Hardy (2002)).
Métodos Explícitos
Métodos Implícitos
Solución por el método Lax (dt=0.625 ka) Solución por el método BTCS (dt=12.5 ka)
Solución por el método Contraviento de 1er orden (dt=0.609756 ka)
Solución por el método Crank-Nicolson (dt=12.5 ka)
Resolución del Modelo Matemático
104
Solución por el método Contraviento de 3er orden (dt=0.609756 ka)
Solución por el método Dufort-Frankel (dt=12.5 ka)
Solución por el método MacCormack(dt=0.625 ka)
Figura 4.8 Gráficos de soluciones obtenidas por los métodos de diferencias finitas
programados para resolver el modelo tectónico-sedimentario, para un ángulo θ =15°, un R=
0.93, LongitudX=22500m, N° puntos= 450, corteFallaX1=5000m,
corteFallaX2=15000m, dx=50m, Tfinal=3000ka, S=2m/ka, p=1.1 m/ka y α=2000
m2/ka.
Capítulo 5
COMPARACIÓN DE RESULTADOS
Y ANÁLISIS DE SENSIBILIDAD
En este capítulo se comparan las soluciones obtenidas a partir de los métodos
numéricos programados, mediante el cálculo de errores respecto a la solución
exacta (obtenida para el caso de modelado tectónico), y la determinación de los
tiempos de ejecución. A su vez, se muestran las soluciones aproximadas para los
modelos tectónico y tectónico-sedimentario superpuestas sobre imágenes
sísmicas existentes en la literatura, extraídas de campos petrolíferos venezolanos,
que ilustran la estructura real de pliegues asociados a fallas no planas.
5.1. Error Numérico y Tiempo de Ejecución
5.1.1. Definición de Error Numérico
Los errores numéricos se generan con el uso de aproximaciones para
representar cantidades matemáticas. Éstos incluyen errores de truncamiento,
que resultan de representar aproximadamente un procedimiento matemático
exacto, y los errores de redondeo, que se producen al limitar las cifras
significativas de un número exacto. Según Chapra et al. (1999), para los dos
tipos de errores, la relación entre el resultado exacto o verdadero y el
aproximado está dada por:
aderoError verdónAproximaciaderoValor verd += (5.1)
Comparación de Resultados y Análisis de Sensibilidad
106
Reordenando la Ecuación (5.1) se encuentra que el error numérico verdadero es
igual a la diferencia entre el valor verdadero y el valor aproximado, esto es:
ónAproximaciaderoValor verdaderoError verd −= (5.2)
Un defecto en esta definición es que no toma en consideración el orden de
magnitud del valor que se está probando. La manera de medir las magnitudes de
las cantidades que se evalúan consiste en normalizar el error respecto al valor
verdadero:
aderoValor verdaderoError verdfraccional tivoError rela =
(5.3)
El error relativo también se puede multiplicar por el 100% para expresarlo
como:
100aderoValor verdaderoError verdEr% ×=
(5.4)
donde Er% denota el error relativo porcentual verdadero. (Chapra et al., 1999).
Al calcular el error relativo porcentual verdadero en este estudio, estamos
incluyendo dos tipos de errores (errores de discretización y errores de iteración)
que se definen a continuación.
5.1.2. Errores de Discretización
Los errores de discretización se definen como la diferencia entre la solución exacta
de la ecuación diferencial y la solución del sistema algebraico de ecuaciones (o
ecuaciones de diferencia). Estos errores decrecen a medida que se refina el
espaciado (∆x) entre puntos de discretización. Para los métodos de diferencias
finitas, los errores de discretización pueden ser estimados a partir de los errores
Comparación de Resultados y Análisis de Sensibilidad
107
de truncamiento (Ferziger & Peric, 1999). En el capítulo 2 se especificó el error
de truncamiento para cada uno de los métodos de diferencias finitas.
5.1.3. Errores de Iteración
Los errores de iteración son definidos como la diferencia entre la solución iterativa
(que es la arrojada por los métodos de diferencias finitas) y la solución exacta del
sistema algebraico de ecuaciones (Ferziger & Peric, 1999).
5.1.4. Definición de Tiempo de Ejecución
El tiempo que tarda en ejecutarse un programa o una parte del mismo se
denomina tiempo de ejecución. "En la ciencia de la computación, el tiempo de
ejecución describe la operación de un programa de computadora, la duración de
su ejecución desde el comienzo hasta el final "13."El tiempo de ejecución se
define como el tiempo requerido para ejecutar una instrucción de computación
y almacenar los resultados" 14.
5.2. Especificación de los Límites Aceptables para el Error
Relativo Porcentual Verdadero
Antes de proceder con la comparación de los métodos, debemos establecer los
límites aceptables del error relativo porcentual verdadero, para que sirvan como
criterio de comparación. En la práctica, cuando se trata de modelado geométrico
(es decir, cuando sólo se desea conocer la forma de la estructura geológica), es
13 Extraído de en.wikipedia.org/wiki/Execution_time 14 Extraído de www.laopinion.com/glossary/t.html
Comparación de Resultados y Análisis de Sensibilidad
108
aceptable un error menor o igual al 20%, mientras que cuando se trata de
sistemas de drenaje (flujo de fluídos a través de la estructura geológica) es
aceptable un error menor o igual al 1% (Bernal, 2004). 5.3. Cálculo y Comparación de los Errores Relativos Porcentuales
Verdaderos y Tiempo de Ejecución
Podemos calcular los errores relativos porcentuales verdaderos para los métodos
aplicados al modelo tectónico utilizando la Ecuación (5.4), ya que conocemos
las coordenadas de los puntos de la línea de pliegue, tanto para la solución
exacta (Valor verdadero) como para las soluciones obtenidas por los métodos de
diferencias finitas (Aproximación). En las Figuras 5.1, 5.2 y 5.3, se muestran los
gráficos de las líneas de solución (aproximadas y exactas) y de los errores
relativos porcentuales verdaderos para tres ángulos de falla (θ ) diferentes (10°,
15° y 29°). Además, en las figuras 5.1, 5.2, 5.3, 5.4 y 5.5 se especifica el tiempo
de ejecución para cada método numérico programado, el cual es calculado
incluyendo todas las iteraciones del método, desde un tiempo inicial To hasta un
tiempo final Tf con pasos o incrementos de dt.
Comparación de Resultados y Análisis de Sensibilidad
109
Métodos Explícitos
Métodos Implícitos
Solución por el método Lax Solución por el método BTCS
Solución por el método Contraviento Solución por el método Crank-Nicolson
Solución por el método Leapfrog
Comparación de Resultados y Análisis de Sensibilidad
110
Solución por el método Lax-Wendroff
Solución por el método MacCormack
Figura 5.1 Gráficos de errores relativos porcentuales verdaderos y especificación del tiempo de
ejecución de cada método de diferencias finitas programado, con los valores de parámetros
siguientes: θ =10°, n_puntos=450, LongitudX=22500m, corteFallaX1=5000m,
corteFallaX2=15000m, dx=50m , Tfinal=3000 ka, dt=12.5ka, Co=0.5 y S=2m/ka.
En la Figura 5.1 resaltan dos zonas en las cuales se observa el máximo
crecimiento en los gráficos de los errores relativos, por presentar cambios de
pendiente en la línea de solución, que denominaremos “zonas críticas”: la zona
crítica 1 coincide con el limbo anterior de la estructura y la zona crítica 2
coincide con el limbo posterior15. Se procede a escoger el o los mejores métodos
tanto explícitos como implícitos para posteriormente comparar las ventajas y
15 Referirse a la Figura 4.2. donde se señala el limbo anterior y el limbo posterior de un pliegue asociado a falla no plana.
Comparación de Resultados y Análisis de Sensibilidad
111
desventajas de ambos esquemas. De acuerdo a la magnitud de los errores
relativos, podríamos descartar en primera instancia el método explícito Lax, que
es el que presenta el error máximo en las dos zonas críticas, seguidamente el
método implícito BTCS y el explícito contraviento por presentar errores altos en
comparación al resto de los métodos. El método MacCormack, a pesar de
poseer muy bajas magnitudes en los errores, implica un tiempo de cómputo que
es el doble del tiempo empleado por cualquiera de los otros métodos explícitos,
razón por la cual pudieramos descartarlo en esta primera comparación. No
obstante, estudiaremos otros casos antes de establecer conclusiones.
Métodos Explícitos
Métodos Implícitos
Solución por el método Lax Solución por el método BTCS
Solución por el método Contraviento Solución por el método Crank-Nicolson
Comparación de Resultados y Análisis de Sensibilidad
112
Solución por el método Leapfrog
Solución por el método Lax-Wendroff
Solución por el método MacCormack
Figura 5.2 Gráficos de errores relativos porcentuales verdaderos y especificación del tiempo de
ejecución de cada método de diferencias finitas programado, con los valores de parámetros
siguientes: θ =15°, n_puntos=450, LongitudX=22500m, corteFallaX1=5000m,
corteFallaX2=15000m, dx=50m , Tfinal=3000 ka, dt=12.5ka, Co=0.5 y S=2m/ka.
Comparación de Resultados y Análisis de Sensibilidad
113
Analizaremos la Figura 5.2 procediendo de la misma manera que para el
caso anterior, notando que los errores de la zona crítica 1 (limbo anterior) no
presentan variaciones significativas para los dos ángulos de falla analizados (10°
y 15°), mientras que los errores de la zona crítica 2 (limbo posterior) han
presentado un aumento en la mayoría de los métodos al haber aumentado el
ángulo de falla. Por otra parte, al comparar los errores relativos porcentuales
máximos, procedemos a descartar los métodos explícitos Lax y contraviento y el
implícito BTCS, por presentar las más altas magnitudes de error, y nuevamente
descartamos el método explícito MacCormack por el coste elevado en tiempo
de ejecución. Hemos preseleccionado en esta parte, los métodos Leapfrog y
Lax-Wendroff explícitos y el método Crank-Nicolson implícito.
Métodos Explícitos
Métodos Implícitos
Solución por el método Lax Solución por el método BTCS
Comparación de Resultados y Análisis de Sensibilidad
114
Solución por el método Contraviento Solución por el método Crank-Nicolson
Solución por el método Leapfrog
Solución por el método Lax-Wendroff
Comparación de Resultados y Análisis de Sensibilidad
115
Solución por el método MacCormack
Figura 5.3 Gráficos de errores relativos porcentuales verdaderos y especificación del tiempo de
ejecución de cada método de diferencias finitas programado, con los valores de parámetros
siguientes: θ =29°, n_puntos=450, LongitudX=22500m, corteFallaX1=5000m,
corteFallaX2=15000m, dx=50m , Tfinal=3000 ka, dt=12.5ka, Co=0.5 y S=2m/ka.
Al observar la Figura 5.3 procedemos a descartar en primera instancia los
métodos que presentan las máximas magnitudes de errores, que nuevamente
son los explícitos Lax y contraviento y el implícito BTCS. En segundo lugar
descartamos el método MacCormack por la misma razón que en los casos
anteriores. De manera que hemos seleccionado los métodos explícitos Leapfrog
y Lax-Wendroff y el implícito Crank-Nicolson.
Al comparar la Figura 5.3 con las figuras 5.1. y 5.2. se observa que al haber
aumentado el ángulo de falla a 29°, los errores relativos porcentuales verdaderos
de la zona crítica 1 se mantienen iguales o varían poco respecto a los errores
obtenidos con un ángulo de falla de 10° y 15° para todos los métodos, mientras
que los errores relativos porcentuales verdaderos de la zona crítica 2 han
Comparación de Resultados y Análisis de Sensibilidad
116
aumentado, por lo que nuevamente se puede observar una relación directa entre
el ángulo de falla y el error.
A continuación se presentan algunas observaciones respecto a las tres
figuras analizadas en esta sección:
Las zonas de la línea de pliegue (línea solución) donde existen los mayores
errores relativos porcentuales verdaderos, son las intersectadas por las líneas
axiales activas e inactivas, que es donde ocurren cambios de pendiente en la
línea de pliegue, debido a la variación de dirección del vector de velocidades.
Estos cambios de pendiente conllevan a cambios rápidos en la línea de
solución, que requieren refinar el espaciado dx en la discretización para
mejorar la aproximación. El error máximo ocurre específicamente en las
zonas intersectadas por las líneas axiales inactivas16.
En la zona de máximo error, que es la zona crítica 2 (limbo posterior), se
observa claramente que existe una relación directa entre el ángulo de falla y el
error relativo porcentual verdadero, es decir, al aumentar el ángulo de falla
aumenta el error. Para explicar ésto, observemos la relación existente entre el
ángulo θ y el ángulo del limbo posterior (β)17 (primera y segunda columna
del Apéndice 1), donde el ángulo β aumenta al aumentar θ, lo que supone
que el error debe aumentar, debido a que un mayor cambio de pendiente
16
Las líneas axiales inactivas, inicialmente (es decir para un To) no existen como se mostró en la Figura 4.1. Estas aparecen como consecuencia de la advección de la superficie. 17 Angulos señalados en la Figura 4.2
Comparación de Resultados y Análisis de Sensibilidad
117
implica una aproximación menos exacta si se utiliza el mismo número de
puntos y espaciado.
Los métodos que presentan los errores relativos porcentuales verdaderos
más bajos en los tres casos estudiados, son precisamente los que utilizan
aproximaciones de diferencias finitas con errores de truncamiento de
segundo orden tanto en tiempo como en espacio: Leapfrog, Lax-Wendroff,
MacCormack (explícitos) y Crank-Nicolson (implícito), debido a que "las
aproximaciones más exactas de la primera derivada son aquellas que incluyen
en la serie de Taylor términos de orden más alto" (Chapra et al, 1999). Los
métodos explícitos Lax y contraviento y el implícito BTCS, utilizan
discretizaciones con errores de truncamiento de primer orden para una o
ambas derivadas parciales (temporal y espacial), y por lo tanto presentan los
el errores relativos porcentuales verdaderos más altos.
Las oscilaciones observadas en los gráficos de errores del método Leapfrog y
los dos métodos implícitos (BTCS y Crank-Nicolson) solo indican que el
error fluctua alrededor de un cierto valor, para algunos tramos de la línea de
pliegue.
Es conveniente resaltar que los métodos implícitos no han sido descartados
en este primer análisis, a pesar de emplear tiempos de ejecución mucho
mayores que los métodos explícitos, debido a que presentan la característica
de mantenerse estables (ver condiciones de estabilidad en Tabla 2.3 ) pese al
aumento del dt, lo que reduciría notablemente el tiempo de ejecución. Un
estudio al respecto se desarrolla en la siguiente sección.
Comparación de Resultados y Análisis de Sensibilidad
118
De acuerdo a los límites aceptables de error, especificados en la Sección 5.2,
podemos decir que cualquiera de los métodos cumple con el primer límite
aceptable (20%), para cualquier valor del ángulo de falla, mientras que el
segundo límite aceptable (1%), que es mucho más restrictivo, sólo ha sido
satisfecho por los métodos que presentan errores de truncamiendo de
segundo orden en tiempo y espacio (Leapfrog, Lax-Wendroff, MacCormack
y Crank-Nicolson ). Al variar los valores de los parámetros en la siguiente
sección podremos observar de nuevo el comportamiento de los errores.
Habiendo analizado los resultados para geometrías estructurales típicamente
observadas en la naturaleza, procedemos a concluir de manera preliminar que
los métodos de diferencias finitas recomendados para resolver el modelo
tectónico son los métodos explícitos Leapfrog y Lax-Wendroff y el implícito
Crank-Nicolson, básicamente por presentar los menores errores relativos
porcentuales verdaderos y tiempos de ejecución.
5.4. Análisis de Sensibilidad
Una vez seleccionados los métodos Leapfrog, Lax-Wendroff y Crank-Nicolson
como los mejores en cuanto a exactitud y eficiencia, es útil observar cómo se
comportan esos métodos si relizamos un análisis de sensibilidad 18, es decir, si
variamos algunos parámetros de entrada del modelo. No obstante, incluiremos
el método implícito BTCS en nuestro análisis para compararlo nuevamente con
el método Crank-Nicolson y evitar dudas respecto a la elección del método
Comparación de Resultados y Análisis de Sensibilidad
119
implícito. Recordemos cuáles son los valores de los parámetros utilizados
(definidos en el Capítulo 4):
Longitud X= 22500 m
dx= 50 m
N° puntos= 450 (sin contar el punto 0)
corteFallaX1= 5000 m
corteFallaX2= 15000 m
Tf= 3000 ka = 3000 000 de años
S= 2 m/ka Nos interesa comparar la exactitud y eficiencia de los métodos para el caso
en que ocurra una reducción y un aumento en el número de puntos.
Caso 1:
Para el primer análisis de sensibilidad se mantiene constante la Longitud
X=22500m, y se disminuye el dx a 5m, lo que implica un aumento en el número
de puntos a 4500 (sin contar el punto 0). En la Figura 5.4, podemos observar
que los errores relativos porcentuales verdaderos para los métodos explícitos
Leapfrog y Lax-Wendroff y el implícito Crank-Nicolson son muy bajos y
presentan poca diferencia, mientras que el método implícito BTCS acarrea el
mayor error, pero menor tiempo de ejecución en comparación con el otro
método implícito (Crank-Nicolson). En general los tiempos de ejecución han
aumentado considerablemente y los errores relativos porcentuales verdaderos
18 Realizar un análisis de sensibilidad es "examinar cómo un sistema responde en diferentes condiciones. Tal análisis de sensibilidad se facilita cuando los métodos numéricos permiten que la computadora asuma la carga de cómputo." (Chapra et al., 1999)
Comparación de Resultados y Análisis de Sensibilidad
120
han decrecido al reducir el espaciado dx entre los puntos (en un factor de 10),
como era de esperarse, lo que permite reducir los errores a menos del 0.2% para
los métodos que presentan exactitud de segundo orden en tiempo y espacio y
satisfacer el segundo límite aceptable de error (≤ 1%) para el caso particular del
método BTCS que es de primer orden en tiempo y segundo orden en espacio.
En vista de que los métodos explícitos proporcionan los menores errores
relativos porcentuales verdaderos y tiempos de ejecución, se recomienda la
utilización de cualquiera de los dos métodos explícitos (Leapfrog y Lax-
Wendroff) para el caso en el que se esté trabajando con un espaciado
pequeño (dx≤ 5m), siempre y cuando se quiera minimizar el error,
empleando tiempos de ejecución equivalentes a la mitad del tiempo empleado
por los métodos implícitos.
Co
mpar
ación
de R
esulta
dos y
Aná
lisis
de S
ensib
ilida
d
121
Fig
ura
5.4
Grá
ficos
de er
rores
relat
ivos p
orcen
tuale
s verd
adero
s y es
pecif
icació
n de
l tiem
po d
e ejec
ución
, util
izand
o un
núm
ero d
e
punt
os ma
yor (
n_pu
ntos=
4500
pts)
, Lo
ngitu
dX=
2250
0m,
Tfin
al=30
00 k
a, dt
=1.
25 k
a, dx
=5m
y C
o=0.
5
Mét
odos
Exp
lícit
os
Mét
odos
Im
plíc
itos
θ
L
eap
frog
L
ax-W
end
roff
B
TC
S C
ran
k-N
icol
son
10
°
15
°
29°
Comparación de Resultados y Análisis de Sensibilidad
Caso 2:
Para el próximo análisis de sensibilidad se mantiene la Longitud X=22500m y se
aumenta el dx a 150m, lo cual implica que el número de puntos disminuye a 150
(sin contar el punto 0). En la Figura 5.5 se observa que los tiempos de ejecución
en este caso son despreciables, así que compararemos solo los errores relativos
porcentuales verdaderos de los métodos. El método Leapfrog y los dos métodos
implícitos (BTCS y Crank-Nicolson) presentan oscilaciones en el gráfico del
error que lo amplifican de manera significativa en comparación con el error del
método Lax-Wendroff (observar por ejemplo el error en la región 1 de la
estructura para los diferentes métodos).
Se recomienda la utilización del método explícito Lax-Wendroff por
presentar menores magnitudes de errores cuando se trabaja con valores
de dx grandes (≥ 150m) y se requieren errores bajos (menores al 2%).
Comp
arac
ión d
e Resu
ltado
s y A
nális
is de
Sen
sibili
dad
Mét
odos
Exp
lícit
os
Mét
odos
Im
plíc
itos
θ
L
eap
frog
L
ax-W
end
roff
B
TC
S C
ran
k-N
icol
son
10
°
15
°
29
°
F
igu
ra 5
.5 G
ráfic
os de
erro
res re
lativo
s por
centu
ales v
erdad
eros y
espe
cifica
ción
del t
iempo
de e
jecuc
ión, u
tiliza
ndo
un n
úmero
de
punt
os me
nor
(n_p
untos
=15
0pts)
, Lo
ngitu
dX=
2250
0m,
Tfin
al=30
00
ka,
dt=
37.5
ka
, dx
=15
0m
y
Co=
0.5
Comparación de Resultados y Análisis de Sensibilidad
Caso 3:
En esta sección se evalúa el comportamiento de los métodos implícitos (BTCS y
Crank-Nicolson) al aumentar el número de Courant Co, lo cual implica el
aumento del valor de dt. Para ésto, utilizaremos la expresión que permite
calcular y comparar el dt (al variar sólo uno de los parámetros, en este caso Co,
por ser el único valor que se establece arbitrariamente) y controlar la estabilidad
de los métodos explícitos:
tix )v(max
xCot ∆≤∆
Habiendo utilizado en los casos anteriores un número de Courant Co=0.5,
a continuación vamos a determinar el máximo valor hasta el cual podemos
aumentar Co, y por consiguiente dt, para que los métodos implícitos sigan
aportando resultados aceptables (en el caso en que se requiere un ER%<20%)
mientras disminuye el número de iteraciones y, por lo tanto, el tiempo de
ejecución del método. No es de interés hacer este experimento para los métodos
explícitos porque ya sabemos que si Co es >1, éstos dejan de ser estables.
Se selecciona un ángulo de falla θ =2919 para realizar el análisis de los
métodos implícitos al variar Co. En las figuras 5.6, 5.7 y Tabla 5.1 podemos
observar el comportamiennto de los errores y del tiempo de ejecución en los
métodos BTCS y Crank-Nicolson.
19 Uno de los máximos valores de ángulos de falla para los cuales funciona la ecuación general de modelado tectónico sedimentario directo (ver Apéndice 1)
Comparación de Resultados y Análisis de Sensibilidad
125
Figura 5.6 Gráficos de errores relativos porcentuales verdaderos del método implícito BTCS
al variar Co y por lo tanto dt, con los valores de parámetros siguientes: θ =29°,
n_puntos=450, LongitudX=22500m, dx=50m y Tfinal=3000 ka.
Comparación de Resultados y Análisis de Sensibilidad
126
Figura 5.7 Gráficos de errores relativos porcentuales verdaderos del método implícito Crank-
Nicolson al variar Co y por lo tanto dt, con los valores de parámetros siguientes: θ =29°,
n_puntos=450, LongitudX=22500m, dx=50m y Tfinal=3000 ka.
Comparación de Resultados y Análisis de Sensibilidad
127
Parámetros Método Valores de los parámetros
Co Ambos 0.5 2 4 6 10 15 20
dt (ka) Ambos 12.5 50 100 150 250 375 500
Tejec (sg) Ambos 0.3 0.08 0.04 0.03 0.02 0.01 0.01
BTCS 2.1 4.3 6.3 7.8 10.6 13.8 16.6 Máx Er%
Crank-
Nicolson
0.9 1.4 2.5 3.1 4.9 6.7 8.3
Tabla 5.1 Tiempos de ejecución y máximos errores relativos porcentuales al aumentar Co en
los métodos implícitos: BTCS y Crank-Nicolson.
A partir de las figuras 5.6 y 5.7 y de los datos vistos en la Tabla 5.1
podemos decir que el método implícito Crank-Nicolson es el método
más apropiado cuando se quiere disminuir considerablemente el tiempo
de ejecución, y se aceptan errores mayores al 1% y menores al 20%.
Nótese que el número de iteraciones se ha reducido de 240 (3000ka/12.5ka)
para el dt más restrictivo hasta 6 (3000ka/500ka) para el dt menos restrictivo.
La ventaja de los métodos implícitos respecto a los explícitos se evidencia
en la posibilidad de reducir el tiempo de ejecución, aumentando el dt que
teóricamente carece de restricción, como ejemplo comparemos el tiempo de
ejecución que emplea el método explícito Lax-Wendroff, que es de 0.16 sg
(Figura 5.3) con el que emplea el método implícito Crank-Nicolson (que es de
0.01 sg) al aumentar Co a 20, (Tabla 5.1). En este caso, el tiempo de ejecución ha
disminuido en un 93%, siendo la solución del método implícito aceptable según
el primer límite de error establecido (20%) en la Sección 5.2.
Comparación de Resultados y Análisis de Sensibilidad
128
5.5. Comparación de Soluciones Aproximadas por Diferencias
Finitas con Imágenes Sísmicas
En esta sección se pretende modelar la geometría de pliegues asociados a fallas
no planas localizados en Venezuela, a través de los métodos de diferencias
finitas programados. Se estudia el caso en que la estructura geológica es formada
por la acción de procesos tectónicos únicamente y el caso en el que intervienen
tanto procesos tectónicos como sedimentarios.
5.5.1. Modelado de la Geometría del Campo Petrolífero Rosario (Cuenca
Occidental de Venezuela)
La estructura del Campo Petrolífero Rosario consiste en un pliegue
asociado a falla no plana, localizado cerca del pueblo del Rosario, en la Cuenca
Occidental de Venezuela (Figura 5.8 Superior Izquierda), producido por el
desplazamiento del bloque levantado a lo largo de un corrimiento de rumbo
noreste-suroeste (Apotria & Wilkerson, 2004). Las imágenes sísmicas20 extraídas
del Campo Rosario revelan detalles de la estructura y la geometría de los
distintos horizontes sísmicos (Figura 5.8 Superior Derecha, Inferior).
20 La técnica para obtención de imágenes sísmicas, en forma general, consiste en generar ondas sísmicas utilizando fuentes tales como explosivos, vibradores, etc. y medir con equipos de grabación muy sofisticados el tiempo transcurrido desde la generación de la onda hasta que ésta es recibida por los sensores (geófonos) colocados en la superficie. Tomando los tiempos de llegada y conociendo las velocidades de propagación se pueden reconstruir las trayectorias de las ondas sísmicas. El objetivo de los métodos sísmicos es el de reconstruir la disposición de las rocas en el subsuelo (estructura) y sus características físicas (litología, fluidos, etc.) a partir de la información grabada, esto es, de los tiempos de recorrido, las amplitudes, cambios de fase y frecuencia, etc. (Regueiro, 1995)
Comparación de Resultados y Análisis de Sensibilidad
129
Figura 5.8 (Superior Izquierda) Ubicación de la Cuenca Occidental de Maracaibo, Venezuela. El campo petrolífero Rosario se resalta en el cuadro blanco. (Superior Derecha) Tope de la Estructura Rosario. Las zonas azules son las más profundas y las de color rojo son las menos profundas. Las líneas rectas rojas representan la posición de las líneas sísmicas. (Inferior) Línea sísmica Cat-85-1, utilizada en este estudio para comparación. (Apotria & Wilkerson, 2004)
Comparación de Resultados y Análisis de Sensibilidad
130
La superposición de los gráficos arrojados por el método de diferencias
finitas explícito Lax-Wendroff21 sobre las imágenes sísmicas, para varios
horizontes de la estructura, se muestra a continuación:
Figura 5.9 Superposición de gráficos obtenidos a través del método Lax-Wendroff sobre la
sección sísmica, con los valores de parámetros siguientes: LongitudX≈11.7km,
n_puntos=330, dx=50m, CorteFallaX1≈3km, CorteFallaX2≈ 8.9km θ =17°,
r=0.91, Tfinal=3000ka y S=1.4479m/ka.
21 Método escogido por ser uno de los más exactos y por emplear menores tiempos de ejecución que los métodos implícitos cuando se trabaja con pocos puntos.
Comparación de Resultados y Análisis de Sensibilidad
131
5.5.2. Modelado de la Geometría del Corrimiento de Pirital (Cuenca
Oriental de Venezuela)
El corrimiento de Pirital es una de las estructuras de rumbo noreste-suroeste del
frente de la deformación localizada en la subcuenca de Maturín (Figura 5.10
Superior). En la Figura 5.10 Inferior, se muestra la superposición de los gráficos
arrojados por el método de diferencias finitas implícito Crank-Nicolson22 sobre
las imágenes sísmicas, para varios horizontes de la estructura. A diferencia del
ejemplo anterior, esta estructura se ha desarrollado bajo la acción de procesos
tectónicos y sedimentarios. La línea superior, denotada en el gráfico por L1 es la
única que ha sufrido ambos procesos. Las líneas inferiores (L2 y L3) están
conformadas por sedimentos pre-tectónicos. Las líneas superiores L1.1, L1.2,
L1.3, L1.4 y L1.5 están conformadas por sedimentos denominados syn-
tectónicos23 (acumulados al ocurrir los procesos tectónicos) y han aparecido
cada 500ka (modelo tomado de Hardy & Poblet, 1995; Bernal & Hardy, 2002).
Los horizontes denotados por L1.1, L1.2, L1.3, L1.4, L1.5, L2 y L3 han sido
sometidos únicamente a la acción de procesos tectónicos.
22 Método implícito de diferencias finitas desarrollado, aplicable tanto para el modelo tectónico como para modelo el tectónico-sedimentario. 23 Syn: prefijo griego que denota con, junto, al mismo tiempo.
Comparación de Resultados y Análisis de Sensibilidad
132
Figura 5.10 (Superior) Ubicación de la Subcuenca de Maturín. La zona del corrimiento de
Pirital se resalta en el recuadro rojo. (Inferior) Superposición de gráficos obtenidos a través del
método Crank-Nicolson sobre la sección sísmica tomada de el limbo posterior del pliegue
asociado a falla no plana interpretado en la zona del corrimiento de Pirital, sometido a
procesos tectónicos y sedimentarios, con los valores de parámetros siguientes:
LongitudX≈23km, n_puntos=600, dx=50m, CorteFallaX1≈ 6.3km, CorteFallaX2≈
15.5km, θ =20°, r=0.87, Tfinal=3000ka, S=2.0434m/ka, tasa de sedimentación de
materia p=0.5 m/ka y el coeficiente de difusión α= 5000 m2/ka.
133
CONCLUSIÓN
Después de haber comparado los métodos de diferencias finitas explícitos (Lax,
Contraviento, Leapfrog, Lax-Wendroff y MacCormack) e implícitos (BTCS y
Crank-Nicolson), capaces de resolver el modelo matemático que describe la
evolución en el tiempo de un pliegue asociado a falla no plana cuando es
sometido a la acción de procesos tectónicos únicamente, se concluye que el
método explícito Lax-Wendroff es el más apropiado cuando se necesita
primordialmente obtener errores menores al 1% (como es el caso del modelado
de sistemas de drenaje a través de un pliegue asociado a falla no plana). El
método implícito Crank-Nicolson es el más apropiado cuando se requiere
principalmente minimizar el tiempo de ejecución y la condición del error es
menos restrictiva (menor al 20%, como es el caso de modelado geométrico
estructural), lo que hace posible reducir el tiempo de ejecución en un 93% con
respecto al tiempo empleado por los métodos explícitos más eficientes
presentados en este trabajo.
Al resolver el sistema de ecuaciones algebraicas usando varios esquemas
explícitos (Lax, Contraviento de primer y tercer orden, Dufort-Frankel y
MacCormack) e implícitos (BTCS y Crank-Nicolson) y programado los
algoritmos en lenguaje C++, no se pudo concluir cuál o cuáles son los mejores
métodos para resolver el modelo tectónico-sedimentario, por carecer de una
solución exacta con la que se puedan comparar resultados y cuantificar errores,
pudiendo ser obtenida únicamente mediante cálculos analíticos complejos que
escapan del alcance de este trabajo.
134
RECOMENDACIONES
La continuidad de este trabajo puede enfocarse en las siguientes
recomendaciones:
1. Obtener la solución matemática exacta de la ecuación general de modelado
tectónico-sedimentario directo, a fin de cuantificar los errores y poder
comparar las soluciones arrojadas por los métodos de diferencias finitas
que resuelven el modelo tectónico-sedimentario, cuya programación es
aportada por esta investigación.
2. Extender este estudio a otro tipo de estructuras geológicas de interés, tales
como: pliegues asociados a propagación de fallas y pliegues de despegue
basal, que también son modelados por la ecuación general de modelado
tectónico-sedimentario directo propuesta por Waltham.
135
REFERENCIAS BIBLIOGRÁFICAS
ANDERSON, D., TANNEHILL, J. & PLETCHER, R., 1984. Computational
Fluid Mechanics And Heat Transfer. New York. Hemisphere Publishing
Corporation. 590p.
BERNAL, A., 2004. Fault-related folding in three dimensions and its influence
upon the evolution of stratigraphic sequences and drainage networks. Ph.D.
thesis. University of Manchester, 332p.
BERNAL, A., HARDY, S., 2002. “Syn-tectonic sedimentation associated with
three-dimensional fault-bend fold structures: a numerical approach”. Journal of
Structural Geology, 24, 609-635.
CHAPRA, S., CANALE, R., 1999. Métodos Numéricos para Ingenieros.
Tercera edición. México. Mcgraw-Hill. 982 p.
CONTRERAS, J., SUTER, M., 1990. "Kinematic modelling of cross-sectional
deformation sequences by computer simulation". Journal of Geophysical
Research, 95, 21913-21929.
DEITEL, H., DEITEL, P.,1994. Cómo programar en C/C++. México.
Prentice-Hall. 899 p.
FERZIGER, J., PERIC, M., 1999. Computational Methods for Fluid
Dynamics.Springer-Velarg. 389 p.
136
FOX, L., MAYERS, F., 1987. Numerical Solution of Ordinary Differential
Equations. Londres. Chapman and Hall. 246 p.
HARDY, S., 1994. Mathematical Modelling of Sedimentation in Active Tectonic
Settings. Ph.D. thesis. Royal Holloway University of London, 258p.
HARDY, S., POBLET, J., 1995. “The velocity description of deformation.
Paper 2: sediment geometry associated with fault-bend and fault-propagation
folds”. Marine and Petroleum Geology, 12,165-176.
HERNÁNDEZ, D., 1990. Introducción a los Principios Básicos de la
Programación Orientada por Objetos. Universidad de los Andes. 62 p.
POZRIKIDIS, C., 1997. Introduction to Theoretical and Computational Fluid
Dynamics. Oxford University Press. 688p.
PRESS, W., TEUKOLSKY, S., VETTERLING, W. & FLANNERY, B., 1988.
Numerical Recipes in C: The Art of Scientific Computing. Cambridge
University Press. 712 p.
REGUEIRO, J., 1995. Sísmica para Ingenieros y Geólogos de Yacimiento.
Sociedad Venezolana de Ingenieros Geofísicos (SOVG). 253 p.
SEWELL, G., 1988. Finite Differences, Finite Elements and PDE2D. El Paso,
Texas. Mathematics of Texas at El Paso. 409 p.
137
SUPPE, J., 1983. “Geometry and kinematics of fault-bend folding”. American
Journal of Science, 283, 684-721.
VEMURI, V., 1981. Digital Computer Treatment of Partial Diferential
Equations. New Jersey. Prentice-Hall. 440 p.