TEMA 6

Métodos iterativos de resolución de sistemas de ecuaciones lineales.

 

La ecuación de la transmisión del calor en una barra en régimen transitorio, es decir, dependiente del tiempo, viene dada por la ecuación diferencial:

         (6.1)

donde:

r = densidad del material, en (kg/m).

Cp = calor específico del material en (jul/kg · ºk).

Kt = conductividad térmica.

u(x,t) = temperatura en el punto x en el instante t.

L = longitud de la barra.

Con las condiciones de frontera:

y la condición inicial:

,

donde T(x) es la temperatura inicial en los puntos interiores de la barra.

Para discretizar el problema tomamos como tamaño de paso las constantes , de modo que L/h sea un entero n y M/k un entero m, donde M es el instante final que nos interese.

De esta forma quedan definidos los nodos:

y los tiempos:

,

de manera que la solución numérica vendrá dada por un conjunto de valores que serán aproximaciones de la solución exacta en los puntos (, ).

Aproximamos las derivadas parciales de la ecuación (6.1) por las expresiones:

         (6.2)

Sustituyendo las expresiones (6.2) en la ecuación (6.1) se tiene la ecuación:

que podemos expresar como:

         (6.3)

donde

Teniendo en cuenta la condición inicial

se tiene que

Por otra parte, como

tenemos que para , por lo que las ecuaciones (6.3) se pueden escribir mediante la siguiente ecuación matricial:

Tendremos pues que resolver tantos sistemas de ecuaciones lineales de n-1 ecuaciones con n-1 incógnitas como divisiones hayamos establecido en el intervalo de tiempo (Burden).

Los sistemas de ecuaciones a resolver tienen por matriz de coeficientes una matriz tridiagonal, y por lo tanto presentan un gran número de entradas "vacías" o ceros. El número de ceros será mayor en relación al número de entradas distintas de cero cuanto mayor sea la dimensión de la matriz.

Como dijimos en el tema 4, las matrices con un alto porcentaje de ceros se llaman dispersas, y se resuelven frecuentemente usando técnicas iterativas, en lugar de usar métodos directos.

Esto es así porque los métodos directos operan sobre la matriz de coeficientes, modificándola, y creando muchas entradas distintas de cero donde antes había ceros, con lo que la cantidad de cálculos y espacio de almacenamiento necesarios aumentará. Los métodos iterativos no modifican la matriz y pueden aprovechar mucho más su estructura dispersa. Además, cada iteración de un método iterativo suele tener generalmente un coste O(n2), mientras que el coste de los métodos directos es O(n3), donde n es la dimensión de la matriz (caso matrices densas). Para matrices muy grandes los métodos iterativos pueden llegar a ser mucho más eficientes, sobre todo si conseguimos que el número de iteraciones a realizar para conseguir la convergencia sea moderado.

En este tema estudiaremos los métodos iterativos básicos y aprenderemos cuándo es adecuado su uso.

El tema comienza con la deducción de la formulación escalar del método de Jacobi, a continuación se deduce la versión matricial del mismo y se dan distintas versiones de algoritmos de dicho proceso. Posteriormente, como una mejora del método de Jacobi se deducen las fórmulas matriciales y escalares del método de Gauss-Seidel y se presentan condiciones suficientes de convergencia de estos métodos. A continuación, se explican los métodos de relajación y un algoritmo de dichos procesos, y bajo un ejemplo se comparan las diferentes técnicas descritas. Por último, se realiza un resumen de las formas matriciales de los métodos, se desarrolla un algoritmo genérico de las versiones matriciales y una versión para el método de Gauss-Seidel analizando los costes computacionales de estos algoritmos.