You are on page 1of 30

Mtodo de diferencias finitas para

ecuaciones diferenciales parciales


elpticas
(Parte II)
Mtodos numricos para sistemas lineales
Solucin numrica de EDPs requiere resolver sistemas de
ecuaciones lineales
Matrices pueden ser grandes y sparse (5 o 6 elementos
distintos de cero por fila)
Qu mtodos existen?
Exactos
Iterativos
Mtodos numricos para sistemas lineales
Mtodos exactos (Ejemplo: Gauss):
Resuelve el sistema en forma exacta (al usar punto flotante siempre
hay errores)
Hay mtodos (y software) especiales para manejar matrices sparse de
manera eficiente. A pesar de esto requieren harto espacio de
almacenamiento
Mtodos iterativos:
Requieren menos espacio de almacenamiento
Guardan solo valores distintos de cero de la matriz
Requieren de una solucin inicial del sistema para
comenzar
Criterio de detencin es complicado de manejar para
asegurar precisin en la solucin aproximanda obtenida
(captulo 3, Mathews-Fink, apuntes MC Rivara)
Mtodos directos

Mtodo de Gauss: La matriz ampliada de AX=B es la siguiente:

Esta se resuelve usando operaciones elementales sobre sus filas


(las variables xk sirven para marcar el sitio de los coeficientes y
pueden ser omitidas hasta el final de los clculos)
Mtodos directos: mtodo de Gauss
Operaciones elementales con las filas, pivotes y multiplicadores
Mtodos directos: mtodo de Gauss
Ejemplo

Sistema de ecuaciones

Matriz ampliada
Mtodos directos: mtodo de Gauss
Ejemplo

Elementos primera columna eliminados

Elementos segunda columna eliminados


Mtodos directos: mtodo de Gauss
Ejemplo

Elementos tercera columna eliminados

Resultado: sistema triangular superior


Se resuelve de abajo hacia arriba

9x 4=18
Costo computacional del mtodo de Gauss
Para una matriz de NxN es de O(N) (este es el orden del nmero de
operaciones divisiones, multiplicaciones y restas que realiza el algoritmo)
Propuesto: contarlas!
Qu problemas trae esto?
Muy lento para grillas no muy grandes y usa harto espacio
Por ejemplo: un problema de Dirichlet requiere la resolucin de un
sistema de (n-2)(m-2) ecuaciones
Si la grilla de R es de 10x10 cuadrados, cuntas ecuaciones e incgnitas son?
Si R es de 100x100?
De qu orden es el nmero de operaciones que realiza el algoritmo de Gauss?
Cuanto se demora sobre un computador que tiene 2GHz (suponiendo que tiene
la memoria suficiente)? 2GHz significa 2*10 tics por segundo. Supongamos
que 1 operacin de punto flotante necesita 4 tics => 500 megaflops por segundo
(operaciones de punto flotante).
Mtodos iterativos: Jacobi

Sistema de ecuaciones
Solucin: (2,4,3)

Estas ecuaciones se pueden escribir como:

Qu sugiere esto?
Mtodos iterativos: Jacobi

Sugiere un mtodo iterativo:

Qu necesitamos? Valores iniciales x 0, y 0, z 0 para


calcular x y z
1, 1, 1

Comencemos con P0 = x 0, y 0, z 0 =1,2,2

Parece converger a la solucin


Mtodos iterativos: Jacobi
Este proceso se conoce como: Mtodo de iteracin de Jacobi
No sirve para resolver todos los sistemas lineales

En el ejemplo: 19 iteraciones
Mtodo iterativo de Jacobi: Ejemplo de
divergencia

El mismo sistema de ecuaciones reordenado:

Si escribimos estas ecuaciones como:


Mtodo iterativo de Jacobi: Ejemplo de
divergencia

As, el mtodo iterativo de Jacobi queda:

Y partimos con el mismo punto inicial


P0 = x 0, y 0, z 0 =1,2,2
El punto (1.5,3.375, 5) est ms alejado de la solucin que el punto
inicial de la solucin.
Mtodo iterativo de Jacobi: Ejemplo de
divergencia

En este ejemplo, el mtodo diverge!


Mtodo iterativo de Gauss-Seidel

Podemos algunas veces acelerar la convergencia?


Basado en el mtodo de Jacobi, la idea es que cada vez que
tenemos un nuevo valor, usamos ese para obtener el valor de la
siguiente ecuacin
Lo aplicamos al ejemplo anterior:

