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