proyecto de grado - biblioteca digital de la universidad de los...

59
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++){

Upload: others

Post on 19-Apr-2020

1 views

Category:

Documents


0 download

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.

APÉNDICES

139

Apéndice 1

Especificación de los valores: ángulo de falla (θ), ángulo del limbo frontal (β), ángulo axial (γ) y tasa de reducción de deslizamiento (r) para pliegues asociados a fallas no planas (Suppe, 1983)