Error de truncado en métodos que resultan del problema semi-discreto Martín Maas Análisis Numérico - Segundo Cuatrimestre 2016 Para obtener métodos de resolución numérica de una ecuación en derivadas parciales como (1) Ut = Uxx ∂ un enfoque es considerar primero una malla espacial (con h = ∆x) y aproximar ∂x 2 con una p matriz A. Si la aproximación es de orden h , tenemos que para cualquier función U , vale 2 Uxx = AU + Chp (2) donde C = C(x, t) es independiente de h. Posteriormente, planteamos el problema semi-discreto (3) u0 = Au al que se puede aplicar cualquier método para resolución de ecuaciones diferenciales ordinarias (incluyendo el uso de paquetes de software como las rutinas ode45,ode23s de Matlab). Por ejemplo, podemos utilizar un método multipaso de m pasos denido por los parámetros αi , βi , y k = ∆t, y obtenemos el esquema de diferencias nitas: m X αi un+i = k i=0 m X βi Aun+i . i=0 El error de truncado T satisface kT = m X αi U n+i − k i=0 m X βi AU n+i (4) i=0 Nos interesa estimar T utilizando que U es la solución exacta de (1). Para ello consideremos la expansión de Taylor en el tiempo (ik)2 + · · · + O(k q+1 ). 2 Reemplazando en (4) y separando las diferentes potencias de k, se obtiene (llamando U (tn , ·) al vector U (tn , xj )) U (tn+i , ·) = U (tn , ·) + Ut (tn , ·)(ik) + Utt (tn , ·) 1 kT = m X αi U (tn , ·) i=0 m X +k iαi Ut (tn , ·) − βi AU (tn , ·) i=0 (5) .. . m q X iq−1 βi ∂ q−1 i αi ∂ q U (t , ·) − AU (tn , ·) +k n q! ∂tq (q − 1)! ∂tq−1 q i=0 q+1 + O(k ) Si tuvieramos Ut = AU (es decir, la solución exacta del sistema de ecuaciones ordinarias (3)), la condición sobre los αi , βi para tener orden r en el tiempo, sería que se anulen los coecientes dq = m q X i αi q! i=0 − iq−1 βi , (q − 1)! para 1 ≤ q ≤ r, junto con d0 = m i=0 αi . Pero no se tiene Ut = AU , sino Ut = Uxx . Intercalando AU en (1), y utilizando (2), se obtiene P (6) Podemos obtener expresiones de la forma Utt = AUt +O(hp ) tomando derivadas temporales en la expresión anterior (suponiendo que la constante C = C(x, t) en (2) admite derivadas temporales). Reemplazando estas expresiones en (5) vemos que los mismos términos que corresponden a los coecientes dq = 0 se anulan (igual que en el caso de ordinarias), resultando Ut = AU + O(hp ). T ∼ O(hr ) + O(hp ). Ejemplos Algunos métodos para Ut = Uxx , tanto explícitos como implícitos, de orden O(h2 ) y diferentes precisiones en ∆t (que puede determinarse de la manera descripta) son: (a) Crank-Nicolson (Adams-Moulton de 1 paso): un+1 − unj j ∆t = 1 n 2 δxx (uj ) + 12 δxx (unj ) (∆x)2 (b) Adams-Bashforth de 2 pasos: un+1 − unj j ∆t = 3 n 2 δxx (uj ) − 12 δxx (un−1 ) j (∆x)2 (c) Método totalmente implícito de 2 pasos (BDF2): 3 n+1 1 uj − 2unj + ujn−1 = rδxx (un+1 ) j 2 2 2