Ecuación DP
Ecuación DP
Ecuación DP
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