Вы находитесь на странице: 1из 41

Mtodos de Diferencias Finitas

para
Ecuaciones en Derivadas Parciales
Ecuaciones en Derivadas Parciales
Introduccin
Diferencias finitas
Convergencia y estabilidad
Ecuaciones hiperblicas: ecuacin de Ondas
Ecuaciones parablicas: ecuacin del Calor
Ecuaciones elpticas: ecuacin de Laplace
Introduccin
EDP de orden 2, lineales de coeficientes
constantes.
Auxx+Buxy+Cuyy+Dux+Euy+Fu=G
Ecuacin de Ondas utt c2uxx = 0
Ecuacin del Calor ut cuxx = 0, c>0
Ecuacin de Laplace uxx + uyy = 0
Condiciones iniciales y de contorno
Diferencias finitas

Discretizacin: EDP EDF


Mtodos explcitos h
yj+1
Sencillos
k
Inestables yj
u i,
Mtodos implcitos yj1 j
Ms complejos
x i1 x i x i+1
Estables
Diferencias primeras
Hacia adelante

Error

Hacia atrs
Diferencias primeras (cont.)
Diferencias simtricas

Error
Diferencias segundas
Diferencias simtricas

Error
Convergencia y estabilidad
EDP F(x,y,u)=0 Solucin:
EDF Gi,j(h,k,u)=0, para cada (i,j)

Convergencia

Consistencia

Estabilidad: Control del error de redondeo

Consistencia + Estabilidad Convergencia


Ecuaciones hiperblicas
Ecuacin de utt = cuxx , 0 < x < L, t > 0
Ondas
Condiciones u(x, 0) = f(x) ut(x, 0) = g(x)
iniciales
Condiciones u(0,t) = l(t) u(L,t) = r(t)
de contorno
Ecuacin en diferencias finitas
Ec. de Ondas: Mtodo explcito
Condiciones iniciales
ui,0 = fi y ui,1 ui,1 = 2kgi
Paso 1
ui,1 = 2 (fi1+fi+1)/2 + (12)fi + kgi

Pasos siguientes
ui,j+1 = 2(ui+1,j + ui1,j) +2(1 2)ui,j ui,j1

Convergencia 1
Ecuacin de ondas. Mtodo explcito.
Ejemplo utt = cuxx , 0 < x < L, t > 0
c = 1, L=T=4, nx=4, nt=8,
u(x, 0) = 2|x2| ut(x, 0) = 0
u(0,t) = 0 u(L,t) = 0
Condicin de convergencia :
Instante t = 0:
u0,0 = f(x0) = 2 |x0 2| = 2 |0 2| = 0 = f(x4)
u1,0 = f(x1) = 2 |x1 2| = 2 |1 2| = 1 = f(x3)
u2,0 = f(x2) = 2 |x2 2| = 2 |2 2| = 2
Instante t=1:
ui,1 = a2(ui-1,0+ui+1,0)/2 + (1 a2)ui,0 + kg(xi)

donde a2 = 1/4, 1 a2 = 3/4:


u1,1 = (1/4)(u0,0 + u2,0)/2 + (3/4)u1,0 =

(1/4)(0 + 2)/2 + (3/4)1 = 1 = u3,1


u2,1 = (1/4)(u1,0 + u3,0)/2 + (3/4)u2,0 =

(1/4)(1 + 1)/2 + (3/4)2 = 7/4


Aplicando la frmula genrica
ui,j+1 = a2(ui-1,j + ui+1,j) + 2(1 a2)ui,j ui,j1
con lo que, para t = 1 obtenemos:
u1,2 = (1/4)(u0,1 + u2,1) + (3/2)u1,1 u1,0
= (1/4)(0 + 7/4) + (3/2)1 1 = 15/16
= u3,2
u2,2 = (1/4)(u1,1 + u3,1) + (3/2)u2,1 u2,0
= (1/4)(1 + 1) + (3/2)(7/4) 2 = 9/8
Procediendo anlogamente

x=0 x=1 x=2 x=3 x=4


t=0 0 1.0000 2.0000 1.0000 0
t = 0.5 0 1.0000 1.7500 1.0000 0
t=1 0 0.9375 1.1250 0.9375 0
t = 1.5 0 0.6875 0.4063 0.6875 0
t=2 0 0.1953 -0.1719 0.1953 0
t = 2.5 0 -0.4375 -0.5664 -0.4375 0
t=3 0 -0.9932 -0.8965 -0.9932 0
t = 3.5 0 -1.2764 -1.2749 -1.2764 0
t=4 0 -1.2401 -1.6541 -1.2401 0
Ec. de Ondas: Mtodo implcito
Idea
ui,j+1 2ui,j + ui,j1 = 2 [(ui+1,j+1 2ui,j+1 +
ui1,j+1)

+ (ui+1,j1 2ui,j1 + ui1,j1)]/2


Pasos
(1+2)ui,j+1 2(ui+1,j+1 + ui1,j+1)/2 =
2ui,j + 2(ui+1,j1 + ui1,j1)/2 (1+2)ui,j1
Algoritmo del mtodo implcito
Truco ecuacin implcita
2( ui1,j1 + ui1,j+1)/4
+ (1 + 2)(ui,j1 + ui,j+1)/2
2(ui+1,j1 + ui+1,j+1)/4 = ui,j .

Sistema Aw = v, v=
(u1,j,u2,j,...,unx1,j)'
tridiagonal ui,j+1 = wi ui,j1

Factorizacin LU Lz = v
Uw = z
Mtodo implcito.
Resolucin del sistema

Sustitucin

