Sunteți pe pagina 1din 2

Facultad de Ciencias Grado de Matemáticas

Departamento de Matemáticas Método de Diferencias Finitas

Guión de práctica: La ecuación del transporte lineal


Consideramos el problema de transporte lineal con condiciones de contorno periódicas

ut (x, t) + c ux (x, t) = 0 x ∈ (0, 1), t > 0,


u(0, t) = u(1, t) t>0 (1)
u(x, 0) = u0 (x) x ∈ (0, 1).

Sabemos que la solución exacta es u(x, t) = u0 (x − ct) donde la función u0 se considera 1−periódica.
Supondremos que la velocidad de transporte c es positiva.
1
Sean nx ∈ N y dx = nx . Denotamos por nt ∈ N el número de niveles de tiempo y tomamos el
dx
paso de tiempo dt = δ c con δ ≤ 1. De esta forma, se cumple la condición CFL

c dt
≤1
dx
necesaria para la estabilidad de los esquemas numéricos explı́citos.

Disponemos de los siguientes esquemas numéricos para obtener aproximaciones uni ≈ u(i dx, n dt),
i = 0, · · · , nx, n = 1, · · · , nt.

1. Esquema centrado explı́cito: para n = 0, · · · , nt − 1

un+1 − uni un − uni−1


i
+ c i+1 = 0 i = 0, · · · , nx − 1
dt 2dx
uni = unnx+i ∀i
u0i = u0 (i ∗ dx) i = 0, · · · , nx − 1

2. Esquema centrado implı́cito: para n = 0, · · · , nt − 1

un+1 − uni un+1 − un+1


i
+ c i+1 i−1
= 0 i = 0, · · · , nx − 1
dt 2dx
uni = unnx+i ∀i
u0i = u0 (i ∗ dx) i = 0, · · · , nx − 1

3. Esquema descentrado explı́cito: (c > 0) para n = 0, · · · , nt − 1

un+1 − uni un − uni−1


i
+c i = 0 i = 0, · · · , nx − 1
dt dx
uni = unnx+i ∀i
u0i = u0 (i ∗ dx) i = 0, · · · , nx − 1

1
4. Esquema de Lax-Friedrichs: para n = 0, · · · , nt − 1

2un+1 − uni−1 − uni+1 un − uni−1


i
+ c i+1 = 0 i = 0, · · · , nx − 1
2dt 2dx
uni = unnx+i ∀i
u0i = u0 (i ∗ dx) i = 0, · · · , nx − 1

5. Esquema de Lax-Wendroff: para n = 0, · · · , nt − 1

un+1 − uni un − uni−1 c2 dt uni+1 − 2uni + uni−1


i
+ c i+1 − = 0 i = 0, · · · , nx − 1
dt 2dt 2 dx2
uni = unnx+i ∀i
u0i = u0 (i ∗ dx) i = 0, · · · , nx − 1

Se proporciona un programa de Matlab para los esquemas 1, 4 y 5 para diferentes números CFL
c dt
dx
y con dos condiciones iniciales: una regular dada por u0 (x) = sin 2πx y una constante a trozos
(con tres saltos) dada por (
−1 si x < 1/2
u0 (x) =
1 si x ≥ 1/2.
Inspirarse en el programa proporcionado para escribir el código correspondiente al esquema des-
centrado explı́cito.

S-ar putea să vă placă și