Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Métodos de Diferencias Finitas para Ecuaciones en Derivadas Parciales
Métodos de Diferencias Finitas para Ecuaciones en Derivadas Parciales
para
Ecuaciones en Derivadas Parciales
Ecuaciones en Derivadas Parciales
Introducción
Diferencias finitas
Convergencia y estabilidad
Ecuaciones hiperbólicas: ecuación de Ondas
Ecuaciones parabólicas: ecuación del Calor
Ecuaciones elípticas: ecuación de Laplace
Introducción
EDP de orden 2, lineales de coeficientes
constantes.
Auxx+Buxy+Cuyy+Dux+Euy+Fu=G
Ecuación de Ondas utt - c2uxx = 0
Ecuación del Calor ut - cuxx = 0, c>0
Ecuación de Laplace uxx + uyy = 0
Condiciones iniciales y de contorno
Diferencias finitas
Hacia atrás
u( x i , y j ) - u( x i - h, y j ) u i , j - u i -1, j
u x ( xi , y j )
h h
Diferencias primeras (cont.)
Diferencias simétricas
u( x i + h, y j ) - u( x i - h, y j ) u i +1, j - u i -1, j
u x ( xi , y j )
2h 2h
Error
u( x + h, y ) - u( x - h, y) h 2
u x ( x, y ) - u xxx (, y),
2h 6
]x - h, x + h[
Diferencias segundas
Diferencias simétricas
u x ( x i + h, y j ) - u x ( x i , y j ) u i +1, j - 2 u i , j + u i -1, j
u xx ( x i , y j )
h h2
Error
u( x - h, y) - 2 u( x, y) + u( x + h, y ) h 2
u xx ( x, y) 2 - u xxxx (, y)
k 12
]x - h, x + h[
Convergencia y estabilidad
~
u ( x, y)
EDP F(x,y,u)=0 Solución:
EDF Gi,j(h,k,u)=0, para cada (i,j) u h ,k ( x i , y j )
Consistencia G i , j ( h, k , ~
u) h 0 0
,k
Pasos siguientes
ui,j+1 = a2(ui+1,j + ui-1,j) +2(1 - a2)ui,j - ui,j-1
Convergencia a1
Ecuación de ondas. Método explícito.
Ejemplo utt = c²uxx , 0 < x < L, t > 0
c = 1, L=T=4, nx=4, nt=8,
u(x, 0) = 2-|x-2| ut(x, 0) = 0
u(0,t) = 0 u(L,t) = 0
Condición de convergencia : a ck 1 0.5 1
1
h 1 2
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 + k·g(xi)
Sistema Aw = v, v = (u1,j,u2,j,...,unx-1,j)'
tridiagonal ui,j+1 = wi - ui,j-1
Factorización LU Lz = v
Uw = z
Método implícito. 58 -1 0 x1 1
16
-116 16 x1 4
5 -1 7
8
Sustitución
u1, 2 x1 u1, 0 1.9184 1 0.9184
u2, 2 x1 - u2, 0 3.1837 - 2 1.1837
u x u 1.9184 1 0.9184
3, 2 1 3, 0
Factorización LU
0.625 0 0 1 - 0.1 0
L - 0.0625 0.61875 0 U 0 1 - 0.10
- 0
0 0 . 0625 0 . 6186 0 1
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 parabólicas
Ecuación ut = cuxx, 0 < x < L, t > 0
del Calor
Condición u(x, 0) = f(x)
inicial
Condiciones u(0, t) =T0 u(L, t) = TL
de contorno
Ecuación en diferencias
Pasos siguientes
ui,j+1 = a(ui+1,j+ui-1,j) +(1-2a)ui,j
ck 0.1 0.1 1 1
a 2
h 0.04 4 2
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: Método implícito
Idea: Diferencias hacia atrás
ui , j - ui , j -1 ui +1, j - 2ui , j + ui -1, j
c 2
k h
Pasos
(1+2a)ui,j - a(ui-1,j + ui+1,j) = ui,j-1
Convergencia
para todo a
Ecuación del Calor. Método implícito
Condiciones de contorno
Discretización
ui+1, j - 2ui , j + ui-1, j ui , j+1 - 2ui , j + ui , j-1
2 + 2 0
h k
Ecuación de Laplace
Ecuación en diferencias: a=k/h
a2(ui-1,j + ui+1,j) + ui,j-1 + ui,j+1 - 2(a2+1)ui,j = 0
Matriz del
sistema:
grande ,
dispersa
u (i ,kj) a 2 u (i -k1-,1j) + u (i +k1-,1j) + u (i ,kj--11) + u (i ,kj+-11) 2 + 2a 2
Método de Gauss-Seidel
u(i ,kj) a 2 u(i -k1) , j + u(i +k1-,1j) + u(i ,kj)-1 + u(i ,kj-+11) 2 + 2a2
u (i ,kj) a 2 u(i -k1) , j + u(i +k1-,1j) + u(i ,kj)-1 + u(i ,kj-+11) 2 + 2a 2
( k - 1)
u (k)
i, j (1 - w ) u i, j + wui , j
(k)
Iteraciones: 8
Operaciones en coma flotante: 1142
y = 0.25 y = 0. 5 y = 0.75
x = 0.25 6.2561 12.5031 18.7500
x = 0.5 12.5031 25.0000 37.4969
x = 0.75 18.7500 37.4969 56.2439
Método de Gauss-Seidel.
Iteraciones: 11
Operaciones en coma flotante: 1378
y = 0.25 y = 0. 5 y = 0.75
x = 0.25 6.2447 12.4947 18.7473
x = 0.5 12.4947 24.9947 37.4973
x = 0.75 18.7473 37.4973 56.2487
Método de Sobrerrelajación.
Factor de relajación: w = 1.2
Iteraciones: 8
Operaciones en coma flotante: 1802
y = 0.25 y = 0. 5 y = 0.75
x = 0.25 6.2514 12.5008 18.7502
x = 0.5 12.5008 25.0003 37.5002
x = 0.75 18.7502 37.5002 56.2500
Algoritmos iterativos por bloques
Iteración por bloques fila
Para j = 1, 2, … , m-1, resolver el sistema
- a 2 u(i -k1) , j + 2 + 2a 2 u(i ,kj) - a 2 u(i +k1) , j u(i ,kj)-1 + u(i ,kj-+11)
i 1, 2, ..., n
Iteraciones: 5
Operaciones en coma flotante: 1468
y = 0.25 y = 0. 5 y = 0.75
x = 0.25 6.2490 12.4991 18.7497
x = 0.5 12.4989 24.9990 37.4996
x = 0.75 18.7495 37.4995 56.2498
Errores máximos.
Solución: y = 0.25 y = 0. 5 y = 0.75
u(x,y) = x·y x = 0.25 6.2500 12.5000 18.7500
x = 0.5 12.5000 25.0000 37.5000
x = 0.75 18.7500 37.5000 56.2500