Guión de práctica: Implementación del θ

Anuncio
Facultad de Ciencias
Departamento de Matemáticas
Grado de Matemáticas
Método de Diferencias Finitas
Guión de práctica: Implementación del θ-esquema
1.
Objetivo
Resolver la ecuación del calor
∂t u(x, t) − ν∂xx u(x, t) = f (x, t) x ∈ (a, b) t ∈ (0, T ]
u(a, t) = α(t) u(b, t) = β(t) t ∈ (0, T ]
(1)
u(x, 0) = u0 (x) x ∈ (a, b).
2.
Pasos a seguir:
Introducir los datos.
Introducir el número de subdivisiones (N + 1 en espacio y M en tiempo) y los pasos corresponb−a
T
dientes (h =
yτ=
). Introducir también el vector x = [x1 ; · · · ; xN ].
N +1
M
τν
Definir λ = 2 , y sea D = tridiag(−1, 2, −1). Construir
h
A = speye(N ) + θλD
y
B = speye(N ) − (1 − θ)λD.
Calcular u0 = [u0 (x1 ); · · · ; u0 (xN )].
Empezar un bucle sobre k = 1, · · · , M en el que a cada paso se resuelve el sistema
Auk = ck
donde ck = [θ bk + (1 − θ) bk−1 ] + Buk−1 con
bk = [τ f (x1 , kτ ) + λα(kτ ); · · · ; τ f (xi , kτ ); · · · ; τ f (xN , kτ ) + λβ(kτ )].
Realizar una representación gráfica de la solución a cada paso de tiempo.
Almacenar las soluciones uk a medida que se van calculando en una (M + 1) × (N + 2)–matriz
que se representa gráficamente usando el comando waterfall en otra figura al final del proceso.
3.
Condiciones de contorno Neumann
Utilizar el método de Euler implı́cito para resolver la ecuación del calor
∂t u(x, t) − ν∂xx u(x, t) = f (x, t) x ∈ (a, b) t ∈ (0, T ]
−∂x u(a, t) = α(t) ∂x u(b, t) = β(t) t ∈ (0, T ]
u(x, 0) = u0 (x) x ∈ (a, b).
1
(2)
Sean a = 0, b = 1, f = 0, α = β = 0. Imponer la condición inicial

10(0,25 − x)(x − 0,75) si 0,25 ≤ x ≤ 0,75
u0 (x) =
0
si no
y observar la evolución de la temperatura con el tiempo. Interpretar el resultado.
Consideramos los mismos datos que en el caso anterior pero con α y β constantes diferentes de
cero. ¿Bajo que condiciones existe un estado estacionario?
2
Descargar