métodos numéricos para problemas de...

28
Métodos numéricos para problemas de contorno Damián Ginestar Peiró Departamento de Matemática Aplicada Universidad Politécnica de Valencia (UPV) Métodos numéricos para PVF 1 / 28

Upload: others

Post on 15-Mar-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 2: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 3: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 4: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 5: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 6: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 7: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 8: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 9: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 10: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 11: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 12: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 13: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 14: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 15: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 16: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 17: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 18: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 19: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 20: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 21: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 22: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 23: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 24: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 25: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 26: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 27: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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

Page 28: Métodos numéricos para problemas de contornopersonales.upv.es/dginesta/docencia/posgrado/num_edps.pdf · 2008-11-07 · Consideraremos la ecuación del calor o ecuación de la difusión

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