El nuevo punto est ms cerca de la solucin que el punto obtenido


con Jacobi
Mtodo iterativo Gauss-Seidel

Y se necesitaron 10 iteraciones!
Cmo saber cuando convergen?

Definicin: Se dice que una matriz A de NxN es de diagonal


estrictamente dominante cuando:
N

akk a kj para k=1,2,. .. , N


j=1, jk

Teorema (Mtodo iterativo de Jacobi). Supongamos que A es una matriz


diagonal estrictamente dominante. Entonces el sistema de ecuaciones
lineales AX = B tiene solucin nica X=P. Adems, el proceso iterativo de
Jacobi produce una sucesin de vectores que converge a P cualquiera sea
el vector de partida.
Dem: Puede encontrarse en textos anlisis numrico avanzado.

Nota: Esta es una condicin suficiente pero no necesaria...


Mtodo sobrerelajacin sucesiva

Cmo se deduce? Recordemos la ecuacin de diferencias de


Laplace
ui 1j ui1j uij1uij14 u ij =0
y supongamos que conocemos los valores de u(x,y) en el contorno

u x 1, y j =u1, j para 2 jm1 a la izquierda


u x i , y 1 =u i ,1 para 2in1 abajo

u x n , y j =u n , j para 2 jm1 a la derecha


u x i , y m =ui , m para 2in1 arriba
Mtodos sobrerelajacin sucesiva

La ecuacin escrita de manera adecuada para iterar es:


uij =uij r ij
siendo

u i1j u i1juij1 uij1 4 uij


r ij =
4

con 2in1 y 2 jm1

Qu informacin adicional necesitamos?


Mtodos sobrerelajacin sucesuva

Disponer de valores iniciales en los puntos interiores de la


malla (grilla)
Usar por ejemplo la constante K definida como la media de los 2n
+ 2m -4 valores de contorno
En que consiste cada iteracin?
Hacer un barrido de todos los puntos interiores de la malla con la
frmula recursiva hasta que r ij se reduzca a cero (| r ij | < ,
siendo una tolerancia prefijada)
Se puede aumentar la velocidad de la convergencia a cero?
Si: usando mtodo de sobrerelajacin sucesiva
Mtodos sobrerelajacin sucesiva

Mtodo de relajacin sucesiva:


Ejemplo: Laplace- cond. Dirichlet

Problema: determinar la solucin aproximada de la


ecuacin de Laplace en el rectngulo
donde u(x,y) denota la temperatura en un punto (x,y), los
valores de frontera son:
u(x,0) = 20 0<x<4
u(x,4) = 180 0 <x<4
u(0,y) = 80 0<y<4
u(4,y) =0 0 <y < 4

Solucin: dividimos el cuadrado en 64 cuadrados,


usamos h = 0.5 y valor inicial puntos interiores = 70,
para i=2,...,8 y j = 2,...,8. = 1.44646, n=9, m=9
Resultados

- Obtenido despues de 19
iteraciones
- r 0.0006060.001
ij
- Uso de promedio en esquinas
Mtodos iterativos ...

Mtodo de relajacin sucesiva: Condiciones de Neumann


Ejemplo: Laplace- Cond. Mixtas
Problema: determinar la solucin aproximada de la
ecuacin de Laplace en el rectngulo
donde u(x,y) denota la temperatura en un punto (x,y), los
valores de frontera son:
u(x,4) = 180 0 < x < 4 (Dirichlet)
uy(x,0) = 0 0 < x < 4 (Neumann)
u(0,y) = 80 0 < y < 4 (Dirichlet)
u(4,y) =0 0 <y < 4 (Dirichlet)

Solucin: dividimos el cuadrado en 64 cuadrados,


usamos h = 0.5, valor inicial puntos interiores 70,
para i=2,...,8 y j = 2,...,8. = 1.44646, n=9, m=9,
valor inicial para y = y1 = 0, interpolacin lineal,
Resultados

- Obtenido despues de 29
iteraciones
- r 0.0009980.001
ij
- Uso de promedio en esquinas
EDPs Elpticas ms generales

Mtodo iterativo aplicado a ecuacin de Poisson


EDPs Elpticas ms generales

Mtodo iterativo aplicado a ecuacin de Helmholz


Resumen

Mtodos para resolver sistemas lineales


Mtodo de Gauss (exacto)
Mtodo iterativo de Jacobi
Mtodo iterativo de Gauss-Seidel
Mtodo de sobrerelajacin sucesiva (aplicado a la
ecuacin de Laplace)

You might also like