Simulación de Sistemas Continuos y a Tramos Prof. Dr. François E. Cellier Institut für Computational Science ETH Zürich 26 de junio 27
Hasta ahora solamente tratamos con ecuaciones diferenciales ordinarias (ODE). Ahora queremos extender la discusión a las ecuaciones diferenciales parciales (PDE). Dada la PDE describiendo la difusión de calor en una sola dimensión del espacio: t = σ 2 u x 2 Puede discretizarse la variable del espacio: 2 u x 2 u i+1 2u i + u i 1 x=xi δx 2 manteniendo continua la variable del tiempo. De esa forma puede convertirse la PDE a un conjunto de ODEs: du i dt σ ui+1 2u i + u i 1 δx 2
La Diferenciación en el Espacio Tiene sentido diferenciar respecto a la variable del espacio con el mismo orden de aproximación que se utiliza para la integración a través de la variable del tiempo. Para ello podemos servirnos nuevamente de los polinomios de Newton-Gregory. Por ejemplo si queremos obtener una aproximación de orden 4 de la segunda derivada en el espacio, utilizamos un polinomio de orden 4 pasando por los cinco puntos x i 2, x i 1, x i, x i+1 y x i+2. Usamos un polinomio de Newton-Gregory hacia atrás alrededor del punto x i+2 : s 2 u(x) =u i+2 + s u i+2 + 2 + s «s 2 3 u i+2 + 2 6 + s2 2 + s «3 u i+2 +... 3 Entonces: 2 u x 2 = 1» s δx 2 2 u i+2 +(s +1) 3 2 u i+2 + 2 + 3s 2 + 11 «4 u i+2 +... 12
La Diferenciación en el Espacio II Evaluamos en el punto x = x i, es decir en s = 2, y truncamos el operador después del término de orden cuatro: 2 u x 2 1 x=xi 12δx 2 ( u i+2 +16u i+1 3u i +16u i 1 u i 2 ) Los métodos de orden 3 tienen que pasar por 4 puntos. Entonces no es posible hacerlo de forma simétrica. Por ejemplo podemos tratar de obtener un método que pasa por los 4 puntos x i 1, x i, x i+1 y x i+2. Identificando los parámetros del método obtenemos: 2 u x 2 1 x=xi δx 2 (u i+2 + u i+1 2u i + u i 1 ) es decir, el método simétrico de orden 2 en realidad es un método de orden 3.
La Diferenciación en el Espacio II Evaluamos en el punto x = x i, es decir en s = 2, y truncamos el operador después del término de orden cuatro: 2 u x 2 1 x=xi 12δx 2 ( u i+2 +16u i+1 3u i +16u i 1 u i 2 ) Los métodos de orden 3 tienen que pasar por 4 puntos. Entonces no es posible hacerlo de forma simétrica. Por ejemplo podemos tratar de obtener un método que pasa por los 4 puntos x i 1, x i, x i+1 y x i+2. Identificando los parámetros del método obtenemos: 2 u x 2 1 x=xi δx 2 (u i+2 + u i+1 2u i + u i 1 ) es decir, el método simétrico de orden 2 en realidad es un método de orden 3. Es siempre así. Los métodos simétricos obtienen un orden de aproximación adicional.
La Diferenciación en el Espacio III En proximidad del borde del dominio no podemos usar más métodos simétricos. Por ejemplo, para obtener un método de orden 4 en el punto x 2 podemos desarrollar un polinomio Newton-Gregory hacia atrás alrededor del punto u 5 y evaluarlo en s = 3, o alternativamente podemos desarrollar un polinomio Newton-Gregory hacia adelante alrededor del punto u 1 y evaluarlo en s =+1. Si el dominio contiene 11 puntos en el espacio y si queremos desarrollar un método de orden 4, usamos las siguientes fórmulas para los puntos en proximidad del borde: 2 u x 2 = 1 x=x1 12δx 2 (11u 5 56u 4 + 114u 3 14u 2 +35u 1 ) 2 u x 2 = 1 x=x2 12δx 2 ( u 5 +4u 4 +6u 3 2u 2 +11u 1 ) 2 u x 2 = 1 x=x1 12δx 2 (11u 11 2u 1 +6u 9 +4u 8 u 7 ) 2 u x 2 = 1 x=x11 12δx 2 (35u 11 14u 1 + 114u 9 56u 8 +11u 7 )
Condiciones de Borde Debemos hablar del tema de las condiciones de borde. CadaPDEestá acompañada no sólo por condiciones iniciales, sino también por condiciones de borde. La ecuación de la difusión de calor en una dimensión del espacio, x [., 1.] requiere de dos condiciones de borde, por ejemplo: u(x =., t) = 1. (x =1., t) =. x
Condiciones de Borde Debemos hablar del tema de las condiciones de borde. CadaPDEestá acompañada no sólo por condiciones iniciales, sino también por condiciones de borde. La ecuación de la difusión de calor en una dimensión del espacio, x [., 1.] requiere de dos condiciones de borde, por ejemplo: u(x =., t) = 1. (x =1., t) =. x El tipo de condiciones de borde más simple es la condición de Dirichlet que impone en el borde un valor a la variable u. En este caso simplemente tenemos que eliminar la ecuación diferencial en este punto y reemplazarla por una ecuación algebraica: u 1 = 1.
Condiciones de Borde II Otro tipo de condiciones de borde simple es la condición de Neumann simétrica que impone en el borde un valor de cero a la variable x. En este caso usamos un truco. Doblamos el dominio, es decir ampliamos el dominio en el espacio a x [., 2.] y aplicamos la misma condición de borde en el punto x =2. que en el punto x =.: u 21 = 1. Por simetría obtenemos de forma impĺıcita en el centro la condición: 11 x =. pero no es necesario formular esa condición de forma expĺıcita.
Condiciones de Borde III Entonces: 2 u x 2 = 1 x=x1 12δx 2 ( u 12 +16u 11 3u 1 +16u 9 u 8 ) 2 u x 2 = 1 x=x11 12δx 2 ( u 13 +16u 12 3u 11 +16u 1 u 9 ) y como ya sabemos por causa de la simetría que u 12 = u 1 y u 13 = u 9 : 2 u x 2 = 1 x=x1 12δx 2 (16u 11 31u 1 +16u 9 u 8 ) 2 u x 2 = 1 x=x11 12δx 2 ( 3u 11 +32u 1 2u 9 ) y ya no necesitamos más puntos simétricos, es decir, en realidad no tenemos que doblar el dominio.
Condiciones de Borde IV Un tercer tipo de condiciones de borde simple es la condición temporal que impone en elbordeunvaloralavariable t : (x =., t) =f (t) t En este caso simple reemplazamos la ecuación diferencial original en este punto por una nueva: u 1 = f (t)
Condiciones de Borde V Un cuarto tipo de condiciones de borde un poco más general es la condición de Robin: «g (u(x =1., t)) + h (x =1., t) = f (t) x donde f, g y h son funciones del tiempo.
Condiciones de Borde V Un cuarto tipo de condiciones de borde un poco más general es la condición de Robin: «g (u(x =1., t)) + h (x =1., t) = f (t) x donde f, g y h son funciones del tiempo. Por ejemplo, podramos tener que tratar con una condición de borde del tipo: x (x =1., t) = k (u(x =1., t) u amb(t)) donde u amb (t) es la temperatura del ambiente.
Condiciones de Borde V Un cuarto tipo de condiciones de borde un poco más general es la condición de Robin: «g (u(x =1., t)) + h (x =1., t) = f (t) x donde f, g y h son funciones del tiempo. Por ejemplo, podramos tener que tratar con una condición de borde del tipo: x (x =1., t) = k (u(x =1., t) u amb(t)) donde u amb (t) es la temperatura del ambiente. En este caso reemplazamos la derivada por una aproximación usando un polinomio de Newton-Gregory: = 1 x x=x11 12δx (25u 11 48u 1 +36u 9 16u 8 +3u 7 )
Condiciones de Borde V Un cuarto tipo de condiciones de borde un poco más general es la condición de Robin: «g (u(x =1., t)) + h (x =1., t) = f (t) x donde f, g y h son funciones del tiempo. Por ejemplo, podramos tener que tratar con una condición de borde del tipo: x (x =1., t) = k (u(x =1., t) u amb(t)) donde u amb (t) es la temperatura del ambiente. En este caso reemplazamos la derivada por una aproximación usando un polinomio de Newton-Gregory: = 1 x x=x11 12δx (25u 11 48u 1 +36u 9 16u 8 +3u 7 ) Despejando la incógnita u 11 obtenemos una condición de Dirichlet equivalente: u 11 = 12k δx u amb +48u 1 36u 9 +16u 8 3u 7 12k δx +25
Condiciones de Borde VI A menudo tenemos que tratar con condiciones de borde no lineales. Por ejemplo: que puede transformarse en: x (x =1., t) = k `u(x =1., t) 4 u amb (t) 4 F(u 11 )=12k δx u 4 11 +25u 11 12k δx u 4 amb 48u 1 +36u 9 16u 8 +3u 7 =.
Condiciones de Borde VI A menudo tenemos que tratar con condiciones de borde no lineales. Por ejemplo: que puede transformarse en: x (x =1., t) = k `u(x =1., t) 4 u amb (t) 4 F(u 11 )=12k δx u 4 11 +25u 11 12k δx u 4 amb 48u 1 +36u 9 16u 8 +3u 7 =. De esa manera obtenemos una condición de borde impĺıcita que puede resolverse usando una iteración de Newton.
Condiciones de Borde VII Finalmente queremos considerar la situación donde tenemos que tratar con regiones en el espacio representadas por diferentes PDEs.
Condiciones de Borde VII Finalmente queremos considerar la situación donde tenemos que tratar con regiones en el espacio representadas por diferentes PDEs. Por ejemplo queremos simular la difusión de calor a través de dos materiales diferentes. Tenemos entonces dos capas colindantes representando los dos materiales: t = σu 2 u x 2 v t = σv 2 v x 2 donde la PDE de u es válida en la región x [., 1.] mientras la PDE de v es válida en la región x [1., 1.1].
Condiciones de Borde VIII Es muy común que tengamos condiciones de borde en la interfaz del tipo: (x =1., t) = ku (u(x =1., t) v(x =1., t)) x v (x =1., t) = kv (v(x =1., t) u(x =1., t)) x que pueden transformarse a ecuaciones algebraicas lineales equivalentes: (12k u δx u + 25)u 11 12k u δx u v 1 =48u 1 36u 9 +16u 8 3u 7 12k v δx v u 11 +(12k v δx v +3)v 1 =16v 2 36v 3 +48u 4 25v 5
Condiciones de Borde VIII Es muy común que tengamos condiciones de borde en la interfaz del tipo: (x =1., t) = ku (u(x =1., t) v(x =1., t)) x v (x =1., t) = kv (v(x =1., t) u(x =1., t)) x que pueden transformarse a ecuaciones algebraicas lineales equivalentes: (12k u δx u + 25)u 11 12k u δx u v 1 =48u 1 36u 9 +16u 8 3u 7 12k v δx v u 11 +(12k v δx v +3)v 1 =16v 2 36v 3 +48u 4 25v 5 Estas ecuaciones forman un bucle algebraico que puede resolverse de manera simbólica o de manera numérica.
PDEs Parabólicas Una de las PDEs más simples es la ecuación de la difusión de calor en una dimensión del espacio. Consideramos un ejemplo completo: t = 1 1π 2 2 u x 2 ; x [, 1] ; t [, ) u(x, t =)=cos(π x) u(x =, t) =exp( t/1) (x =1, t) = x
PDEs Parabólicas Una de las PDEs más simples es la ecuación de la difusión de calor en una dimensión del espacio. Consideramos un ejemplo completo: t = 1 1π 2 2 u x 2 ; x [, 1] ; t [, ) u(x, t =)=cos(π x) u(x =, t) =exp( t/1) (x =1, t) = x Ese modelo puede convertirse al conjunto de ODEs siguiente usando el método de ĺıneas: u 1 =exp( t/1) u 2 = n2 1π 2 (u 3 2u 2 + u 1 ) u 3 = n2 1π 2 (u 4 2u 3 + u 2 ) etc. u n = n2 1π 2 (u n+1 2u n + u n 1 ) u n+1 = n2 5π 2 ( u n+1 + u n)
PDEs Parabólicas II Se trata de un sistema lineal que puede representarse de la forma siguiente: ẋ = A x + b u donde: 1 2 1... 1 2 1... A = n2 1 2 1... 1π 2............ B.... C @... 1 2 1A... 2 2
PDEs Parabólicas III Podemos mirar la distribución de los autovalores de la matriz A en función de la discretización en el espacio: n =3 n =4 n =5 n =6 n =7 -.244 -.247 -.248 -.249 -.249 -.1824 -.22 -.288 -.2137 -.2166 -.343 -.4483 -.566 -.547 -.5621 -.6238 -.9884 -.9183 -.9929 -.844-1.2454-1.4238-1.4342-1.7693-1.961
PDEs Parabólicas III Podemos mirar la distribución de los autovalores de la matriz A en función de la discretización en el espacio: n =3 n =4 n =5 n =6 n =7 -.244 -.247 -.248 -.249 -.249 -.1824 -.22 -.288 -.2137 -.2166 -.343 -.4483 -.566 -.547 -.5621 -.6238 -.9884 -.9183 -.9929 -.844-1.2454-1.4238-1.4342-1.7693-1.961 Entonces: CocientedeRigidez 7 6 5 4 3 2 Cociente de Rigidez 1 1 15 2 25 3 35 4 45 5 Número de Segmentos
PDEs Parabólicas IV Como la solución anaĺıtica de este problema es conocida, puede calcularse el error global de la simulación. Difusión 1D (PDE) Difusión 1D (ODE) Solución 1 Solución 1 1 1 5 Tiempo.5 Espacio 1 1 1 5 Tiempo.5 Espacio 1 x 1 4 Difusión 1D - Error.1 Difusión 1D - Error 2.8 Error Error.6.4 1 2 5 Tiempo.5 Espacio 1.2 2 4 6 8 1 Número de Segmentos
PDEs Parabólicas V Qué pasa si estamos usando un método de orden 5? u 1 =exp( t/1) u 2 = n2 12π 2 (u 6 6u 5 +14u 4 4u 3 15u 2 +1u 1 ) u 3 = n2 12π 2 ( u 5 +16u 4 3u 3 +16u 2 u 1 ) u 4 = n2 12π 2 ( u 6 +16u 5 3u 4 +16u 3 u 2 ) etc. u n 1 = n2 12π 2 ( u n+1 +16u n 3u n 1 +16u n 2 u n 3 ) u n = n2 12π 2 (16u n+1 31u n +16u n 1 u n 2 ) u n+1 = n2 6π 2 ( 15u n+1 +16u n u n 1 )
PDEs Parabólicas VI Comparando los cocientes de la rigidez de los métodos de órdenes 3 y 5: CocientedeRigidez 8 7 6 5 4 3 2 Cociente de Rigidez Esquema de orden 5 Esquema de orden 3 1 1 15 2 25 3 35 4 45 5 Número de Segmentos
PDEs Parabólicas VII Comparando los errores de los métodos de órdenes 3 y 5: 8 x 1 4 Difusión 1D - Error Error de Consistencia 6 4 Esquema de orden 3 2 Esquema de orden 5 1 2 3 4 5 6 7 8 9 1 Número de Segmentos
PDEs Parabólicas VIII El orden de la diferenciación en el espacio no sería tan importante si pudiéramos usar una discretización muy pequeña.
PDEs Parabólicas VIII El orden de la diferenciación en el espacio no sería tan importante si pudiéramos usar una discretización muy pequeña. Entonces tratamos otra vez la idea de la extrapolación de Richardson, pero esa vez en el espacio en lugar del tiempo.
PDEs Parabólicas VIII El orden de la diferenciación en el espacio no sería tan importante si pudiéramos usar una discretización muy pequeña. Entonces tratamos otra vez la idea de la extrapolación de Richardson, pero esa vez en el espacio en lugar del tiempo. Trabajamos con 4 aproximaciones diferentes de orden 3: 2 u P 1 x 2 (δx 2 )= u i+1 u i + u i 1 x=x i δx 2 2 u P 2 x 2 (4δx 2 )= u i+2 u i + u i 2 x=x i 4δx 2 2 u P 3 x 2 (9δx 2 )= u i+3 u i + u i 3 x=x i 9δx 2 2 u P 4 x 2 (16δx 2 )= u i+4 u i + u i 4 x=x i 16δx 2 distinguidas entre ellas solamente por el tamaño de la discretización δx.
PDEs Parabólicas IX Desarrollando en una serie de Taylor: Entonces: 2 u x 2 (η) = 2 u x 2 + e 1 η + e 2 η2 2! + e 3 η3 3! +... 2 P u 1 x 2 (δx 2 ) 2 u x 2 + e 1 δx 2 + e 2 2! δx4 + e 3 3! δx6 2 P u 2 x 2 (4δx 2 ) 2 u x 2 + e 1 (4δx 2 )+ e 2 2! (4δx2 ) 2 + e 3 3! (4δx2 ) 3 2 P u 3 x 2 (9δx 2 ) 2 u x 2 + e 1 (9δx 2 )+ e 2 2! (9δx2 ) 2 + e 3 3! (9δx2 ) 3 2 P u 4 x 2 (16δx 2 ) 2 u x 2 + e 1 (16δx 2 )+ e 2 2! (16δx2 ) 2 + e 3 3! (16δx2 ) 3
PDEs Parabólicas X En notación matricial: 2 P 1 u 1 x 2 2 P u 2 (δx 2 ) (δx 2 ) 1 (δx 2 ) 2 (δx 2 ) 3 1 2 1 u x 2 B 2 P B (4δx 2 ) (4δx 2 ) 1 (4δx 2 ) 2 (4δx 2 ) 3 x u 3 @ (9δx @ x 2 C 2 ) (9δx 2 ) 1 (9δx 2 ) 2 (9δx 2 ) 3 C A 2 B e 1 C @ e 2 /2A 2 A P (16δx 2 ) (16δx 2 ) 1 (16δx 2 ) 2 (16δx 2 ) 3 e u 4 3 /6 x 2 Entonces: 2 u x 2 56 35 28 35 8 35 2 P 1 u 1 x 2 2 P u 2 35 1 x 2 B 2 P u 3 @ x 2 C 2 A P u 4 x 2
PDEs Parabólicas XI Sustituyendo las ecuaciones obtenidas: 2 u x 2 1 x=xi 54δx 2 ( 9u i+4 + 128u i+3 18u i+2 + 864u i+1 1435u i + 864u i 1 18u i 2 + 128u i 3 9u i 4 ) que es exactamente la fórmula central de orden 9 de la segunda derivada. De nuevo, la extrapolación de Richardson maximizó el orden de la aproximación.
PDEs Hiperbólicas Una de las PDEs hiperbólicas más simples es la ecuación de la propagación de ondas: 2 u t 2 = c2 2 u x 2 que puede fácilmente convertirse a dos PDEs de primer orden en el tiempo: t = v v t = c2 2 u x 2
PDEs Hiperbólicas Una de las PDEs hiperbólicas más simples es la ecuación de la propagación de ondas: 2 u t 2 = c2 2 u x 2 que puede fácilmente convertirse a dos PDEs de primer orden en el tiempo: t = v v t = c2 2 u x 2 Esta vez se requieren dos condiciones iniciales y dos condiciones de borde.
PDEs Hiperbólicas II Una especificación completa de un modelo podra ser: 2 u t 2 = 2 u x 2 ; x [, 1] ; t [, ) π u(x, t =)=sin 2 x (x, t =)=. t u(x =, t) =. (x =1, t) =. x
PDEs Hiperbólicas III Este modelo PDE puede convertirse fácilmente a un conjunto de ODEs usando el método de ĺıneas: u 1 =. u 2 = v 2 etc. u n+1 = v n+1 v 1 =. v 2 = n 2 (u 3 2u 2 + u 1 ) v 3 = n 2 (u 4 2u 3 + u 2 ) etc. v n = n 2 (u n+1 2u n + u n 1 ) v n+1 =2n 2 (u n u n+1 )
PDEs Hiperbólicas IV En forma matricial: ẋ = A x + b u donde: con: (n) I A = (n) «A 21 (n) 1 2 1... 1 2 1... 1 2 1... A 21 = n 2............ B.... C @... 1 2 1A... 2 2
PDEs Hiperbólicas V Podemos mirar la distribución de los autovalores de la matriz A en función de la discretización en el espacio: n =3 n =4 n =5 n =6 ±1.5529j ±1.567j ±1.5643j ±1.5663j ±4.2426j ±4.4446j ±4.5399j ±4.5922j ±5.7956j ±6.6518j ±7.711j ±7.351j ±7.8463j ±8.911j ±9.522j ±9.8769j ±11.866j ±11.8973j
PDEs Hiperbólicas V Podemos mirar la distribución de los autovalores de la matriz A en función de la discretización en el espacio: n =3 n =4 n =5 n =6 ±1.5529j ±1.567j ±1.5643j ±1.5663j ±4.2426j ±4.4446j ±4.5399j ±4.5922j ±5.7956j ±6.6518j ±7.711j ±7.351j ±7.8463j ±8.911j ±9.522j ±9.8769j ±11.866j ±11.8973j Entonces: Cociente de Frecuencia 7 6 5 4 3 2 Cociente de Frecuencia 1 1 15 2 25 3 35 4 45 5 Número de Segmentos
PDEs Hiperbólicas VI Como la solución anaĺıtica de ese problema es conocida, puede calcularse el error global de la simulación. Onda 1D (PDE) Onda 1D (ODE) Solución 1 Solución 1 Error 1 1 5 5 5 Tiempo x 1 4.5 Espacio Error de Consistencia 1 Error 1 1.35.3.25.2.15 5 Tiempo.5 Espacio Error de Consistencia 1 1 1 5 Tiempo.5 Espacio 1.1.5 1 2 3 4 5 Número de Segmentos
PDEs Hiperbólicas VII Comparando los cocientes de la frecuencia de los métodos de órdenes 3 y 5: Cociente de Frecuencia 8 7 6 5 4 3 2 Cociente de Frecuencia Esquema de orden 5 Esquema de orden 3 1 1 15 2 25 3 35 4 45 5 Número de Segmentos
PDEs Hiperbólicas VIII Comparando los errores de los métodos de órdenes 3 y 5: Error de Consistencia.8.6.4.2 1 x 1 4 Onda 1D - Error 1 15 2 25 3 35 4 45 5 Número de Segmentos
PDEs Hiperbólicas IX Comparando diferentes métodos de integración en el tiempo (método de orden 5 con 5 segmentos): h RK3 IEX3 BI3.1 inestable.6782e-4.4947e-6.5 inestable.8668e-5.2895e-7.2 inestable.5611e-6.1324e-8.1.734e-7.729e-7.27e-8.5.8954e-8.8791e-8.2116e-8.2.2219e-8.2145e-8.212e-8.1.2127e-8.2119e-8.212e-8 h AB3 ABM3 AM3 BDF3.1 inestable inestable inestable basura.5 inestable inestable inestable basura.2 inestable inestable inestable basura.1 inestable.6996e-7 inestable basura.5.796e-7.8772e-8.8783e-8.9469e-2.2.5427e-8.2156e-8.2149e-8.1742e-6.1.2239e-8.212e-8.212e-8.4363e-7
PDEs Hiperbólicas X Representación gráfica: 1 6 Onda 1D - Error # Evaluaciones # Evaluaciones 1 5 1 4 RK3 IEX3 1 3 BI3 1 2 1 9 1 8 1 7 1 6 1 5 1 4 Error Global de Simulación 1 6 1 5 AM3 1 4 BDF3 1 3 AB3,ABM3 1 2 1 9 1 8 1 7 1 6 1 5 1 4 Error Global de Simulación