Factorizacin LU
x=0 x=1 x=2 x=3 x=4
t=0 0 1.0000 2.0000 1.0000 0
t = 0.5 0 1.0000 1.7500 1.0000 0
t=1 0 0.9184 1.1837 0.9184 0
t = 1.5 0 0.6926 0.4824 0.6926 0
t=2 0 0.2912 0.1699 0.2912 0
t = 2.5 0 0.2449 0.6647 0.2449 0
t=3 0 0.7996 0.9953 0.7996 0
t = 3.5 0 1.2231 1.2214 1.2231 0
t=4 0 1.3966 1.3981 1.3966 0
Ecuaciones parablicas
Ecuacin ut = cuxx, 0 < x < L, t > 0
del Calor
Condicin u(x, 0) = f(x)
inicial
Condiciones u(0, t) =T0 u(L, t) = TL
de contorno
Ecuacin en diferencias
Ec. del Calor: Mtodo explcito
Condicin inicial
ui,0 = f(xi)
Condiciones de contorno
u0,j = T0 unx,t = TL para j>0
Pasos siguientes
ui,j+1 = (ui+1,j+ui1,j) +(12)ui,j

Convergencia 1/2 ptimo = 1/6


Ecuacin del Calor. Mtodo explcito.
Ejemplo
Hallar la temperatura para t = 0.3 de una barra
de 1m cuyos extremos se mantienen a 20C y a
40C. La temperatura inicial de la barra es de
100C y el coeficiente c = 0.1. Tomar x = 0.2
y t = 0.1. Justificar la aplicabilidad del mtodo
explcito.

Ajuste de las condiciones iniciales y de


contorno:
u0,0 = 60, u1,0 = u2,0 = u3,0 = u4,0 = 100,
u5,0 = 70
Instante t = 0.1
u1,1 = (u0,0 + u2,0)/4 + u1,0/2
= (60+100)/4 + 100/2 = 90
u2,1 = u3,1 = 100
u4,1 = (u3,0 + u5,0)/4 + u4,0/2
= (100+70)/4 + 100/2 = 92.5
Instante t = 0.2 :
u1,2 = 75 u2,2 = 97.5
u3,2 = 98.125 u4,2 = 81.25

Instante t = 0.3:
u1,3 = 66.875 u2,3 = 92.0313
u3,3 = 93.75 u4,3 = 75.1563
Ec. del Calor: Mtodo implcito
Idea: Diferencias hacia atrs

Pasos
(1+2)ui,j (ui1,j + ui+1,j) = ui,j1
Convergencia
para todo
Ecuacin del Calor. Mtodo implcito

Se verifica la condicin de convergencia :


= 1/4 < 1/2
Diagonal principal: 1 + 2 = 3/2,
Diagonales contiguas = 1/4.
Para t = 0.1:
Valores obtenidos por este mtodo:

x = 0.2 x = 0. 4 x = 0.6 x = 0.8


t = 0.1 86.2237 97.3423 97.8301 89.6384
t = 0.2 76.3776 93.3707 94.4771 82.1718
t = 0.3 69.0598 88.8487 90.5494 76.5394
Mtodo de Crank-Nicholson
Idea: media de diferencias centrales
ui,j+1 ui,j = [(ui+1,j+1 2ui,j+1 + ui1,j+1) +
(ui+1,j 2ui,j + ui1,j)] /2
Pasos
2(1+)ui,j+1 (ui+1,j+1 + ui1,j+1) =
2(1)ui,j + (ui+1,j + ui1,j)
Convergencia para todo
Ecuacin del Calor. Mtodo de
Crank-Nicholson
Matriz del sistema:

Trmino independiente del primer paso:


Valores obtenidos por Crank-Nicholson:

x = 0.2 x = 0.4 x = 0.6 x = 0.8


t = 0.1 87.8683 98.6826 98.9578 90.8958
t = 0.2 76.0999 95.1069 96.0470 82.0380
t = 0.3 68.2003 90.2963 91.9748 76.0250
Ecuaciones elpticas
Ecuacin de Laplace
uxx + uyy = 0, 0 < x < a, 0 < y <b
Condiciones de contorno
u(x,0), u(x,b), u(0,y), u(a,y)
Discretizacin
Ecuacin de Laplace
Ecuacin en diferencias: =k/h
2(ui-1,j + ui+1,j) + ui,j-1 + ui,j+1 2(2+1)ui,j = 0

Matriz del
sistema:
grande ,
dispersa

Caso h = k : ui-1,j + ui+1,j + ui,j-1 + ui,j+1 = 4ui,j


Ec. de Laplace: Mtodos iterativos
Mtodo de Jacobi

Mtodo de Gauss-Seidel

Criterio de parada
Mtodo de Sobrerrelajacin
Idea:
ponderar el desplazamiento de Gauss-Seidel
Pasos

Si = 1 coincide con Gauss-Seidel


Ecuacin de Laplace.
Ejemplo u + u =0, 0<x<1
xx yy
0 < y < 1,
n=4 m=4,
u(x, 0) = 0 u (x, 1) = 100x
u(0, y) = 0 u(1, y) = 100y
= 0.01
Ajuste de las condiciones de contorno:
Mtodo de Jacobi.

Iteraciones: 8
Operaciones en coma flotante: 1142
Mtodo de Gauss-Seidel.

Iteraciones: 11
Operaciones en coma flotante: 1378
Mtodo de Sobrerrelajacin.
Factor de relajacin: = 1.2
Iteraciones: 8
Operaciones en coma flotante: 1802
Algoritmos iterativos por bloques
Iteracin por bloques fila
Para j = 1, 2, , m-1, resolver el sistema

Iteracin por bloques columna


Mtodo implcito de direcciones alternadas
Mtodo de Direcciones Alternadas.

Iteraciones: 5
Operaciones en coma flotante: 1468
Errores mximos.
Solucin:
u(x,y) = xy
FIN

Вам также может понравиться