Métodos numéricos para problemas de contorno
Damián Ginestar Peiró
Departamento de Matemática AplicadaUniversidad Politécnica de Valencia
(UPV) Métodos numéricos para PVF 1 / 28
Programa
1 Introducción
2 Diferencias finitas
3 Diferencias finitas para problemas elípticos
4 Diferencias finitas para problemas parabólicos
5 Diferencias finitas para problemas hiperbólicos
6 Ecuación de convección-difusión
(UPV) Métodos numéricos para PVF 2 / 28
Introducción
Mostraremos distintos métodos numéricos para la aproximaciónde problemas de contorno. Mientras que en los problemas devalores iniciales las condiciones que determinan la solución delproblema se imponen en un mismo punto (condiciones iniciales),en los problemas de contorno las condiciones se imponen enpuntos separados.Para una ecuación diferencial ordinaria de segundo orden
y ′′ = f(x , y , y ′) , a ≤ x ≤ b ,
con las condiciones
y(a) = α , y(b) = β .
(UPV) Métodos numéricos para PVF 3 / 28
Diferencias finitas
Se tiene un problema de la forma
y ′′ = p(x)y ′ + q(x)y + r(x) , a ≤ x ≤ b , y(a) = α , y(b) = β .
El primer paso consistirá en dividir el intervalo [a, b] en N + 1subintervalos del mismo tamaño cuyos extremos son los nodos
xi = a + i∆x , i = 0, 1, . . . , N + 1 ,
siendo ∆x = (b − a)/(N + 1).
(UPV) Métodos numéricos para PVF 4 / 28
Diferencias finitas
En los nodos interiores se ha de cumplir
y ′′ (xi) = p (xi) y ′ (xi) + q (xi) y (xi) + r (xi) ,
con i = 1, 2, . . . N.
Se hace uso del desarrollo de Taylor
y (xi+1) = y (xi + ∆x) = y (xi) + ∆xy ′ (xi)
+∆x2
2y ′′ (xi) +
∆x3
6y ′′′ (xi) + O
(∆x4
).
Además
y (xi−1) = y (xi −∆x) = y (xi)−∆xy ′ (xi)
+∆x2
2y ′′ (xi)−
∆x3
6y ′′′ (xi) + O
(∆x4
).
(UPV) Métodos numéricos para PVF 5 / 28
Diferencias finitas
Se tiene
y ′′ (xi) =1
∆x2 (y (xi−1)− 2y (xi) + y (xi+1)) + O(∆x2
),
y
y ′ (xi) =1
2∆x(y (xi+1)− y (xi−1)) + O
(∆x2
).
En los nodos i = 1, . . . , N, las ecuaciones
yi−1 − 2yi + yi+1
∆x2 = p (xi)yi+1 − yi−1
2∆x+ q (xi) yi + r (xi) .
Condiciones de contorno
y0 = α , yN+1 = β .
(UPV) Métodos numéricos para PVF 6 / 28
Diferencias finitas
en forma matricial de la forma
Ay = b ,
donde A es la matriz tridiagonal
A =
2666666666666664
2 + ∆x2q (x1) −1 + ∆x2 p (x1) 0 · · · 0
−1 − ∆x2 p (x2) 2 + ∆x2q (x2) −1 + ∆x
2 p (x2) · · · 0
0. . .
. . . 0...
. . .. . .
.
.
....
. . .. . . −1 + ∆x
2 p`xN−1
´0 · · · · · · −1 − ∆x
2 p (xN ) 2 + ∆x2q (xN )
3777777777777775,
y los vectores
y =
2666664y1
y2...
yN−1
yN
3777775 , b =
2666664−∆x2r (x1) +
`1 + ∆x
2 p (x1)´α
−∆x2r (x2)...
−∆x2r (xN−1)
−∆x2r (xN) +`1− ∆x
2 p (xN)´β
3777775 .
(UPV) Métodos numéricos para PVF 7 / 28
Diferencias finitas para problemas elípticos
Problema de contorno asociado a la ecuación de Poisson
∂2u∂x2 +
∂2u∂y2 = −f , (x , y) ∈ [0, l1]× [0, l2] ,
u(x , y) = 0 , para x = 0; x = l1; y = 0; x = l2 .
(UPV) Métodos numéricos para PVF 8 / 28
Diferencias finitas para problemas elípticos
El primer paso que realizaremos consistirá en discretizar el rectángulo[0, l1]× [0, l2]
x 0=0
x 1 x x x x x2 3 4 i i+1
y 0=0
y 1
y 2
y 3
y j
y j+1
n+x
y m+1=l 2
xi = i∆x , i = 0, 1, 2, . . . , N + 1 ,
yj = j∆y , j = 0, 1, 2, . . . , M + 1 .
(UPV) Métodos numéricos para PVF 9 / 28
Diferencias finitas para problemas elípticos
Se tiene que
∂2u∂x2
(ui , uj
)≈
ui−1j − 2uij + ui+1j
∆x2 ,
∂2u∂y2
(ui , uj
)≈
uij−1 − 2uij + uij+1
∆y2 ,
donde uij = u(xi , yj
)La ecuación
1∆x2
(ui−1j − 2uij + ui+1j
)+
1∆y2
(ui−1j − 2uij + ui+1j
)= −fij .
(UPV) Métodos numéricos para PVF 10 / 28
Diferencias finitas para problemas elípticos
Orden: i = 1, . . . , N, j = 1, . . . , M,
l = i + n(j − 1) .
Se obtiene un sistema deecuaciones de la forma
Au = f ,
0 50 100 150 200 250 300 350
0
50
100
150
200
250
300
350
nz = 1729
(UPV) Métodos numéricos para PVF 11 / 28
Diferencias finitas para problemas parabólicos
Consideraremos la ecuación del calor o ecuación de la difusióndependiente del tiempo que consideraremos tiene la forma
∂u∂t
= α∂2u∂x2 .
Condiciones de contornoDistribución espacial de la u en el instante inicial es conocida.
(UPV) Métodos numéricos para PVF 12 / 28
Diferencias finitas para problemas parabólicos
Se discretiza el tiempo y el espacio en intervalos igualmentespaciados, t = n∆t , n = 0, 1, 2, . . ., y x = x0 + i∆x ,i = 0, 1, . . . , Nx .Se toma una aproximación para la derivada temporal de la forma
∂u∂t
≈ u(x , t + ∆t)− u(x , t)∆t
+ O (∆t) .
Para la derivada espacial se toma
∂2u∂x2 ≈
u(x −∆x , t)− 2u(x , t) + u(x + ∆x , t)∆x2 + O
(∆x2
).
(UPV) Métodos numéricos para PVF 13 / 28
Diferencias finitas para problemas parabólicos
Se suele utilizar la notación u (n∆t , x0 + i∆x) = uni , y se escribe la
aproximación de la ecuación como
un+1i − un
i∆t
= αun
i−1 − 2uni + un
i+1
∆x2 ,
o sea,
un+1i = un
i + r(un
i−1 − 2uni + un
i+1)
, r =α∆t∆x2 .
Método explícito.Para garantizar la estabilidad del esquema explícito, se puede ver quees necesario que se cumpla la condición
0 <α∆t∆x2 < 0,5 ,
que se conoce como la condición de Courant, y que limita la longituddel paso temporal que es necesario elegir una vez se ha elegido unpaso espacial.
(UPV) Métodos numéricos para PVF 14 / 28
Diferencias finitas para problemas parabólicos
Para evitar problemas de estabilidad, se puede evaluar la derivadasegunda espacial en el instante (n + 1)∆t , en vez de hacerlo en elinstante n∆t , obteniendo de este modo la aproximación
un+1i − un
i∆t
= αun+1
i−1 − 2un+1i + un+1
i+1
∆x2 ,
o sea,−run+1
i−1 + (1 + 2r)un+1i − run+1
i+1 = uni ,
que es un método implícito.
(UPV) Métodos numéricos para PVF 15 / 28
Diferencias finitas para problemas parabólicos
Para cada paso de tiempo, se ha de resolver un sistema deecuaciones de la forma
26664(1 + 2r) −r−r (1 + 2r) −r
· · ·−r (1 + 2r) −r
−r (1 + 2r)
37775
266666664
un+11
.
.
.
un+1Nx
377777775=
266666664
un1 + run+1
0
.
.
.
unNx
+ run+1Nx
377777775.
(UPV) Métodos numéricos para PVF 16 / 28
Diferencias finitas para problemas parabólicos
Otro método más preciso es el método de Crank-Nicolson
un+1i − un
i∆t
=α
2
(un
i−1 − 2uni + un
i+1
∆x2 +un+1
i−1 − 2un+1i + un+1
i+1
∆x2
).
(UPV) Métodos numéricos para PVF 17 / 28
Diferencias finitas para problemas hiperbólicos
Consideraremos la ecuación de ondas,
c2 ∂2u∂x2 =
∂2u∂t2 , 0 ≤ x ≤ l , t ≥ 0 ,
con las condiciones de contorno
u(0, t) = u(l , t) = 0 ,
y las condiciones iniciales
u(x , 0) = f (x),∂u∂t
(t , 0) = g(x), 0 ≤ x ≤ l .
(UPV) Métodos numéricos para PVF 18 / 28
Diferencias finitas para problemas hiperbólicos
Podemos utilizar las aproximaciones
∂2u∂x2 (xi , tn) ≈
uni−1 − 2un
i + uni+1
∆x2 ,
y∂2u∂t2 (xi , tn) ≈
un−1i − 2un
i + un+1i
∆t2 ,
se llega a una aproximación de la forma
c2 uni−1 − 2un
i + uni+1
∆x2 =un−1
i − 2uni + un+1
i∆t2 ,
que se puede reescribir como
un+1i = 2un
i
(1− c2∆t2
∆x2
)+(un
i−1 + uni+1)(c2∆t2
∆x2
)− un−1
i .
para i = 1, . . . Nx .(UPV) Métodos numéricos para PVF 19 / 28
Diferencias finitas para problemas hiperbólicos
Los valores para n = 0 se obtienen de la condición inicial, perotambién son necesarios los valores para n = 1.
Una posibilidad consiste en usar la condición
∂u∂t
(x , 0) = g(x) 0 ≤ x ≤ l ,
sustituyendo∂u∂t
(x , 0) ≈u1
i − u0i
∆t= g (xi) ,
o sea,u1
i = u0i + ∆tg (xi) , i = 1, . . . N .
(UPV) Métodos numéricos para PVF 20 / 28
Diferencias finitas para problemas hiperbólicos
Una aproximación de mayor orden se puede obtener si se tiene encuenta que
u (xi , t1) = u (xi , 0) + ∆t∂u∂t
(xi , 0) +(∆t)2
2∂2u∂t2 (xi , 0) + O
((∆t)3
).
Si existe f ′′, podemos usar la ecuación de ondas y escribir
∂2u∂t2 (xi , 0) = c2 ∂2u
∂x2 (xi , 0) = c2f ′′ (xi) ,
con lo que se tiene
u1i = u0
i + ∆tg (xi) +c2 (∆t)2
2f ′′ (xi) .
(UPV) Métodos numéricos para PVF 21 / 28
Ecuación de convección-difusión
Se quiere resolver un problema estacionario de la forma
−au′′ + bu′ = 0 , 0 < x < l ,
u(0) = 0 , u(l) = 1 .
Para obtener la solución analítica
y ′ =ba
y , u′ = y ,
con lo que
y = K exp(
ba
x)
,
(UPV) Métodos numéricos para PVF 22 / 28
Ecuación de convección-difusión
y, por tanto,
u = K̃ exp(
ba
x)
.
Imponiendo las condiciones de contorno se tiene
u(x) =1− eRlx
1− eR ,
donde R es el número de Péclet
R =bla
.
(UPV) Métodos numéricos para PVF 23 / 28
Ecuación de convección-difusión
Para obtener una aproximación por diferencias finitas, primeroobtenemos una aproximación O
(∆x2) de u′(x).
u′(x) ≈ u(x + ∆x)− u(x −∆x)
2∆x+ O
(∆x2
).
se tiene la relación
bui+1 − ui−1
2∆x− a
ui+1 − 2ui + ui−1
∆x2 = 0 ,
que, definiendo
c =R∆x
2l,
se reescribe como
−(1− c)ui+1 + 2ui − (1 + c)ui−1 = 0 .
(UPV) Métodos numéricos para PVF 24 / 28
Ecuación de convección-difusión
Ésta es una ecuación en diferencias que se suele resolver probandouna solución de la forma ui = r i ,
−(1− c)r i+1 + 2r i − (1 + c)r i−1 = 0 ,
esto es,r i−1
(−(1− c)r2 + 2r − (1− c)
)= 0 ,
luego r tendrá que cumplir que
(1− c)r2 − 2r + (1 + c) = 0 .
Las soluciones de esta ecuación son
r1 = 1 , r2 =1 + c1− c
.
(UPV) Métodos numéricos para PVF 25 / 28
Ecuación de convección-difusión
La solución general de la ecuación en diferencias será de la forma
ui = α + β
(1 + c1− c
)i
,
como u0 = 0, β = −α y como un+1 = 1, se cumplirá
α =1
1− rn+12
,
así, la solución es de la forma
ui =1− r i
2
1− rn+12
.
Cuando c > 1,(∆x > 2l
R
)entonces r2 < 0, y la solución ui oscila. Esto
contrasta con el comportamiento de la solución analítica que escreciente.
(UPV) Métodos numéricos para PVF 26 / 28
Ecuación de convección-difusión
Para resolver este problema hay que utilizar esquemas de primerorden, que tengan en cuenta el signo de la velocidad b.
Si b > 0, la derivada primera se aproxima como
u′i ≈
ui − ui−1
∆x,
obteniendo una ecuación de la forma
bui − ui−1
∆x− a
ui+1 − 2ui + ui−1
∆x2 = 0 .
Si b < 0, la derivada primera se aproxima como
u′i ≈
ui+1 − ui
∆x,
obteniendo una ecuación de la forma
bui+1 − ui
∆x− a
ui+1 − 2ui + ui−1
∆x2 = 0 .
(UPV) Métodos numéricos para PVF 27 / 28
Ecuación de convección-difusión
Estas dos posibilidades se escriben de una forma compacta como
b(
12
(1− b
|b|
)1
∆x(ui+1 − ui) +
12
(1 +
b|b|
)1
∆x(ui − ui−1)
)−a
1∆x2 (ui−1 − 2ui + ui+1) = 0 .
Este esquema se conoce como un esquema ‘up-wind’ de primer ordenpara la ecuación de convección-difusión.
(UPV) Métodos numéricos para PVF 28 / 28