You are on page 1of 178

Simulaci on de Sistemas Continuos.

Notas de Clase
Ernesto Kofman

Laboratorio de Sistemas Din amicos Facultad de Ciencias Exactas, Ingenier a y Agrimensura Universidad Nacional de Rosario

Indice general
1. Introducci on a los Sistemas Continuos 1.1. Sistemas Continuos y Ecuaciones Diferenciales. 1.2. Modelado y Simulaci on. . . . . . . . . . . . . . 1.3. Problemas de Valor Inicial. . . . . . . . . . . . 1.4. Ecuaciones de Estado . . . . . . . . . . . . . . 1.5. Sistemas Lineales y Estacionarios. . . . . . . . 1.6. Propiedades Cualitativas de la Soluci on. . . . . 1.7. Problemas Propuestos . . . . . . . . . . . . . . 2. Bases de la Integraci on Num erica 2.1. Introducci on . . . . . . . . . . . . . . 2.2. Precisi on de la aproximaci on . . . . 2.3. Integraci on de Euler . . . . . . . . . 2.4. El Dominio de Estabilidad Num erica 2.5. La Iteraci on de Newton . . . . . . . 2.6. Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 9 9 10 10 13 14 16 16 17 19 21 24 27 30 30 31 34 35 37 38 44 50 53 56 56 56 58 58 61

3. M etodos de Integraci on Monopaso 3.1. Introducci on . . . . . . . . . . . . . . . . . . . 3.2. M etodos de RungeKutta . . . . . . . . . . . 3.3. Dominio de Estabilidad de los Algoritmos RK 3.4. Sistemas Sti . . . . . . . . . . . . . . . . . . 3.5. Sistemas Marginalmente Estables . . . . . . . 3.6. M etodos de Interpolaci on hacia Atr as . . . . 3.7. Consideraciones sobre la Precisi on . . . . . . 3.8. Control de Paso y de Orden . . . . . . . . . . 3.9. Problemas Propuestos . . . . . . . . . . . . .

4. M etodos Multipaso 4.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Polinomios de NewtonGregory . . . . . . . . . . . . . . . 4.3. Integraci on Num erica Mediante Extrapolaci on Polin omica 4.4. F ormulas Expl citas de AdamsBashforth . . . . . . . . . 4.5. F ormulas Impl citas de AdamsMoulton . . . . . . . . . . 1

. . . . .

. . . . .

. . . . .

. . . . .

INDICE GENERAL 4.6. F ormulas PredictorCorrector de AdamsBashforthMoulton 4.7. F ormulas de Diferencias Hacia Atr as (BDF) . . . . . . . . . . 4.8. Iteraci on de Newton . . . . . . . . . . . . . . . . . . . . . . . 4.9. Control de Paso y de Orden . . . . . . . . . . . . . . . . . . . 4.10. Arranque de los M etodos . . . . . . . . . . . . . . . . . . . . 4.11. Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . 5. Ecuaciones en Derivadas 5.1. Introducci on . . . . . . 5.2. El M etodo de L neas . 5.3. PDEs Parab olicas . . . 5.4. PDEs Hiperb olicas . . 5.5. Problemas Propuestos Parciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 63 64 66 68 70 70 73 73 73 78 84 88

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . . . . . .

. . . . .

6. Integraci on de Ecuaciones 6.1. Introducci on . . . . . . . 6.2. M etodos Monopaso . . . 6.3. F ormulas Multipaso . . 6.4. Problemas Propuestos .

Diferenciales Algebraicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

94 . 94 . 96 . 100 . 101 102 102 103 105 107 107 109 110 111 114 116 116 118 118 120 121 125 127 129 129 130 131 135 137

7. Simulaci on de Sistemas Discontinuos 7.1. Introducci on . . . . . . . . . . . . . . . . . . . . . . . . 7.2. Dicultades B asicas . . . . . . . . . . . . . . . . . . . 7.3. Eventos Temporales . . . . . . . . . . . . . . . . . . . 7.4. Eventos de Estado . . . . . . . . . . . . . . . . . . . . 7.4.1. M ultiples Cruces por Cero . . . . . . . . . . . . 7.4.2. Cruces por Cero Simples. M etodos Monopaso . 7.4.3. Cruces por Cero Simples, M etodos Multipaso . 7.5. Estados Discretos y Condiciones Iniciales Consistentes 7.6. Problemas Propuestos . . . . . . . . . . . . . . . . . . 8. Simulaci on en Tiempo Real 8.1. Introducci on . . . . . . . . . . . . . . . . . . . 8.2. La Carrera Contra el Tiempo . . . . . . . . . 8.3. M etodos de Integraci on Num erica Apropiados 8.4. M etodos Linealmente Impl citos . . . . . . . . 8.5. Integraci on Multitasa . . . . . . . . . . . . . 8.6. Integraci on de Modo Mixto . . . . . . . . . . 8.7. Problemas Propuestos . . . . . . . . . . . . . 9. Simulaci on por Eventos Discretos 9.1. Introducci on . . . . . . . . . . . . . . . . . . 9.2. Discretizaci on Espacial: Un Ejemplo Simple 9.3. Sistemas de Eventos Discretos y DEVS . . . 9.4. Modelos DEVS Acoplados . . . . . . . . . . 9.5. Simulaci on de Modelos DEVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

INDICE GENERAL

9.6. DEVS y Simulaci on de Sistemas Continuos . . . . . . . . . . . . 138 9.7. M etodo de los Sistemas de Estados Cuanticados (QSS) . . . . . 144 9.8. Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . 149 10.M etodos de Integraci on por Cuanticaci on 10.1. Introducci on . . . . . . . . . . . . . . . . . . . 10.2. Precisi on y Estabilidad en QSS . . . . . . . . 10.3. Elecci on del Quantum . . . . . . . . . . . . . 10.4. Se nales de Entrada en el M etodo de QSS . . 10.5. Arranque e Interpolaci on . . . . . . . . . . . 10.6. M etodo de QSS de Segundo Orden . . . . . . 10.7. Simulaci on de DAEs con los m etodos de QSS 10.8. Manejo de Discontinuidades . . . . . . . . . . 10.9. Problemas Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 152 154 157 157 158 159 168 171 176

Cap tulo 1

Introducci on a los Sistemas Continuos


El curso Simulaci on de Sistemas Continuos est a basado casi en su totalidad en el libro Continuous System Simulation [2]. Este libro, si bien es altamente autocontenido, presupone que el lector tiene ciertos conocimientos previos sobre modelos de sistemas continuos y propiedades de las ecuaciones diferenciales. El objetivo de este cap tulo es entonces el de introducir, de manera breve y algo informal, parte de estos conceptos que ser an necesarios a lo largo del curso.

1.1.

Sistemas Continuos y Ecuaciones Diferenciales.

Llamaremos Sistemas Continuos a los sistemas cuyas variables evolucionan continuamente en el tiempo. Los sistemas continuos se describen t picamente mediante ecuaciones diferenciales, ya sea ordinarias o en derivadas parciales. Algunos ejemplos de sistemas continuos correspondientes a distintos dominios de aplicaci on son los siguientes: Ejemplo 1.1. Evoluci on de la concentraci on de una droga en el est omago [3]. El modelo m as simple de la evoluci on de la concentraci on de un f armaco en el est omago supone que la cantidad de droga que se absorve por unidad de tiempo es proporcional a la concentraci on de la misma. on de la droga en el est omago en el Esto es, si llamamos ce (t) a la concetraci instante t, se cumplir a la ecuaci on: dce (t) = ra ce (t) dt (1.1)

Esta ecuaci on es una Ecuaci on Diferencial Ordinaria (ODE) de primer orden homog enea. La variable ce (t) se denomina variable de estado.

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

Adem as, se trata de un modelo lineal (el lado derecho de la ecuaci on contiene s olo operaciones lineales sobre ce ) y estacionario (si cambiamos la variable t por = t obtenemos exactamente el mismo sistema). t En general, utilizaremos la notaci on x para referirnos a la derivada temporal dx . Es decir, reescribiremos la Ec.(1.1) como: dt c e (t) = ra ce (t) (1.2)

Ejemplo 1.2. Velocidad de una masa puntual en el aire. El esquema de la Fig.1.1 muestra el diagrama de fuerzas que act uan sobre una masa puntual bajo la acci on de la gravedad y el rozamiento con el aire. Aplicando la segunda ley de Newton, se llega f acilmente a la ecuaci on: Fr = b v (t) |v (t)| v (t) m Fg = m g Figura 1.1: Sistema mec anico elemental. b v (t)|v (t)| m

v (t) = g

(1.3)

que corresponde a un sistema de primer orden (la variable de estado es v (t)), no lineal (debido al t ermino cuadr atico de la fricci on) y estacionario. Ejemplo 1.3. Sistema hidr aulico. La Figura 1.2 representa un tanque de agua, cuya base tiene area A, a la que ingresa un l quido de densidad . La cantidad de l quido que ingresa est a dado por el caudal Q(t) (una funci on del tiempo). El l quido acumulado en el tanque tiene un volumen V (t) y como consecuencia de la altura de la columna de agua, la presi on en el fondo del tanque es P (t). A la derecha del tanque hay una estricci on que consideramos lineal. Esto es, el l quido que sale del tanque es proporcional a la presi on P (t). Un modelo simple de este sistema est a dado por: (t) = g V (t) + Q(t) V AR (1.4)

Este sistema es de primer orden (la variable de estado es el volumen V (t)), lineal y estacionario. Adem as, el sistema tiene una se nal de entrada Q(t). Hay otras variables que pueden ser de inter es en este sistemas, tales como la presi on P (t) o el caudal de salida Qs (t), que no aparecen expl citamente en

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

Q(t)

V (t)

P (t) =

g AV

(t)

Qs (t) =

P (t) R

Figura 1.2: Sistema hidr aulico elemental. la ecuaci on diferencial (1.4). Por este motivo, los modelos en ecuaciones diferenciales suelen complementarse con ecuaciones de salida que calculan ciertas variables de inter es (salidas) a partir de las variables de estado. En este ejemplo podemos agregar las ecuaciones de salida: g V (t) P (t) = A g V (t) Qs (t) = AR Una observaci on muy importante es que el modelo dado por la ecuaci on (1.4) s olo es v alido cuando V (t) > 0. Ejemplo 1.4. Evoluci on de la concentraci on de una droga entre el est omago y la sangre [3]. El Ejemplo 1.1 puede completarse considerando ahora que la droga que se absorve del est omago pasa a la sangre, y que la cantidad de f armaco en la sangre se elimina tambi en con una velocidad proporcional a su concentraci on. Esta nueva hip otesis nos impone la necesidad de contar con una nueva variable de estados, ya que para describir lo que ocurre debemos tener en cuenta on de f armaco la concentraci on de f armaco en el est omago ce (t) y la concentraci en la sangre cs (t). El sistema de ecuaciones diferenciales es entonces el siguiente: c e (t) = ra ce (t) c s (t) = ra ce (t) re cs (t) (1.5)

Este sistema es lineal, de segundo orden (hay dos variables de estado), estacionario y aut onomo (no hay entradas). Ejemplo 1.5. Sistema masa resorte. La Figura 1.3 muestra un sistema masaresorte, donde se considera adem as la presencia de fricci on (en este caso lineal) y de una fuerza externa aplicada sobre la masa F (t).

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION v (t), x(t)

Fres (t) = k x(t) m

F (t)

Froz (t) = b v (t) Figura 1.3: Sistema masaresorte. Un modelo de de la evoluci on de la posici on x(t) en este sistema (que se encuentra habitualmente en los cursos de F sica) est a dado por la ecuaci on diferencial mx (t) + b x (t) + k x(t) = F (t) (1.6) Aunque hay s olo una variable (x(t)), debido a la presencia de la derivada segunda, el sistema es en realidad de segundo orden. En la Ec.(1.5) del ejemplo anterior represent abamos al sistema de segundo orden como dos ecuaciones de primer orden en dos variables de estado (sistema de ecuaciones de estado). Evidentemente, la Ec.(1.6) corresponde a una forma distinta de representaci on. Sin embargo, podemos f acilmente pasar a la forma de ecuaciones de estado utilizando como variables de estado a x(t) y a v (t) = x (t), resultando el sistema: x (t) = v (t) b 1 k v (t) = x(t) v (t) + F (t) m m m

(1.7)

que es claramente un sistema lineal y estacionario, de segundo orden, con una entrada F (t). Los sistemas exresados como una ecuaci on diferencial con derivadas hasta orden n, tales como la Ecuaci on (1.6), pueden siempre reducirse a n sistemas de ecuaciones diferenciales de primer orden. Para esto basta con utilizar como variables de estado la variable de la ecuaci on diferencial original y sus n 1 derivadas. En el curso vamos a trabajar casi exclusivamente con sistemas representados mediante ecuaciones de estado, es decir, n sistemas de ecuaciones diferenciales de primer orden. Ejemplo 1.6. Modelo de LotkaVolterra [6]. Uno de los modelos m as simple y difundidos de la din amica de poblaciones es el de LotkaVolterra, desarrollado en la d ecada de 1920 para describir la evoluci on de dos especies: presa y depredador.

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION El modelo tiene la forma: p (t) = r p(t) a p(t) d(t) (t) = b p(t) d(t) m d(t) d

(1.8)

donde p(t) y d(t) representan el n umero de presas y depredadores respectivamente. El coeciente r es la tasa de crecimiento del n umero de presas en ausencia de depredadores. El par ametro a es el coeciente de depredaci on. Similarmente, b es la tasa de crecimiento del n umero de depredadores en presencia de presas y m es la tasa de mortalidad de los depredadores. Como puede verse, se trata de un sistema no lineal de segundo orden. Ejemplo 1.7. Circuito El ectrico. El circuito el ectrico de la Fig. 1.4 consiste en una fuente de tensi on U (t), dos resistencias (R1 y R2 ), una inductancia L y un capacitor C . Consideramos todos elementos lineales. L R1

+
U (t)

R2

Figura 1.4: Circuito el ectrico simple. Las ecuaciones que rigen la din amica de dicho circuito son las siguientes: u C (t) = 1 1 iL (t) + uL (t) C R2 C L (t) = 1 uL (t) i L

(1.9)

on en el capacitor donde las variables de estado uC (t) e iL (t) representan la tensi y la corriente en la inductancia respectivamente. Adem as, aparece una variable on en la bobina) que debe cumplir: uL (t) (tensi U (t) R1 iL (t) uC (t) (1 + R1 )uL (t) = 0 R2 (1.10)

En este caso, el sistema total, formado por las ecuaciones (1.9)(1.10), es una Ecuaci on Diferencial Algebraica (DAE). El sistema es lineal, de segundo orden, y en este caso (debido a la linealidad) puede transformarse en una ecuaci on diferencial ordinaria despejando uL (t) de (1.10) y reemplazando en (1.9). Sin embargo, si la caracter stica de alguna de las resistencias fuera no lineal, esto ser a en general imposible.

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

1.2.

Modelado y Simulaci on.

Siendo este un curso sobre simulaci on, hay un problema que est a ntimamente ligado al mismo y que no puede dejar de mencionarse: el modelado. En el contexto de este curso, cuando hablamos de modelado nos referimos a la obtenci on de modelos matem aticos tales como los expresados por las Ecuaciones (1.2)(1.10), a partir de descripciones similares a las de los ejemplos tratados. Si bien este es un tema fundamental, lo dejaremos de lado y supondremos que ya contamos con los modelos y nos concentraremos casi exclusivamente en los problemas de simulaci on. Al lector que est e interesado en m etodos de modelado podemos recomendarle el libro Continuous System Modeling [1], que contiene una muy buena s ntesis de los m etodos y herramientas para el modelado de sistemas de diversos dominios de la ciencia y de la t ecnica. Cuando nos referimos a simulaci on, hablamos en general de un experimento que se realiza sobre un modelo. En el caso de los sistemas continuos, dado que las variables evolucionan continuamente en el tiempo, hacer una simulaci on equivale a obtener datos sobre las trayectorias que describen dichas variables. M as precisamente, lo que buscaremos obtener a trav es de las simulaciones son soluciones de las ecuaciones diferenciales que describen los sistemas a partir de condiciones iniciales conocidas. Esto no es ni m as ni menos que lo que se conoce como Problemas de Valor Inicial.

1.3.

Problemas de Valor Inicial.

El objetivo de este curso es el de estudiar m etodos num ericos que permitan resolver de manera aproximada sistemas de ecuaciones tales como los que aparecieron en los Ejemplos 1.11.7 a partir de condiciones iniciales conocidas. Sin embargo, algunas de las ecuaciones de estos casos particulares pueden resolverse de manera anal tica. Por ejemplo, la Ec.(1.2) del Ejemplo 1.1 tiene soluci on: cs (t) = era t cs (0) (1.11)

on inicial, es decir, la cantidad de f armaco que hay donde cs (0) es la condici originalmente en el est omago. De manera similar, la Ec.(1.4) en el Ejemplo 1.3 tiene soluci on anal tica V (t) = et V (0) +
0 g donde A quido en R . En este caso, V (0) representa el volumen inicial de l el tanque. Veremos m as adelante que en los sistemas lineales y estacionarios es relativamente facil encontrar la soluci on anal tica. Sin embargo, esto no es en general t

e (t )Q( )d

(1.12)

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

10

posible en los sistemas no lineales, y esta raz on es una de las principales motivaciones para estudiar los m etodos num ericos de integraci on. Una caracter stica de las soluciones anal ticas (1.11) y (1.12) es que las f ormulas son v alidas para cualquier condici on inicial y, en el caso de las segunda, para cualquier trayectoria de entrada. Esta generalidad la perderemos cuando obtengamos soluciones num ericas, ya que cada soluci on num erica corresponder aa una determinada condici on inicial y a una determinada trayectoria de entrada.

1.4.

Ecuaciones de Estado

Los Ejemplos 1.11.6 resultaron en modelos de ecuaciones diferenciales ordinarias, que escribimos en la forma de Ecuaciones de Estado. En general, un sistema de ecuaciones de estado de orden n tiene la forma: x 1 (t) = f1 (x1 (t), . . . , xn (t), u1 (t), . . . , um (t), t) . . . x n (t) = fn (x1 (t), . . . , xn (t), u1 (t), . . . , um (t), t)

(1.13)

donde x1 , . . . , xn son las variables de estado y u1 , . . . , um son las variables de entrada. La Ec.(1.13) puede reescribirse utilizando notaci on vectorial: (t) = f (x(t), u(t), t) x
T

(1.14)
T

donde x = x1 . . . xn Rn es el vector de estados y u = u1 . . . um Rm es el vector de entradas. Cuando interesan algunas variables del sistema en particular (no necesariamente variables de estado), tal como en el caso del Ejemplo 1.3, suelen completarse los modelos con Ecuaciones de Salida de la forma: y1 (t) = g1 (x1 (t), . . . , xn (t), u1 (t), . . . , um (t), t) . . . yp (t) = gp (x1 (t), . . . , xn (t), u1 (t), . . . , um (t), t) donde y1 , . . . , yp son denominadas variables de salida. Las ecuaciones de salida tambi en pueden escribirse en forma vectorial: y(t) = g(x(t), u(t), t) (1.16)

(1.15)

1.5.

Sistemas Lineales y Estacionarios.

Un caso particular de la Ecuaci on de Estados (1.14) se da cuando el lado derecho es lineal en los estados y entradas y no hay dependencia expl cita del tiempo. En tales casos, la Ec.(1.14) toma la forma (t) = A x(t) + B u(t) x (1.17)

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

11

on y de entrada donde A Rnn y B Rnm son las matrices de evoluci respectivamente. Para los nes de este curso, nos interesa particularmente el caso aut onomo, es decir, (t) = A x(t) x (1.18) ya que las principales propiedades de estabilidad y precisi on de los distintos m etodos que estudiaremos se analizan en base a este caso. La raz on de utilizar el sistema (1.18) para analizar las propiedades de los m etodos es muy simple: para este sistema podemos calcular la soluci on anal tica y podemos establecer de manera muy simple las condiciones que debe cumplir A para que el sistema sea estable. Por lo tanto, podemos comparar las soluciones aproximadas y las caracter sticas de estabilidad que resultan de aplicar un m etodo con las soluciones y las condiciones de estabilidad exactas del sistema original. En virtud de esto, analizaremos a continuaci on las propiedades del sistema lineal y estacionario (1.18). Comenzaremos entonces por resolver la ecuaci on (1.18) a partir de una condici on inicial gen erica x(0) = x0 . Para tal n, comenzaremos haciendo un cambio de variables a trav es de una transformaci on lineal: x(t) = V z(t) (1.19)

donde V es una matriz invertible. Reemplazando en (1.18) y operando obtenemos el sistema: (t) = V1 A V z(t) = z(t) (1.20) z con la condici on inicial z(0) = z0 = V1 x0 . Cuando todos los autovalores de la matriz A son distintos, es siempre posible elegir V tal que la matriz sea diagonal1 . En ese caso, la matrices (matriz de autovalores) y V (matriz de autovectores) toman la forma 1 0 . . . 0 0 2 . . . 0 = . (1.21) , V = V1 V2 . . . Vn . . .. . . . . . . . 0 0 . . . n donde los i son los autovalores y los Vi los correspondientes autovectores. Recordemos que los autovalores son soluciones de la ecuaci on caracter stica det( I A) = 0 y los autovectores satisfacen i Vi = A Vi (1.23) (1.22)

1 Cuando hay autovalores repetidos, en general no se puede diagonalizar, pero se puede elegir V tal que la matriz sea una matriz de Jordan. De todas maneras, para los nes de este curso, no ser a necesario tener en cuenta estos casos no diagonalizables

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

12

Teniendo en cuenta la Ec.(1.21), el sistema (1.20) puede reescribirse como z 1 (t) = 1 z1 (t) . . . z n (t) = n zn (t) lo que consiste en un sistema de n ecuaciones diferenciales de primer orden desacopladas, y que puede resolverse de manera trivial. La soluci on es z1 (t) = e1 t z1 (0) . . . zn (t) = en t zn (0) Utilizando notaci on matricial, podemos reescribir la soluci on z(t) = et z(0) donde denimos et 1 t e 0 . . . 0 0 ... ... .. . 0 0 . . . (1.27) (1.26)

(1.24)

(1.25)

e2 t . . . 0

. . . en t

Finalmente, utilizando la Ecuaci on (1.19) en la Ec.(1.26), y recordando que on de la Ec.(1.18): z(0) = V1 x(0), podemos obtener la soluci x(t) = V et V1 x(0) = eAt x(0) donde denimos
At

(1.28)

eAt

V et V1

(1.29)

La matriz e se denomina matriz de transici on, y permite calcular la soluci on de (1.18) en un instante cualquiera. Esta denominaci on se debe a que si conocemos el valor del estado x(t1 ) en un instante cualquiera t1 , al premultiplicar dicho estado por la matriz de transici on eAt obtenemos el valor del estado en el instante t + t1 . En presencia de se nales de entrada hab amos visto que un sistema lineal y estacionario tomaba la forma de la Ec.(1.17). En tal caso, la soluci on puede escribirse como x(t) = eAt x(0) +
0 t

eA(t ) B u( )d

(1.30)

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

13

1.6.

Propiedades Cualitativas de la Soluci on.

Al analizar la soluci on x(t) en la Ec.(1.30), encontraremos que cada componente del vector de estado verica la expresi on: xi (t) = ci,1 e1 t + . . . + ci,n en t (1.31)

donde los coecientes ci,j dependen del estado inicial x(0) y de la matriz de autovectores V. Independientemente de cuanto valgan estos coecientes, la forma cualitativa de las soluciones depender a totalmente de los autovalores. Por este motivo, las funciones (exponenciales) ej t se denominan modos del sistema. Por ejemplo, un autovalor real negativo aportar a un modo correspondiente a una exponencial convergente. De manera similar, un par de autovalores imaginarios puros (conjugados) aportar an un modo oscilante (senoidal puro). Por otro lado, un par de autovalores complejos conjugados con parte real positiva aportar an un modo oscilante modulado por una exponencial divergente. Una diferenciaci on fundamental entre los posibles modos de un sistema acil de ver est a dada por la parte real de los autovalores. Si Re(i ) < 0 es f que l mt ei t = 0, es decir, el modo se extingue a medida que avanza el tiempo. Esto es, se trata de un modo estable. mt |ei t | = , por lo que se En cambio, cuando Re(i ) > 0 ocurre que l trata de un modo inestable. El caso Re(i ) = 0 (suponiendo que no hay autovalores repetidos)2 corresponde a modos marginalmente estables. Para que un sistema lineal y estacionario sea estable todos los modos deben ser estables, es decir, todos los autovalores deben tener parte real negativa. Por el contrario, si uno o m as autovalores tienen parte real positiva el sistema ser a inestable. Es importante remarcar que no hace falta calcular la soluci on x(t) para tener informaci on cualitativa sobre la soluci on, ya que para conocer los modos del sistema y/o la estabilidad es suciente con calcular los autovalores de la matriz A. Por u ltimo, cabe mencionar que hay conceptos y herramientas de an alisis de estabilidad (m as avanzados que los vistos) que pueden aplicarse no s olo a los sistemas lineales y estacionarios, tales como (1.17), sino que tambi en se aplican a sistemas no lineales en general como (1.14). Incluso, algunos de ellos se aplican en el contexto de los m etodos num ericos de integraci on. Sin embargo, no trataremos aqu esos conceptos ya que exceden los objetivos de este curso. Para quien tenga inter es en el tema, el libro Nonlinear Systems de H.Khalil [5] ofrece un muy buen resumen de las principales herramientas de an alisis de sistemas no lineales.
2 Cuando hay autovalores repetidos y el sistema no se puede diagonalizar, aparecen modos de la forma tj ei t , donde j = 1, . . . , k , siendo k la multiplicidad del autovalor.

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

14

1.7.

Problemas Propuestos

[P1.1] Respuesta al escal on de un sistema de primer orden Calcular y gracar la soluci on del sistema (1.4) considerando un volumen inicial nulo V (0) = 0, y que el caudal de entrada es una funci on escal on unitario, es decir, Q(t) = (t) donde (t) = 0 1 si t < 0 si t 0 (P1.1a)

Utilizar los par ametros: = 1, g = 9.8, A = 1 y R = 1. [P1.2] Soluci on libre de un sistema de segundo orden Para el sistema (1.5): a) Reescribir la ecuaci on en forma matricial. b) Calcular y gracar la soluci on con condiciones iniciales ce (0) = 1, cs (0) = 0, considerando los par ametros ra = 2 y re = 1. c) Repetir el punto anterior los par ametro ra = 20, re = 1 y para ra = 0.1, re = 1. [P1.3] Respuesta al escal on de un sistema de segundo orden Para el sistema masa resorte (1.7): a) Reescribir la ecuaci on en forma matricial. b) Calcular y gracar la soluci on considerando condiciones iniciales nulas y que la fuerza de entrada es un escal on unitario, F (t) = (t), con (t) denido en la Ec.(P1.1a). Suponer que los par ametros valen m = k = b = 1.

[P1.4] Transformaci on de una DAE en una ODE expl cita. Convertir la DAE (1.9)(1.10) en una ecuaci on diferencial ordinaria y escribirla en forma matricial. [P1.5] Estabilidad de los sitemas lineales y estacionarios Analizar la estabilidad de los sistemas de los Ejemplos 1.1, 1.3, 1.4, 1.5 y 1.7. Considerar en todos los casos que todos los par ametros son positivos. [P1.6] Punto de equilibrio de un sistema lineal y estacionario Para el ) (constante) y los par sistema hidr aulico (1.4), considerando Q(t) = Q ametros utilizados en el Problema P1.1, calcular el punto de equilibrio. Es decir, se pide calcular el valor del estado (en este caso V (t)) para el cual la soluci on queda en (t) = 0). un estado estacionario (V

A LOS SISTEMAS CONTINUOS CAP ITULO 1. INTRODUCCION

15

Corroborar luego este resultado con la soluci on del sistema calculada en el Problema P1.1. [P1.7] Puntos de equilibrio en sistemas no lineales Calcular el/los punto/s de equilibrio de los sistemas: a) El sistema (1.3), considerando b = m = 1, g = 9.8. b) El sistema presadepredador (1.8), suponiendo r = a = b = m = 0.1. Interpretar los resultados. [P1.8] Pelota rebotando El siguiente modelo puede verse como una combinaci on del sistema (1.3) (suponiendo rozamiento lineal, y con v (t) positiva hacia arriba) y el sistema (1.7) (con F (t) = m g ): x (t) = v (t) v (t) =
a b m v (t) g k b m x(t) m v (t) g

si x(t) > 0 si x(t) 0

(P1.8a)

Este sistema puede representar un modelo muy simplicado de una pelota que rebota contra el piso. Cuando x(t) > 0 la pelota est a en el aire y cuando x(t) 0 la pelota est a en contacto con el piso y se modeliza como un sistema masa resorte. Desde el punto de vista matem atico, la ecuaci on (7.1) es seccionalmente lineal o lineal a tramos. Si bien no se puede calcular la soluci on anal tica en forma exacta, es posible calcular tramos de la soluci on. Considerando entonces los par ametros ba = 0.1, m = 1, b = 30, g = 9.8 y k = 100000, se pide: a) Calcular y gracar un tramo de la soluci on desde la condici on inicial x(0) = 10, v (0) = 0, hasta el tiempo t1 , en el que se verique x(t1 ) = 0. Ayuda: Como la matriz A es singular, en este caso no puede calcularse la on (para seguir utilizando esta integral de eAt como A1 eAt . Una opci forma de integrar) es modicar la matriz A, agregando un peque no t ermino que evite que sea singular. Adem as, notar que para calcular el tiempo t1 va a ser necesario utilizar alguna forma de iteraci on. b) Utilizando como condici on inicial los valores nales del tramo obtenido en on el punto anterior: x(t1 )(= 0), v (t1 ), calcular un nuevo tramo de la soluci hasta un instante t2 en que se verique nuevamente x(t2 ) = 0. c) Repetir el punto anterior varias veces y gracar la soluci on obtenida.

Cap tulo 2

Bases de la Integraci on Num erica


Este cap tulo es una traducci on resumida del Cap tulo 2 del libro Continuous System Simulation [2].

2.1.

Introducci on
(t) = f (x(t), u(t), t) x

Consideremos un modelo de ecuaciones de estado: (2.1)

donde x es el vector de estados, u es el vector de entradas, y t representa el tiempo, con condiciones iniciales: x(t = t0 ) = x0 (2.2)

Una componente xi (t) del vector de estados representa la ith trayectoria del estado en funci on del tiempo t. Siempre y cuando el modelo de ecuaciones de estado no contenga discontinuidades en fi (x, u, t) ni en sus derivadas, xi (t) ser a tambi en una funci on continua. Adem as, la funci on podr a aproximarse con la precisi on deseada mediante series de Taylor alrededor de cualquier punto de la trayectoria (siempre y cuando no haya escape nito, es decir, que la trayectoria tienda a innito para un valor nito de tiempo). Llamemos t al instante de tiempo en torno al cual queremos aproximar la trayectoria mediante una serie de Taylor, y sea t + h el instante de tiempo en el cual queremos evaluar la aproximaci on. Entonces, la trayectoria en dicho punto puede expresarse como sigue: d2 xi (t ) h2 dxi (t ) h+ + ... dt dt2 2! Reemplazando con la ecuaci on de estado (2.1), la serie (2.3) queda: xi (t + h) = xi (t ) + 16 (2.3)

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

17

dfi (t ) h2 + ... (2.4) dt 2! Los distintos algoritmos de integraci on dieren en la manera de aproximar las derivadas superiores del estado y en el n umero de t erminos de la serie de Taylos que consideran para la aproximaci on. xi (t + h) = xi (t ) + fi (t ) h +

2.2.

Precisi on de la aproximaci on

Evidentemente, la precisi on con la que se aproximan las derivadas de orden superior debe estar acorde al n umero de t erminos de la serie de Taylos que se considera. Si se tienen en cuenta n + 1 t erminos de la serie, la precisi on de la aproximaci on de la derivada segunda del estado d2 xi (t )/dt2 = dfi (t )/dt debe on de la ser de orden n 2, ya que este factor se multiplica por h2 . La precisi tercer derivada debe ser de orden n 3 ya que este factor se multiplica por on ser a correcta hasta hn . Luego, n se h3 , etc. De esta forma, la aproximaci denomina orden de la aproximaci on del m etodo de integraci on, o, simplemente, se dice que el m etodo de integraci on es de orden n. El error de aproximaci on que se produce a causa del truncamiento de la serie de Taylor tras un n umero nito de t erminos se denomina error de truncamiento. El error de truncamiento contiene t erminos de hn+1 , hn+2 , etc. No puede contener ning un t ermino de potencias de h menor que n + 1. Sin embargo, como la magnitud de los t erminos superiores decrece muy r apidamente, el error de truncamiento se suele aproximar mediante el t ermino de hn+1 . Mientras mayor es el orden de un m etodo, m as precisa es la estimaci on de xi (t + h). En consecuencia, al usar m etodos de orden mayor, se puede integrar utilizando pasos grandes. Por otro lado, al usar pasos cada vez m as chicos, los t erminos de orden superior de la serie de Taylor decrecen cada vez m as r apidos y la serie de Taylor puede truncarse antes. El costo de cada paso depende fuertemente del orden del m etodo en uso. En este sentido, los algoritmos de orden alto son mucho m as costosos que los de orden bajo. Sin embargo, este costo puede compensarse por el hecho de poder utilizar un paso mucho mayor y entonces requerir un n umero mucho menor de pasos para completar la simulaci on. Esto implica que hay que hacer una buscar una soluci on de compromiso entre ambos factores. Una regla emp rica simple para elegir el orden apropiado a utilizar en una simulaci on puede ser la siguiente: Si la precisi on local relativa requerida por una aplicaci on, es decir, el m aximo error tolerado tras un paso de integraci on, es 10n , entonces conviene elegir un algoritmo de al menos orden n. Por este motivo, la simulaci on de problemas de din amica celeste requiere usar los algoritmos de mayor orden (normalmente se usan de orden 8). Por otro lado, la mayor parte de las simulaciones de sistemas econ omicos se hacen con m etodos

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

18

de primer o segundo orden, ya que los par ametros de los modelos no son mucho m as precisos que eso. Muchas aplicaciones de la ingenier a requieren una precisi on global relativa de aproximadamente 0.001. Normalmente se asume lo siguiente: Si el error de integraci on local, es decir, el error cometido tras un paso on de integraci on es proporcional a hn+1 , luego el error de integraci global, es decir, el error de los resultados al nal de la simulaci on, es proporcional a hn . Esta suposici on es correcta para un paso de integraci on h sucientemente peque no, es decir, en la llamada regi on asint otica del algoritmo. Un error relativo global de 0.001, lo que permiten la mayor parte de las aplicaciones de la ingenier a, requiere un algoritmo con un error global de h3 . De acuerdo con la observaci on anterior, esto corresponde a un algoritmo con error local de h4 y error relativo local de 0.0001. Por esto la mayor parte de los sistemas de simulaci on ofrecen como algoritmo por defecto uno de cuarto orden. Una segunda fuente de error de aproximaci on importante es la causada por la longitud de palabra nita de la computadora que realiza la simulaci on. Este error se denomina error de redondeo y es importante ya que en la integraci on num erica siempre se suman n umeros peque nos con n umeros grandes. Debido a esto, en general el uso de algoritmo de orden alto requiere a la vez el uso de doble precisi on, ya que de otra forma el error por redondeo se torna mayor al error por truncamiento y pierde sentido la utilizaci on de una aproximaci on tan precisa. Adem as, por el mismo motivo, casi nunca se utilizan algoritmos de orden mayor que 8. Una tercera fuente de error es el error de acumulaci on. Debido al truncamiento y al redondeo no se puede conocer con precisi on x(t + h). Por lo tanto, este error es heredado por el siguiente paso como un error en la condici on inicial. As , los errores se acumulan a trav es de pasos sucesivos. Afortunadamente, los efectos de las condiciones iniciales tienden a desaparecer de la soluci on anal tica cuando el sistema es anal ticamente estable. Por lo tanto, es de esperar que si el m etodo de integraci on es num ericamente estable (ya veremos en detalle el signicado de este t ermino) entonces tambi en se extinguir a con el tiempo el efecto de las condiciones iniciales y con esto, se atenuar a el efecto de la imprecisi on en las mismas. Sin embargo, esto no ocurre as con los sistemas inestables, y el error aqu puede acumularse excesivamente a trav es de los pasos. En estos casos, puede ser conveniente (si es posible) integrar hacia atr as en el tiempo desde el nal. Por encima de estos errores aparecen tambi en las imprecisiones del propio modelo. Estas se pueden clasicar entre errores param etricos, es decir, imprecisi on en los par ametros, y errores estructurales, tambi en llamados din amica no modelada.

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

19

2.3.

Integraci on de Euler

El algoritmo de integraci on m as simple se obtiene truncando la serie de Taylor tras el t ermino lineal: x(t + h) x(t ) + x (t ) h o: x(t + h) x(t ) + f (x(t ), t ) h (2.5b) (2.5a)

Este esquema es particularmente simple ya que no requiere aproximar ninguna derivada de orden superior, y el t ermino lineal est a directamente disponible del modelo de ecuaciones de estado. Este esquema de integraci on se denomina M etodo de Forward Euler, y lo abreviaremos como FE. La Fig.2.1 muestra una interpretaci on gr aca de la aproximaci on realizada por el m etodo de FE.
15 V True Value Approximated Value t 0.5 1.0 1.5 t+h 2.0 2.5 3.0 3.5 4.0 4.5 5.0

10

0 0.0

Time

Figura 2.1: Integraci on num erica utilizanddo Forward Euler. La simulaci on utilizando el m etodo de FE es trivial. Dada la condici on inicial x(t = t0 ) = x0 se puede proceder de la siguiente forma: paso 1a: paso 1b: paso 2a: paso 2b: paso 3a: paso 3b: etc. x (t0 ) x(t0 + h) x (t0 + h) x(t0 + 2h) x (t0 + 2h) x(t0 + 3h) = f (x(t0 ), t0 ) = x(t0 ) + h x (t0 ) = f (x(t0 + h), t0 + h) = x(t0 + h) + h x (t0 + h) = f (x(t0 + 2h), t0 + 2h) = x(t0 + 2h) + h x (t0 + 2h)

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

20

La simulaci on se torna trivial ya que el m etodo de integraci on utiliza s olo valores pasados de las variables de estado y sus derivadas. Un esquema de integraci on que exhibe esta caracter stica se denomina algoritmo de integraci on expl cito. La mayor parte de los m etodos que se utilizan en los lenguajes de simulaci on de prop osito general son de esta naturaleza. Veamos ahora un algoritmo de integraci on diferente. La Figura 2.2 muestra un esquema con una peque na modicaci on.
15 V True Value

10

5 t 0.5 1.0

Approximated Value t+h 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0

0 0.0

Time

Figura 2.2: Integraci on num erica utilizando Backward Euler. En este esquema, la soluci on x(t + h) se aproxima utilizando los valores de x(t ) y f (x(t + h), t + h) mediante la f ormula:

x(t + h) x(t ) + f (x(t + h), t + h) h

(2.6)

Este esquema se conoce como el m etodo de integraci on de Backward Euler (BE). Como puede verse, esta f ormula depende en el valor actual y en el valor pasado de las variables, lo que causa problemas. Para calcular x(t + h) en la Eq.(2.6), necesitamos conocer f (x(t + h), t + h)), pero para calcular f (x(t + h), t + h)) de la Ec.(2.1), necesitamos saber x(t + h). En consecuencia, estamos ante un lazo algebraico no lineal. Este tipo de algoritmos se denominan m etodos de integraci on impl citos. Si bien los m etodos impl citos son ventajosos desde el punto de vista num erico (veremos esto m as adelante), la carga computacional adicional creada por la necesidad de resolver simult aneamente un sistema de ecuaciones algebraicas no lineales al menos una vez por cada paso de integraci on puede hacerlos inapropiados para su uso en software de simulaci on de prop osito general excepto para aplicaciones espec cas, tales como los sistemas sti.

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

21

2.4.

El Dominio de Estabilidad Num erica


x =Ax (2.7)

Volvamos ahora a la soluci on de un sistema aut onomo, lineal y estacionario:

con las condiciones iniciales de la Ec.(2.2). La soluci on anal tica es la siguiente: x(t) = exp(A t) x0 (2.8)

Esta soluci on es anal ticamente estable si todas las trayectorias permanecen acotadas cuando el tiempo tiende a innito. El sistema (2.7) es anal ticamente estable si y s olo si todos los autovalores de A tienen parte real negativa: Re{Eig(A)} = Re{} < 0.0 (2.9)

El dominio de estabilidad anal tica en el plano complejo se muestra en la Fig.2.3.


xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx stable xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Im{}

unstable

Re{}

Figura 2.3: Dominio de estabilidad anal tica. Apliquemos entonces el algoritmo de FE a la soluci on num erica de este problema. Colocando el sistema de la Ec.(2.7) en el algoritmo de la Ec.(2.5), obtenemos: x(t + h) = x(t ) + A h x(t ) que puede reescribirse en forma m as compacta como: x(k + 1) = [I(n) + A h] x(k )
(n )

(2.10)

(2.11)

es una matriz identidad de la misma dimensi on que A, es decir, n n. En I lugar de referirnos expl citamente al tiempo de simulaci on, lo que hacemos es indexar el tiempo, es decir, k se reere al k esimo paso de integraci on. Lo que hicimos fue convertir el sistema continuo anterior en un sistema de tiempo discreto asociado:

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

22

xk+1 = F xk

(2.12)

donde la matriz de evoluci on discreta F puede calcularse a partir de la matriz de evoluci on continua A y del paso de integraci on h, como: F = I(n) + A h (2.13)

El sistema discreto de la Ec.(2.12) es anal ticamente estable si y s olo si todos sus autovalores se encuentran dentro de un c rculo de radio 1 alrededor del origen, llamado c rculo unitario. Para que esto ocurra, de la Ec.(2.13) podemos concluir que todos los autovalore de A multiplicados por el paso de integraci on h deben caer en un c rculo de radio 1.0 alrededor del punto 1.0. Diremos que un sistema lineal y estacionario de tiempo continuo integrado con un dado m etodo de integraci on de paso jo es num ericamente estable si y s olo si el sistema de tiempo discreto asociado es anal ticamente estable. La Figura 2.4 muestra el dominio de estabilidad num erica del m etodo de FE. Im{ h}
xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx stable xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx -2xxxxxxxxxxxxxxxxxxxxxxxxxx -1 xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx

Re { h }
unstable

Figura 2.4: Dominio de estabilidad num erica de Forward Euler. Es importante notar que el dominio de estabilidad num erica, en el sentido riguroso, queda s olo denido para sistemas lineales y estacionarios y puede aplicarse s olamente a algoritmos de paso jo. En el caso de FE, el dominio de estabilidad num erica nos muestra que cuando el paso de integraci on es grande, un sistema anal ticamente estable puede dar un resultado num ericamente inestable. La limitaci on en el valor de h es particularmente importante cuando los autovalores se encuentran cerca del eje imaginario. En particular, cuando est an sobre dicho eje no existe ning un paso de integraci on que permita obtener una soluci on p uramente oscilante, sino que siempre se obtiene un resultado inestable. Por este motivo, el m etodo de FE no sirve para integrar sistemas con poco amortiguamiento. Veamos ahora el m etodo de BE. Colocando el modelo de la Ec.(2.7) en el algoritmo de la Ec.(2.5), se obtiene:

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

23

x(t + h) = x(t ) + A h x(t + h) que puede reescribirse como: [I(n) A h] x(t + h) = x(t ) o: x(k + 1) = [I(n) A h]1 x(k ) Luego: F = [I(n) A h]1 La Figura 2.5 muestra el dominio de estabilidad de este m etodo.
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Im{ h} xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx h xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx stable xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx unstable xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +2 +1 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Re { xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

(2.14)

(2.15)

(2.16)

(2.17)

h}

Figura 2.5: Dominio de estabilidad de Backward Euler. El algoritmo de BE tiene la ventaja de que si el sistema es anal ticamente estable, se garantizar a la estabilidad num erica para cualquier paso de integraci on h. Este m etodo es entonces mucho m as apropiado que el de FE para resolver problemas con autovalores alejados sobre el eje real negativo del plano complejo. Esto es de crucial importancia en los sistemas sti, es decir, sistemas con autovalores cuyas partes reales est an desparramadas a lo largo del eje real negativo. A diferencia de FE, en BE el paso de integraci on deber a elegirse exclusivamente en funci on de los requisitos de precisi on, sin importar el dominio de estabilidad num erica. Sin embargo, el dominio de estabilidad num erica de BE muestra una regi on estable en el semiplano derecho. Esto es particularmente peligroso ya que un sistema anal ticamente inestable puede resultar num ericamente estable. Por lo tanto, al analizar resultados de simulaci on puede llegarse a la conclusi on (err onea) de que el sistema es estable. Como en el caso de FE, el m etodo de BE no funciona con sistemas marginalmente estables (sistemas cuyos autovalores dominantes est an sobre o cerca del

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

24

eje imaginario) ya que ning un paso de integraci on mostrar a el comportamiento oscilatorio no amortiguado. La obtenci on del dominio de estabilidad de BE no es tan directa como la de FE. Si bien existen m etodos anal ticos de determinar el dominio de estabilidad de un algoritmo de integraci on dado, estos suelen ser bastante complicados. Por esto, veremos una manera alternativa de determinar el dominio de estabilidad de cualquier algoritmo de integraci on mediante un programa de aproximaci on simple. Para esto, comenzaremos armando una matriz A con autovalores que satisfacen || = 1.0, y a ngulos . Luego, variaremos entre 0 y pi. Para cada valor de determinaremos el valor de h para el cual el m etodo de integraci on conlleva un resultado marginalmente estable (los autovalores de F tienen m odulo igual a 1.0). De esta forma, el dominio de estabilidad del m etodo se podr a dibujar gracando los valores de h obtenidos con el a ngulo . La matriz de evoluci on mencionada tiene la forma A= 0 1 1 2 cos() (2.18)

2.5.

La Iteraci on de Newton

En los sistemas lineales, podemos utilizar el m etodo de BE aplicando inversi on matricial y llegando a una f ormula como la Ec.(2.16). Sin embargo, esto no puede hacer en el caso no lineal. De alguna manera hay que resolver el conjunto impl cito de ecuaciones algebraicas no lineales que se forman entre el modelo de ecuaciones de estado y el algoritmo de integraci on impl cito. Para esto, necesitaremos alg un procedimiento iterativo. La primer idea en este sentido puede ser la de utilizar un m etodo predictor corrector : empezamos con un paso utilizando FE, y luego utilizamos el resultado de este paso (predictor) para calcular la derivada del estado del paso impl cito de BE. Luego, repetimos iterativamente los pasos con BE (corrector). predictor: x k = f (xk , tk ) xP k k+1 = xk + h x
P x P k+1 = f (xk+1 , tk+1 ) C1 xk+1 = xk + h x P k +1 C1 x C1 k+1 = f (xk+1 , tk+1 ) C2 xk+1 = xk + h x C1 k +1 C2 x C2 k+1 = f (xk+1 , tk+1 ) xC3 = x C2 k + hx k +1 k +1

1st corrector:

2nd corrector:

3rd corrector:

etc.

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

25

La iteraci on termina cuando dos aproximaciones sucesivas de xk+1 dieren en menos que una tolerancia preestablecida. Este esquema de iteraci on se denomina iteraci on de punto jo. Lamentablemente, esta idea no funcionar a. El problema es que la iteraci on s olo converger a cuando los autovalores de A h se encuentren dentro del c rculo unitario. En consecuencia, el dominio de estabilidad del m etodo resultante es el de la Figura 2.6, es decir, s olo coincide con el de BE cuando los autovalores de A h son peque nos. Im{ h}
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx unstable xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx -1 xxxxxxxxxxxxxxxxxxxxxxxxx +1 xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx stable xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx

-2

+2

Re { h }

Figura 2.6: Dominio de estabilidad del predictorcorrector FEBE. Otro m etodo para encontrar soluciones de ecuaciones algebraicas es la iteraci on de Newton, cuyo uso para encontrar donde una funci on se hace cero se ilustra en la Figura 2.7. F (x)

x x
+1

+2

Figura 2.7: Iteraci on de Newton. Dada una funci on arbitraria F (x), asumiendo que conocemos el valor de tal funci on y su derivada F /x en un punto x , notemos que: tan = F F = x x x
+1

(2.19)

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION Entonces: x


+1

26

=x

F F /x

(2.20)

Veamos entonces como utilizar esta t ecnica para iterar en el m etodo de BE aplicado a un sistema no lineal escalar, donde, en un punto xk tenemos x k+1 = f (xk+1 , tk+1 ) por lo que al aplicar el algoritmo de BE xk+1 = xk + h x k+1 queda: xk+1 = xk + h f (xk+1 , tk+1 ) o xk + h f (xk+1 , tk+1 ) xk+1 = 0.0 (2.24) (2.23) (2.22) (2.21)

La Ecuaci on (2.24) est a en la forma adecuada para aplicar la iteraci on de Newton. Aqu , la variable desconocida es xk+1 . Luego, xk+1 +1 = xk+1 xk + h f (xk+1 , tk+1 ) xk+1 h f (xk+1 , tk+1 )/x 1.0 (2.25)

donde k es el n umero del paso de integraci on y es el n umero de veces que la iteraci on de Newton fue aplicada en dicho paso. La f ormula para el caso matricial de la iteraci on de Newton tiene la siguiente forma: x donde: F1 /x1 F F2 /x1 = H= . . x . Fn /x1 F1 /x2 F2 /x2 . . . Fn /x2 ... ... .. . ... F1 /xn F2 /xn . . . Fn /xn
+1

= x (H )

(2.26)

(2.27)

es la matriz Hessiana del problema. Utilizando este esquema de iteraci on en el modelo de espacio de estados con el m etodo de BE obtenemos:
1 (n ) 1 xk+ ] [xk + h f (xk+1 , tk+1 ) xk+1 ] +1 = xk+1 [h Jk+1 I

(2.28)

donde:

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION f1 /xn f2 /xn . . . fn /xn

27

f1 /x1 f2 /x1 f = J = . . x . fn /x1

f1 /x2 f2 /x2 . . . fn /x2

... ... .. . ...

(2.29)

es la matriz Jacobiana del sistema din amico. Cualquier implementaci on de este esquema de iteraci on requiere, en general, el c omputo de al menos una aproximaci on de la matriz Jacobiana, y la inversi on (refactorizaci on) de la matriz Hessiana. Como ambas operaciones son bastante costosas, las diferentes implementaciones var an en que tan a menudo recalcular el Jacobiano (esto se denomina iteraci on de Newton modicada). Cuanto m as no lineal sea el problema, m as a menudo hay que recalcular el Jacobiano. As mismo, al cambiar el paso de integraci on, hay que refactorizar el Hessiano. Veamos entonces como este esquema de iteraci on afecta la soluci on y la estabilidad de un problema lineal. El Jacobiano de un modelo lineal es simplemente la matriz de evoluci on: J =A (2.30)

Por esto, el Jacobiano nunca necesita recalcularse. Colocando el sistema lineal en la Ec. (2.28), encontramos:
1 (n ) 1 ] [(A h I(n) ) xk+1 + xk ] xk+ +1 = xk+1 [A h I

(2.31)

o directamente
1 (n ) xk+ A h]1 xk +1 = [I

(2.32)

Evidentemente, la iteraci on de Newton no modica las propiedades de estabilidad del algoritmo de BE aplicado a un sistema lineal. Esto vale en general para todos los m etodos de integraci on, no s olo para el de BE.

2.6.

Problemas Propuestos

[P2.1] Estabilidad Marginal Dado el siguiente sistema lineal y estacionario 5 1250 25113 60050 42647 23999 2 500 10068 24057 17092 9613 5060 12079 8586 4826 x = 250 x+ 1 u 3 750 15101 36086 25637 14420 1 250 4963 11896 8438 4756 y = 1 26 59 43 23 x (P2.1a)

con condiciones iniciales: x0 = 1 2 3 4 5


T

(P2.1b)

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

28

a resultados Determinar el paso de integraci on, hmarg , para el cual FE dar marginalmente estables. Simular el sistema durante 10 segundos de tiempo de simulaci on con una entrada escal on utilizando el m etodo de FE con los siguientes pasos de integraci on: (i) h = 0.1 hmarg , (ii) h = 0.95 hmarg , (iii) h = hmarg , (iv) h = 1.05 hmarg , and (v) h = 2 hmarg . Discutir los resultados. [P2.2] Precisi on de Integraci on Para el sistema del Prob.[P2.1], determinar el m aximo paso de integraci on que permite obtener una precisi on global del 1 %. Para esto, primero hay que obtener la soluci on anal tica del sistema y luego simularlo utilizando el m etodo de FE (durante 10 segundos), hasta obtener que ambas soluciones dieran en un 1 %: global = xanal xnum 0.01 xanal (P2.2a)

Repetir el mismo experimento con el m etodo de BE. Dado que el sistema es lineal, se permite calcular la matriz F utilizando inversi on matricial. [P2.3] Method Blending Dado el siguiente sistema lineal y estacionario: 0 1 0 x+ u 9.01 0.2 1 1 1 x+2u (P2.3a)

x = y with initial conditions: =

x0 = 1 2

(P2.3b)

Encontrar la soluci on anal tica. Simulando durante 25 segundos, determinar el m aximo paso de integraci on que permite alcanzar una precisi on global del 1 % utilizando FE. Luego, repetir para BE. Sacar conclusiones. Un algoritmo mixto puede obtenerse de la siguiente forma: hacemos un paso de integraci on con FE y luego el mismo paso lo hacemos con BE, y damos como resultado el promedio de ambos valores. Para este m etodo mixto, obtener el m aximo paso que permite alcanzar una precisi on del 1 %. Comparar el resultado con el de FE y BE por s mismos. [P2.4] M etodo C clico Repetir el Prob.[P2.3]. Sin embargo, esta vez utilizaremos otro algoritmo. En lugar de utilizar el promedio de FE y BE, alternaremos un paso con FE y otro con BE. Tales algoritmos se llaman m etodos c clicos. Determinar nuevamente el m aximo paso de integraci on que alcanza un 1 % de precisi on y comparar con los m etodos de FE y BE. [P2.5] Dominio de estabilidad: M etodos mixtos y c clicos Obtener el dominio de estabilidad para el m etodo mixto del Prob.[P2.3]. Que puede

NUMERICA CAP ITULO 2. BASES DE LA INTEGRACION

29

concluirse al comparar dichos dominios de estabilidad con los de FE y BE?. C omo se puede explicar a partir de estos dominios de estabilidad los resultados del Prob.[P2.3]? Repetir el an alisis para el m etodo c clico del Prob.[P2.4]. Para analizar el dominio de estabilidad en este u ltimo caso, puede utilizar la siguiete ayuda: En lugar de interpretar este m etodo como la conmutaci on de dos m etodos tras cada paso, puede pensarse que consiste en un simple paso grande formado por dos pasos peque nos: x(k + 0.5) = x(k + 1) = x(k ) + 0.5 h x (k ) x(k + 0.5) + 0.5 h x (k + 1) (P2.5a) (P2.5b)

[P2.6] Ajuste del Dominio de Estabilidad: M etodo Mixto Veremos otro m etodo derivado del m etodo mixto antes analizado. Aqu , en lugar de utilizar el promedio de FE y BE, utilizaremos un promedio ponderado: x(k + 1) = xFE (k + 1) + (1 ) xBE (k + 1) (P2.6a)

Este m etodo se denomina m etodo. Dibujar los dominios de estabilidad del m etodo para = {0, 0.1, 0.2, 0.24, 0.249, 0.25, 0.251, 0.26, 0.3, 0.5, 0.8, 1} Interpretar los resultados. [P2.7] Ajuste del Dominio de Estabilidad: M etodo C clico Veremos ahora otro m etodo. Esta vez, a partir de un m etodo c clico. El par ametro que variaremos es la longitud de los dos semipasos de la siguiente forma: x(k + ) = x(k ) + h x (k ) (P2.7a) (P2.7b) (P2.6b)

x(k + 1) = x(k + ) + (1 ) h x (k + 1)

Se pide entonces determinar el par ametro tal que el m etodo tenga una regi on de estabilidad similar a BE, pero donde el borde de la estabilidad sobre el eje real positivo del plano ( h) est e localizado en +10 en lugar de +2. Dibujar el dominio de estabilidad para este m etodo.

Cap tulo 3

M etodos de Integraci on Monopaso


Este cap tulo es una traducci on resumida del Cap tulo 3 del libro Continuous System Simulation [2].

3.1.

Introducci on
predictor: x k = f (xk , tk ) k xP k+1 = xk + h x
P x P k+1 = f (xk+1 , tk+1 ) C xk+1 = xk + h x P k +1

El siguiente algoritmo es del tipo predictorcorrector.

corrector:

Para analizar el error del mismo podemos reunir las ecuaciones, obteniendo: xk+1 = xk + h f (xk + h fk , tk + h) (3.1)

La idea es comparar con la expansi on en series de Taylor de la verdadera soluci on (consideraremos s olo hasta el t ermino lineal de la expansi on). Recordando que f (x + x, y + y ) f (x, y ) + resulta: f (xk + h fk , tk + h) f (xk , tk ) + f (xk , tk ) f (xk , tk ) (h fk ) + h x t (3.3) f (x, y ) f (x, y ) x + y x y (3.2)

donde f / x es la matriz Jacobiana del sistema. Utilizando la Ec.(3.3) en la Ec.(3.1), queda: 30

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

31

xk+1 xk + h f (xk , tk ) + h2 (

f (xk , tk ) f (xk , tk ) fk + ) x t

(3.4)

Cmparemos esta expresi on con la verdadera serie de Taylor de xk+1 truncada tras el t ermino cuadr atico: xk+1 xk + h f (xk , tk ) + donde: (xk , tk ) = df (xk , tk ) = f (xk , tk ) dxk + f (xk , tk ) f dt x dt t y: dxk (3.7) =x k = fk dt En base a estas dos u ltimas ecuaciones podemos reescribir la aproximaci on del m etodo predictorcorrector presentado seg un (xk , tk ) xPC (k + 1) xk + h f (xk , tk ) + h2 f (3.8) (3.6) h2 f (xk , tk ) 2 (3.5)

que s olo diere de la expresi on (3.5) en un factor de 2 en el t ermino cuadr atico. Recordando la expresi on de FE, podemos concluir que la siguiente f ormula nos dar a una aproximaci on con una precisi on de segundo orden: x(k + 1) = 0.5 (xPC (k + 1) + xFE (k + 1)) o, en otras palabras: predictor: x k = f (xk , tk ) xP k k+1 = xk + h x
P x P k+1 = f (xk+1 , tk+1 ) C xk+1 = xk + 0.5 h (x k + x P k +1 )

(3.9)

corrector:

que es conocido como elm etodo de Heun. A veces tambi en se lo denomina m etodo de Euler modicado. Veremos entonces como generalizar esta idea para obtener m etodos de orden superior.

3.2.

M etodos de RungeKutta

El m etodo de Heun utiliza un paso FE como predictor y luego una mezcla de FE y BE como corrector. Veamos como generalizar esta idea:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION predictor: x k = f (xk , tk ) xP = xk + h 11 x k x P = f (xP , tk + 1 h) xC k + 22 x P) k+1 = xk + h (21 x

32

corrector:

Este conjunto de m etodos contiene cuatro par ametros. Los par ametros ij pesan las derivadas del estado que se calculan en cada paso, y el par ametro 1 especica el instante de tiempo en el cual se eval ua la primer etapa del m etodo. Agrupando las ecuaciones parametrizadas y desarrollando en serie de Taylor las funciones que no se evaluan en el tiempo tk obtenemos: h2 fk fk [2 11 22 fk + 2 1 22 ] (3.10) 2 x t mientras que la verdadera Serie de Taylor de xk+1 truncada tras el t ermino cuadr atico puede escribirse como: xC k+1 = xk + h (21 + 22 ) fk + h2 fk fk [ fk + ] (3.11) 2 x t La comparaci on de las ecuaciones (3.10) y (3.11) resulta en tres ecuaciones sobre cuatro par ametros desconocidos: xk+1 xk + h fk + 21 + 22 2 1 22 2 11 22 =1 =1 =1 (3.12a) (3.12b) (3.12c)

Existen entonces innitos algoritmos de este tipo. El m etodo de Heun puede caracterizarse por: = 1 ; = 1 1 0 0.5 0.5 (3.13)

2 caracteriza el tiempo cuando se evalua el corrector, lo que es obviamente en tk+1 , es decir, 2 = 1.0. es una matriz triangular inferior. En muchas referencias se representa este m etodo en una forma algo distinta: 0 1 x 0 1 1/2 0 0 1/2

denominada tabla de Butcher del m etodo. En general, una tabla de Butcher de la forma: a1 . . . an x denota el algoritmo b1,1 . . . bn,1 c1 . . . b1,n . .. . . . . . . bn,n . . . cn

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION etapa 0: . . . etapa n 1: etapa n: k1 = f (xk + b1,1 h k1 + . . . + b1,n h kn , tk + a1 h) . . . kn = f (xk + bn,1 h k1 + . . . + bn,n h kn , tk + an h) xk+1 = xk + c1 h k1 + . . . + cn h kn

33

Otro algoritmo de dos etapas y de segundo orden muy utilizado es la llamada regla del punto medio expl cita, caracterizada por: = 0.5 ; = 1 0.5 0 0 1 (3.14)

o equivalentemente por la tabla de Butcher 0 1/2 x Puede implementarse como: predictor: x k = f (xk , tk ) xP = xk + k+ 1
2

0 1/2 0

0 0 1

h 2

x k

corrector:

x P = f (xP , tk + 1 ) k+ 1 k+ 1 2 2 2 C xk+1 = xk + h x P k+ 1
2

Esta t ecnica, que evalua el predictor en tiempo tk + h/2, es algo m as econ omica que el m etodo de Heun ya que tiene un elemento nulo m as en la matriz (tambi en puede verse en la tabla de Butcher). Toda esta familia de m etodos, que satisfacen las Ecs (3.12ac), se denominan m etodos de segundo orden de Runge Kutta (RK2). La idea puede generalizarse. La familia entera de m etodos expl citos de RK puede describirse como sigue: etapa 0: etapa j : x P0 = f (xk , tk ) xPj = xk + h i=1 ji x Pi1 x Pj = f (xPj , tk + j h) xk+1 = xk + h
i=1 j

u ltima etapa:

ix Pi1

donde denota el n umero de etapas del m etodo. El m etodo m as popular de estos es el de RungeKutta de orden cuatro (RK4) con tabla de Butcher:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION 0 1/2 1/2 1 x o sea, etapa 0: etapa 1: etapa 2: etapa 3: etapa 4: k1 = f (xk , tk ) k2 = f (xk + k3 = f (xk +
h 2 h 2

34

0 1/2 0 0 1/6

0 0 1/2 0 1/3

0 0 0 1 1/3

0 0 0 0 1/6

k1 , tk + k2 , tk +

h 2) h 2)

k4 = f (xk + h k3 , tk + h) xk+1 = xk +
h 6

[k1 + 2 k2 + 2 k3 + k4 ]

Este algoritmo es particularmente atractivo debido a que tiene muchos elementos nulos en la tabla de Butcher. Tiene, como puede verse, cuatro evaluaciones de la funci on f . Es importante notar que el n umero de etapas y el orden de la aproximaci on no son necesariamente iguales. Los algoritmos de RK de orden superior requieren un mayor n umero de etapas que lo que indica el orden. La Tabla 3.1 brinda un pantallazo hist orico sobre el desarrollo de los m etodos de RK. Autor Euler Runge Heun Kutta Hu ta Shanks Curtis A no 1768 1895 1900 1901 1956 1966 1970 Orden 1 4 2 5 6 7 8 # de Etapas 1 4 2 6 8 9 11

Cuadro 3.1: Historia de los Algoritmos de RungeKutta.

3.3.

Dominio de Estabilidad de los Algoritmos RK

Como todos los m etodos de RK vistos hasta aqu son expl citos, es de esperar que sus dominios de estabilidad sean similares al del algoritmo de FE, o sea, que el contorno de estabilidad marginal se cierre sobre el semiplano izquierdo del plano ( h).

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

35

Reemplazando el sistema lineal de la Ec.(2.7) en el m etodo de Heun encontramos: predictor: x k = A xk xP k k+1 = xk + h x


P x P k+1 = A xk+1 C xk+1 = xk + 0.5 h (x k + x P k +1 )

corrector: o:

(n ) +Ah+ xC k+1 = [I

(A h)2 ] xk 2

(3.15)

es decir, (A h)2 (3.16) 2 Dado que un algoritmo en dos etapas contiene s olo dos evaluaciones de la funci on, no pueden aparecer potencias de h mayores que 2 en la matriz F. Dado que el m etodo es aproximado hasta un segundo orden, debe aproximar la soluci on anal tica: F = I(n) + A h + F = exp(A h) = I(n) + A h + (A h)3 (A h)2 + + ... 2! 3!

(3.17)

hasta el t ermino cuadr atico. En consecuencia, todos los m etodos RK2 de dos etapas tienen el mismo dominio de estabilidad, y lo mismo vale para todos los RK3 de tres etapas y los RK4 de cuatro etapas. Esta situaci on es un poco m as complicada en el caso de los algoritmos de quinto orden ya que no existe un m etodo RK5 de cinco etapas. En consecuencia, las matrices F de los RK5 contienen necesariamente un t ermino de h6 (con coeciente incorrecto), y en principio los dominios de estabilidad ser an algo distintos entre s (seg un cual sea este coeciente incorrecto). Los dominios de estabilidad de los m etodos RK1 (Euler) a RK4 se muestran en la Fig.3.1. Puede notarse como al incrementarse el orden, los m etodos aproximan mejor el dominio de estabilidad anal tica. Esto es muy bueno ya que los m etodos de orden superior permiten utilizar pasos m as grandes.

3.4.

Sistemas Sti

Un sistema lineal y estacionario se dice que es sti cuando es estable y hay autovaloras cuyas partes reales son muy distintas, es decir, hay modos muy r apidos y modos muy lentos. El problema con los sistemas sti es que la presencia de los modos r apidos obliga a utilizar un paso de integraci on muy peque no para no caer en la zona de inestabilidad del m etodo.

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Stability Domains of FRK


3

36

4 1

2 1

Im{ h}

3 0

3 5 4 3 2 1 0 1 2 3

Re { h } Figura 3.1: Dominios de estabilidad de los m etodos explicitos RK. El concepto tambi en existe en el caso no lineal, pero aqu hace falta una denici on un poco distinta: Denici on: Un sistema de Ecuaciones Diferenciales Ordinarias se dice sti si, al integrarlo con un m etodo de orden n y tolerancia de error local de 10n , el paso de integraci on del algoritmo debe hacerse m as peque no que el valor indicado por la estima del error local debido a las restricciones impuestas por la regi on de estabilidad num erica. Para integrar entonces sistemas sti sin tener que reducir el paso de integraci on a causa de la estabilidad, es necesario buscar m etodos que incluyan en su regi on estable el semiplano izquierdo completo del plano ( h), o al menos una gran porci on del mismo. Denici on: Un m etodo de integraci on que contiene en su regi on de estabilidad a todo el semiplano izquierdo del plano (h) se denomina absolutamente estable, o, m as simplemente, Aestable. Una forma de obtener m etodos Aestables es modicar la receta para desarrollar algoritmos RK permitiendo elementos no nulos sobre y por encima de la diagonal de la matriz (equivalentemente, sobre y por encima de la diagonal de la tabla

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

37

de Butcher). Tales algoritmos son invariantemente impl citos y se denominan M etodos impl citos de RungeKutta, y se abrevian IRK. Dentro de estos, juegan un rol especial los que s olo permiten elementos no nulos sobre la diagonal de la tabla de Butcher. Estos algoritmos se denominan M etodos de RungeKutta diagonalmente impl citos o DIRK. La particularidad de los m etodos DIRK es que s olo son impl citos en cada etapa de forma separada y es relativamente f acil implementar la iteraci on de Newton. Veremos luego algunas formas de obtener distintos m etodos impl citos de RungeKutta.

3.5.

Sistemas Marginalmente Estables

Vimos en el Cap tulo 2 que ni el m etodo de FE ni el de BE funcionan bien cuando los autovalores est an sobre o muy cerca del eje imaginario. Desafortunadamente, esta situaci on ocurre muy frecuentemente. Mas a un, hay una clase completa de aplicaciones, correspondiente a las Ecuaciones en Derivadas Parciales hiperb olicas que, convertidas en conjunto de Ecuaciones Diferenciales Ordinarias, exhiben esta caracter stica. Estudiaremos entonces el problema. Denici on: Un sistema din amico cuyo Jacobiano tiene sus autovalores dominantes sobre o muy cerca del eje imaginario se denomina Marginalmente Estable. Los autovalores dominantes de una matriz son los que tienen la mayor parte real (es decir, que est an m as a la derecha en el plano . Para atacar estos problemas, ser an necesarios algoritmos de integraci on que aproximen bien sobre el eje imaginario. Veremos m as adelante que estos algoritmos existen y que pueden construirse algoritmos de ordenarbitrario cuyo borde de estabilidad num erica coincida con el eje imaginario. Denici o: Un m etodo de integraci on num erica cuyo dominio de estabilidad num erica consiste exclusivamente del semiplano izquierdo completo del plano ( h) se denomina elmente estable, o simplemente, Festable. Puede pensarse que los m etodos Festables deben ser los m as apropiados para todos los problemas. Desafortunadamente, los algoritmos Festables no funcionan bien con los sistemas sti. Cuando un autovalor tiene su parte real muy negativa se dice que tiene un gran amortiguamiento. En consecuencia, el modo correspondiente tiende a cero en un tiempo muy peque no. Particularmente, cuando el autovalor tiende a , el amortiguamiento tiende a innito y en tiempo tendiendo a cero el modo se extingue. Sin embargo, al utilizar un m etodo Festable a un sistema con innito amortiguamiento, resulta que el amortiguamiento de la soluci on num erica no es innito (luego veremos esto en m as detalle). Por esto, es importante tener en cuenta la siguiente denici on:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Denici on: Un m etodo num erico de integraci on que es Aestable y, adem as, sus propiedades de amortiguamiento tienden a innito cuando Re{} , se denomina Lestable.

38

Estas deniciones tienen sentido, en el sentido estricto, s olo en los sistemas lineales y estacionarios. Sin embargo normalmente son tambi en buenos indicadores aplicados a los sistemas no lineales. Al tratar con sistemas sti, no es suciente utilizar algortimos Aestables, sino tambi en deben ser Lestables. Evidentemente, todos los algoritmos F estables son Aestables pero nunca Lestables. Un sistema que es a la vez marginalmente estable y sti es, en consecuencia, dicil de tratar. M as adelante veremos esto con m as detalle.

3.6.

M etodos de Interpolaci on hacia Atr as

Para poder tratar los problemas sti y marginalmente estables, necesitamos algoritmos Aestables. Veremos entonces una clase especial de algoritmos IRK que se denominan m etodos de backinterpolation, o m etodos de interpolaci on hacia atr as (m etodos BI). Veremos que los m etodos BI pueden hacerse Festables, Lestables o algo en el medio de ambas caracter sticas de acuerdo a la necesidad del usuario. Veamos nuevamente el m etodo de BE: k +1 xk+1 = xk + h x Podemos reescribir la Ec.(3.18) como sigue: xk = xk+1 h x k +1 (3.19) (3.18)

Luego, un paso hacia adelante utilizando BE puede interpretarse como un paso hacia atr as de valor h utilizando FE. Una manera de implementar BE entonces es comenzar con una estimaci on de xk+1 , integrar hacia atr as en el tiempo y luego iterar sobre la condici on inicial desconocida xk+1 hasta acertar el valor nal conocido xk . Esta idea puede tambier extenderse a cualquier algoritmo RK. Los m etodos resultantes se denominan Backward RungeKutta o m etodos de RungeKutta hacia atr as, y se abrevian BRK. Por ejemplo, podemos obtener un m etodo BRK2 integrando hacia atr as con el m etodo de Heun: etapa 0: etapa 1: etapa 2: Deniendo k1 2 y k2 k 1 = f (xk+1 , tk+1 ) k 1 , tk+1 h) 2 = f (xk+1 h k k xk = xk+1
h 2

1 + k 2 ] [k

1 , y usando que tk+1 = tk + h, podemos reescribir: k

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION etapa 0: etapa 1: etapa 2: que tiene tabla de Butcher: 0 1 x 1/2 1/2 1/2 -1/2 1/2 1/2
h k1 = f (xk + h 2 k1 2 k2 , tk ) h k2 = f (xk + h 2 k1 + 2 k2 , tk + h)

39

xk+1 = xk +

h 2

[k1 + k2 ]

Este m etodo es impl cito y requiere iterar sobre dos ecuaciones no lineales simult aneamente. Sin embargo, en general no implementaremos los m etodos BI de esta forma, sino que utilizaremos la idea descripta antes de dar un paso hacia atr as e iterar hasta que la condici on nal del paso hacia atr as coincida con el valor conocido de xk+1 . Para el sistema lineal (2.7), dar un paso hacia atr as con el m etodo de Heun implica: (A (h))2 ] xk+1 xk = [I(n) + A (h) + 2!
h) 1 de donde, la matriz F del m etodo BRK2 tiene la forma [I(n) A h + (A2! ] . Siguiendo esta idea, podemos obtener una serie de algoritmos de orden creciente con matrices F:
2

F1 F2 F3 F4

= = = =

[I(n) A h]1 (A h)2 1 ] [I(n) A h + 2! (A h)3 1 (A h)2 ] [I(n) A h + 2! 3! (A h)2 (A h)3 (A h)4 1 [I(n) A h + + ] 2! 3! 4!

(3.20a) (3.20b) (3.20c) (3.20d)

Los correspondientes dominios de estabilidad se muestran en la Fig.(3.2). Evidentemente, los dominios de estabilidad de los m etodos BI son im agenes en espejo de los dominios de estabilidad de los m etodos expl citos de RK. Esto se puede entender f acilmente ya que se trata de los mismos algoritmos con paso h en vez de h. Veamos ahora como podemos explotar esta idea de interpolaci on hacia atr as para generar algoritmos Festables de orden creciente. Un algoritmo Festable muy conocido es la regla trapezoidal : 1st stage: 2nd stage: xk+ 1 = xk + 2
h 2

x k
h 2

xk+1 = xk+ 1 + 2

x k +1

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Stability Domains of BRK


3

40

2 1

Im{ h}

3 0

3 3 2 1 0 1 2 3 4 5

Re { h } Figura 3.2: Dominios de estabilidad de los m etodos b asicos de interpolaci on hacia atr as. Este es un m etodo impl cito que puede interpretarse como un m etodo c clico consistente en dos semipasos de longitud h/2 usando FE y luego BE. Su matriz F es entonces: h 1 (n ) h ] [I + A ] (3.21) 2 2 La regla trapezoidal explota la simetria de los dominios de estabilidad de ambos semipasos. Dado que podemos implementar el semipaso de BE como un paso BRK1, podemos luego generalizar la idea combinando semipasos de m etodos de orden mayor. Las matrices F resultantes ser an: FTR = [I(n) A

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

41

F1 =[I(n) A F2 =[I(n) A F3 =[I(n) A [I(n) + A F4 =[I(n) A [I(n) + A

h 1 (n ) h ] [I + A ] 2 2 h (A h)2 1 (n) h (A h)2 + ] [I + A + ] 2 8 2 8 (A h)3 1 h (A h)2 + ] 2 8 48 (A h)3 h (A h)2 + + ] 2 8 48 (A h)3 (A h)4 1 h (A h)2 + + ] 2 8 48 384 (A h)3 (A h)4 h (A h)2 + + + ] 2 8 48 384

(3.22a) (3.22b)

(3.22c)

(3.22d)

Todos estos m etodos son Festables. El m etodo F2 no es muy u til ya que F1 es, por casualidad, de segundo orden. La implementaci on de estos algoritmos es trivial. Por ejemplo, F4 puede implementarse como sigue. Empezamos desde tk e integramos hacia adelante con usando alg un m etodo RK4. Guardamos medio paso hacia adelante hasta tk+ 1 2 entonces el resultado xleft para reutilizar luego. Luego estimamos el valor de k+ 1 xk+1 , por ejemplo, haciendo xk+1 = xleft , e integramos hacia atr as desde tk+1 k+ 1 hasta tk+ 1 con el mismo algoritmo RK4. Obtenermos entonces xright . Luego k+ 1 2 iteramos sobre el estado desconocido xk+1 hasta que xright = xleft . Entonces k+ 1 k+ 1 2 2 on inicial para el siguiente paso. utilizamos el valor nal de xk+1 como condici Es necesario, de todas formas, analizar un poco mejor el proceso de iteraci on mencionado. Para aplicar la iteraci on de Newton en el algoritmo BI1, seleccionamos: xleft F (xk+1 ) = xright k+ 1 = 0.0 k+ 1
2 2 2 2 2

(3.23)

y resulta:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION xleft k+ 1 2 x0 k +1 J0 k +1 1 xright k+ 1 H1 x1 k +1 1 k +1


2

42

= FE(xk , tk , h 2) left = xk+ 1


2

= J (x0 k+1 , tk+1 ) h = FE(x0 k+1 , tk+1 , 2 )


0 = I(n) h 2 Jk+1 1 0 1 1 = xk+1 H (xright xleft ) k+ 1 k+ 1 2 2 1 0 = xk+1 xk+1

J1 k +1 2 xright k+ 1 H2 x2 k +1 2 k +1 etc.
2

= J (x1 k+1 , tk+1 ) h = FE(x1 k+1 , tk+1 , 2 )


1 = I(n) h 2 Jk+1 2 2 1 = x1 (xright xleft ) k +1 H k+ 1 k+ 1 2 2 2 1 = xk+1 xk+1

donde J denota el Jacobiano. Para el m etodo de Heun (BI2), resulta: xleft k+ 1 2 x0 k +1 J0 k +1 1 xright k+ 1 J0 k+ 1 H1
2 2

= Heun(xk , tk , h 2) left = xk+ 1


2

= J (x0 k+1 , tk+1 ) h = Heun(x0 k+1 , tk+1 , 2 )


1 = J (xright , tk + 1 ) k+ 1 2

= I(n)

h 4

0 (n ) (J0 k+1 + Jk+ 1 (I 1 1


2

h 2

J0 k+1 ))

x1 k +1 1 k +1 J1 k +1 2 xright k+ 1 J1 k+ 1 H2
2 2

1 = x0 (xright xleft ) k +1 H k+ 1 k+ 1 2 2 0 = x1 x k +1 k +1

= J (x1 k+1 , tk+1 ) h = Heun(x1 k+1 , tk+1 , 2 )


2 = J (xright , tk + 1 ) k+ 1 2

= I(n)

h 4

1 (n ) (J1 k+1 + Jk+ 1 (I 2 1


2

h 2

J1 k+1 ))

x2 k +1 2 k +1 etc.

2 = x1 (xright xleft ) k +1 H k+ 1 k+ 1 2 2 1 = x2 x k +1 k +1

El algoritmo permanece b asicamente igual, excepto que ahora necesitamos evaluar dos Jacobianos en distintos instantes de tiempo, y la f ormula para el Hessiano resulta algo m as complicada.

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

43

Si asumimos que el Jacobiano permanece casi sin cambios durante cada paso de integraci on (iteraci on de Newton modicada), podemos calcular tanto el Jacobiano como el Hessiano al principio del paso, y encontramos para BI1: J H y para BI2: J = H = J (xk , tk ) h2 2 h J I(n) J + 2 8 (3.25a) (3.25b) = J (xk , tk ) h = I(n) J 2 (3.24a) (3.24b)

La secuencia para las matrices H de los m etodos de orden superior es entonces: h 2 (J h)2 h I(n) J + 2 8 ( J h)2 (J h)3 h I(n) J + 2 8 48 (J h)3 (J h)4 h (J h)2 (n ) + I J + 2 8 48 384 I(n) J

H1 H2 H3 H4

= = = =

(3.26a) (3.26b) (3.26c) (3.26d)

Podr amos incluso decidir mantener el mismo Jacobiano durante varios pasos y, en tal caso, no necesitar amos calcular un nuevo Hesiano tampoco, salvo que decidamos cambiar el paso de integraci on en el medio. Una consideraci on es que podemos intercambiar el orden entre el paso hacia adelante y el paso hacia atr as (por ejemplo, al intercambiar los pasos en la regla trapezoidal, resulta el m etodo de la regla impl cita del punto medio ). Una manera de transformar los m etodos BI Festables en m etodos con dominios de estabilidad m as fuertes es romper la simetr a entre el paso hacia adelante y el paso hacia atr as. La idea es que el semipaso expl cito tenga una longitud h, y el impl cito longitud (1 ) h. Tales algoritmos se denominan m etodos. Los algoritmos son del mismo orden que el de los dos semipasos. Usando esta idea, se puede dar forma al dominio de estabilidad. El caso con > 0.5 no es muy interesante, pero el de < 0.5 es muy u til. Este produce una serie de m etodos de creciente dominio de estabilidad hasta que, con = 0.0, se obtiene un conjunto de algoritmos Lestables. Las matrices F de los m etodos son:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

44

F1 =[I(n) A(1 )h]1 [I(n) + Ah] F2 =[I(n) A(1 )h +


2

(3.27a)

(A(1 )h) 1 ] 2! (Ah)2 [I(n) + Ah + ] (3.27b) 2! (A(1 )h)3 1 (A(1 )h)2 F3 =[I(n) A(1 )h + ] 2! 3! 2 3 (Ah) (Ah) [I(n) + Ah + + ] (3.27c) 2! 3! (A(1 )h)3 (A(1 )h)2 F4 =[I(n) A(1 )h + + 2! 3! (A(1 )h)4 1 (n) (Ah)3 (Ah)2 ] [I + Ah + + + 4! 2! 3! (Ah)4 ] (3.27d) 4! La Figura 3.3 muestra los dominios de estabilidad de los m etodos BI para: = 0.4 (3.28)

Estos m etodos tienen muy buenos dominios de estabilidad con un gran regi on inestable en el semiplano derecho del plano ( h). La selecci on del valor de es un compromiso. Debe elegirse sucientemente grande para generar una gran regi on inestable del lado derecho, pero debe ser a su vez sucientemente peque no para amortiguar apropiadamente los modos r apidos en el semiplano derecho. El algoritmo de cuarto orden de la Fig.3.3 no es m as Aestable, ya que su regi on inestable toca el semiplano izquierdo. Dicho m etodo se denomina (A,)estable, donde es el mayor angulo que contiene s olamente terreno estable. El m etodo BI40.4 es (A,86o )estable. Los antes mencionados m etodos BRK son casos especiales de esta nueva clase de m etodos con = 0, y los algoritmos RK expl citos son tambi en casos particulares con = 1. Los m etodos BI Festable son a su vez casos particulares con = 0.5. Un conjunto de m etodos BI Lestables con > 0 puede construirse utilizando en el semipaso impl cito un m etodo un orden mayor que el del semipaso expl cito. Un muy buen m etodo de este tipo es el que combina RK4 con BRK5 con = 0.45 (denominado BI4/50.45 ).

3.7.

Consideraciones sobre la Precisi on

Una forma de analizar la precisi on de los algoritmos estudiados podr a consistir en simular un sistema lineal y estacionario de segundo orden, y gracar en el plano ( h) los puntos en los cuales se alcanz o una determinada precisi on para cada a ngulo de los autovalores.

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Stability Domains of BI0.4


6 4 4 3 2

45

1 2

Im{ h}

10

12

Re { h } Figura 3.3: Dominios de Estabilidad de los m etodos BI. Desafortunadamente, esto depender a fuertemente de las condiciones iniciales adoptadas en la simulaci on, y el resultado de dichas gr acas no es tan interesante. De todas maneras, antes de ver otra manera de estudiar de forma general el tema de la precisi on, utilizaremos el sistema lineal y estacionario de segundo orden x =Ax ; x(t0 ) = x0 (3.29)

con la misma matriz de evoluci on A que utilizamos para construir los dominios de estabilidad: A= 0 1 1 2 cos() (3.30)

y con la condici on inicial estandarizada: x0 = para la cual, la soluci on anal tica es xanal = exp(A (t t0 )) xo Denimos el error global como sigue: (3.32) 1 1 (3.31)

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

46

global = xanal xsimul

(3.33)

Colocando ambos autovalores en 1.0, variaremos el paso de integraci on h para determinar que tan precisa es cada simulaci on con los distintos m etodos expl citos RK. La Figura 3.4 muestra el resultado de este experimento. El n umero de evaluaciones de funci on es igual, en cada caso, al n umero total de pasos multiplicado por el n umero de etapas del m etodo. Price per Accuracy for Dierent RKs
1000 900

Number of Function Evaluations

800 RK4 700

600

500

RK3

400

300

200 RK2 100

0 6 10

10

10

10

10

10

10

Tolerance Figura 3.4: Costo de simulaci on en funci on de la precisi on para diferentes RKs. Resulta que RK4 es m as econ omico que RK3, y este es m as econ omico que RK2 para todas las tolerancias. Esto no es sorprendente. Al dividir por dos el paso de integraci on, duplicamos el n umero de evaluaciones de funci on necesarias para terminar la simulaci on. Por el mismo precio, pord amos mantener el paso de integraci on y duplicar el orden del m etodo (al menos para m etodos de orden bajo). O sea, podr amos ganar dos o rdenes de magnitud en la mejora de la precisi on contra un s olo orden al reducir el paso. Para una precisi on global del 10 %, los tres m etodos tienen un precio comparable. Para un 1 % RK2 est a fuera de la competencia, mientras RK3 y RK4 tienen un costo aceptable. Para un 0.1 % de precisi on global, RK3 ya es demasiado costoso, mientras RK4 todav a funciona bien. Recordando que normalmente controlamos el error local de integraci on, que es aproximadamente un orden de magnitud menor que el global, vemos que RK4 funcionar a bien para un error local de hasta aproximadamente 104 . Si

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

47

queremos mejor precisi on que esto, ser a conveniente utilizar algoritmos de orden mayor. Veamos ahora una forma general de analizar las propiedades de estabilidad de los m etodos en funci on de la posici on de los autovalores. Miremos una vez m as nuestro sistema est andar de test de la Ec.(3.29) con la soluci on anal tica Ec.(3.32). Obviamente, la soluci on anal tica es v alida para cualquier t, t0 , y x0 . En particular, esto es correcto para t0 = tk , x0 = xk y t = tk+1 . Reemplazando con esto obtenemos xk+1 = exp(A h) xk Luego, la matriz anal tica F del sistema es: Fanal = exp(A h) Tomando una componente de la soluci on Ec.(3.32), podemos escribir: x1 (t) = c1 exp( t) cos( t) + c2 exp( t) sin( t) (3.36) (3.35) (3.34)

donde es la parte real del autovalor, denominado amortiguamiento, mientras que es la parte imaginaria, denominada frecuencia. Puede mostrarse muy f acilmente que los autovalores de la matriz Fanal anal tica se relacionan con los de la matriz A mediante: Eig{Fanal} = exp(Eig{A} h) o: disc = exp(cont h) = exp(( + j ) h) = exp( h) exp(j h) (3.38) En consecuencia, el amortiguamiento en el plano se mapea como la distancia al origen en el plano exp( h), mientras que la frecuencia en el plano se traduce en un a ngulo respecto al eje real positivo en el plano exp( h). Notar que hemos introducido un nuevo plano: el plano exp( h). En la teor a de control, dicho plano se denomina dominio z . z = exp( h) (3.39) (3.37)

Com la matriz anal tica Fanal depende del paso de integraci on h, tiene sentido denir el amortiguamiento discreto d = h , y la frecuencia discreta, d = h . Obviamente, podemos escribir: |z | = exp(d ) z = d (3.40a) (3.40b)

etodo de integraReemplacemos ahora la matriz anal tica Fanal por la del m erica Fsimul es una aproximaci on racional ci on num erica Fsimul . La matriz num

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

48

(m etodos impl citos) o polinomial (m etodos expl citos) de la matriz anal tica Fanal . Denimos: d) z = exp( con: d = d + j d Luego: |z | = exp( d ) z = d (3.43a) (3.43b) (3.42) (3.41)

Como z aproxima a z , luego d deber a aproximar a d , y d deber a aproximar a d . Tiene sentido entonces estudiar la relaci on entre el amortiguamiento discreto anal tico, d , y el amortiguamiento discreto num erico, d . De la misma forma, podemos estudiar la relaci on entre la frecuencia discreta erica, d. anal tica, d , y la frecuencia discreta num Podemos, m as a un, ir moviendo el valor de d y calcular los valores de d , gracando ambos valores. Dicha gr aca se denomina gr aco de amortiguamiento. La Figura 3.5 muestra el gr aco de amortiguamiento de RK4. Damping Plot of RK4
4 2

- Damping

d d
4.5 4 3.5 3 2.5 2 1.5 1 0.5 0

0 2 4 6 5

d Figura 3.5: Gr aco de amortiguamiento de RK4. En la vecindad del origen, el amortiguamiento num erico d sigue muy bien al amortiguamiento anal tico, d . Sin embargo, para valores relativamente chicos el amortiguamiento num erico se desv a del anal tico y, cerca de d = 2.8, el amortiguamiento num erico se vuelve negativo, lo que coincide con el borde de d es precisa la estabilidad num erica. La zona donde la aproximaci on de d por se denomina regi on asint otica. Veamos ahora el gr aco de amortiguamiento de BI4 (Fig.3.6). Como BI4 es Astable, el amortiguamiento num erico permanece siempre positivo para todos los valores de d . Como BI4 es Fstable, el amortiguamiento

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Damping Plot of BI4 Algorithm


0

49

- Damping

10

15 15

10

Figura 3.6: Gr aco de amortiguamiento de BI4. num erico tiende a cero cuando tiende a . La Figura 3.7 muestra el gr aco de amortiguamiento del m etodo con = 0.4. Damping Plot of BI40.4 Algorithm
0

- Damping

10

15 15

10

d Figura 3.7: Gr aco de amortiguamiento de BI4 con = 0.4. Ahora, el amortiguamiento no se aproxima m as a cero, pero tampoco tiende a innito. El algoritmo con = 0.0, es decir, BRK4, es Lestable, ya que d () . Desafortunadamente esto no quiere decir demasiado. Como puede verse en el gr aco de amortiguamiento de BRK4 en la Fig.3.8, el amortiguamiento num erico tiende muy lentamente a . De la misma forma que para d , podemos barrer un rango de valores de d y dibujar ambas, d y d en funci on de d . Dicha gr aca se denomina gr aco de frecuencia. La Figura 3.9 muestra la gr aca de frecuencia de RK4. Puede verse que tanto los gr acos de amortiguamiento como los de frecuencia a muy poco tienen regiones asint oticas, es decir, regiones donde Fsimul se desv de Fanal en t erminos de amortiguamiento y frecuencia. La regi on asint otica rodea al origen, como puede verse en la Figura 3.10. Es importante tener en cuenta las gr acas de amortiguamiento y frecuencia s olo tienen en cuenta el error local de truncamiento, ya que al comparar Fsimul con Fanal est an comparando la soluci on num erica con la soluci on anal tica dis-

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION Damping Plot of BRK4 Algorithm


0 20

50

- Damping

40 60 80 100 100

90

80

70

60

50

40

30

20

10

d Figura 3.8: Damping plot of BRK4. Frequency Plot of RK4 Algorithm


6 4

Frequency

2 0 2 4

0.5

1.5

2.5

3.5

4.5

d Figura 3.9: Frequency plot of RK4. creta en un paso. Esto no tiene en cuenta ni el error de acumulaci on ni el error de redondeo.

3.8.

Control de Paso y de Orden

Vimos hasta aqu que el uso de pasos de integraci on peque nos produce en general menores errores de integraci on pero con mayores costos computacionales. El paso de integraci on correcto es entonces un compromiso entre error y costo. Como la relaci on error/costo con el paso de integraci on depende en gran medida de las propiedades num ericas del sistema a ser integrado, no est a claro que un mismo paso de integraci on produzca el mismo error a lo largo de toda la simulaci on. Podr a ser necesario entonces, variar el paso de integraci on durante la simulaci on para mantener el error en un nivel m as o menos constante. Esta observaci on nos lleva a la necesidad de buscar metodos de paso variable que a su vez requerir an de algoritmos de control de paso. El siguiente algoritmo podr a funcionar. Tomemos dos algoritmos distintos RK, y repitamos dos veces el mismo paso, uno con cada algoritmo. Los resultados

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION


4 2

51

Damping Plot with Asymptotic Region - RK4

- Damping

0 2 4 6 5

asymptotic region

4.5

6 4

d Frequency Plot with Asymptotic Region - RK4

3.5

2.5

1.5

0.5

Frequency

2 0 2 4

asymptotic region

0.5

1.5

2.5

3.5

4.5

d Figura 3.10: Regiones asint oticas de RK4. de ambos diferir an en . Si es mayor que el error tolerado tolabs , el paso se rechaza y se repite con la mitad del paso de integraci on. Si es menor que a con 0.5 tolabs durante cuatro pasos consecutivos, el siguiente paso se computar 1.5 h. Este algoritmo es excesivamente heur stico y probablemente no funcione muy bien, pero la idea es clara. La diferencia entre ambas soluciones, , se utiliza como estima del error de integraci on local y se compara con el error tolerado. Si el error estimado es mayor que el tolerado, hay que reducir el paso. Si es menor, puede aumentarse. La primer objeci on es utilizar el error absoluto como medida de performance. Tiene mucho m as sentido utilizar el error relativo. Esto tambi en trae dicultades ya que si el estado vale 0.0 o es muy chico en alg un punto habr a problemas. En este caso, llamando x1 y x2 a los valores arrojados por ambos m etodos, conviene denir el error seg un rel = |x1 x2 | m ax(|x1 |, |x2 |, ) (3.44)

donde es un factor peque no, por ejemplo, = 1010 . Notar que podr amos denir una tolerancia de error relativo distinta para cada variable de estado, lo que dar a n condiciones distintas sobre el paso (y habr a que tomar la menor).

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

52

Otro tema es el costo que hay que pagar por este procedimiento. Cada paso debe calcularse al menos dos veces. Sin embargo, esto no tiene que ser as necesariamente. Una idea, debida a Edwin Fehlberg, es utilizar dos algoritmos de RK que coincidan en sus primeras etapas (se denominan algoritmos de RK empotrados). Particularmente, Fehlberg desarroll o pares de m etodos de RK que dieren en un orden y que comparte la mayor parte de sus primeras etapas. El m as utilizado de estos m etodos es el m etodo RKF4/5 que tiene tabla de Butcher:
0 1/4 3/8 12/13 1 1/2 x1 x2 0 1/4 3/32 1932/2197 439/216 8/27 25/216 16/135 0 0 9/32 7200/2197 -8 2 0 0 0 0 0 7296/2197 3680/513 3544/2565 1408/2565 6656/12825 0 0 0 0 845/4104 1859/4104 2197/4104 28561/56430 0 0 0 0 0 11/40 1/5 9/50 0 0 0 0 0 0 0 2/55

En el caso escalar, deniendo q escalares):

h resultan las matrices F (en este caso

F1 (q ) F2 (q )

1 = 1 + q + q2 + 2 1 2 = 1+q+ q + 2

1 3 q + 6 1 3 q + 6

1 4 q + 24 1 4 q + 24

1 5 q 104 1 5 1 6 q + q 120 2080

(3.45a) (3.45b)

Luego, x1 es un RK4 en cinco etapas, y x2 es un RK5 en seis etapas. Sin mbargo, ambos algoritmos comparten las primeras cinco etapas. Luego, el m etodo completo con el paso controlado es un algoritmo es un RK5 de seis etapas y el u nico costo adicional debido al control de paso es el c alculo del corrector de RK4. En denitiva, el control de paso de integraci on es casi gratuito. Respecto a la heur stica que planteamos antes para modicar el paso, podemos hacer algo mucho mejor. Dado que tenemos expresiones expl citas para ormula expl cita para la estima del error: F1 (q ) y F2 (q ), podemos dar una f (q ) = F1 (q ) F2 (q ) = En una primer aproximaci on escribimos h5 o: h 5 (3.48) (3.47) 1 5 1 6 q q 780 2080 (3.46)

Tiene sentido entonces el siguiente algoritmo de control de paso: hnew =


5

tolrel m ax(|x1 |, |x2 |, ) hold |x1 x2 |

(3.49)

El sentido de este algoritmo es simple. Mientras:

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION |x1 x2 | = tolrel m ax(|x1 |, |x2 |, )

53

(3.50)

tendremos el paso correcto, y el paso no cambiar a. Sin embargo, cuando |x1 x2 | sea demasiado grande, el paso deber a reducirse. Por otro lado, si |x1 x2 | se torna muy peque no, agrandaremos el paso de integraci on. A diferencia del algoritmo antes propuesto, nunca repetiremos pasos. El algoritmo aceptar a errores excesivos en cada paso, pero tratar a de no repetirlos en el siguiente al disminuir el paso. Los algoritmos que hacen esto se denominan algoritmos optimistas, mientras que los que repiten pasos cuando encuentran errores muy grandes se denominan algoritmos conservadores. Otra idea que proponen algunos autores es variar el orden, en lugar de variar el paso. Sin embargo, esta idea no es muy buena con los m etodos de RK. Luego la veremos en el contexto de los m etodos multipaso.

3.9.

Problemas Propuestos

[P3.1] Familia de M etodos RK2 Expl citos Vericar que la Ec.(3.10) es en efecto la expansi on correcta en series de Taylor que describe todos los m etodos expl citos de RK2 en dos etapas. [P3.2] Familia de M etodos RK3 Expl citos Deducir las ecuaciones de restricci on en los par ametros i y ij que caracterizan la familia de todos los m etodos expl citos RK3 en tres etapas. Para esto, la serie de Taylor de f (x + x, y + y ) deber a expandirse hasta el t ermino cuadr atico: f (x + x, y + y ) f (x, y ) + f (x, y ) f (x, y ) x + y + x y 2 f (x, y ) x2 2 f (x, y ) 2 f (x, y ) y 2 + x y + (P3.2a) 2 x 2 x y y 2 2

[P3.3] Algoritmo de RungeKuttaSimpson Dado el m etodo de Runge Kutta en cuatro etapas caracterizado por la tabla de Butcher: 0 1/3 2/3 1 x 0 1/3 -1/3 1 1/8 0 0 1 -1 3/8 0 0 0 1 3/8 0 0 0 0 1/8

Escribir las etapas del m etodo. Determinar el orden lineal de precisi on de este m etodo. Comparar este m etodo con otros algoritmos de RK vistos en el cap tulo.

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

54

[P3.4] Aumento del Orden en RK por Combinaci on Dados dos m etodos distintos de RK de orden de aproximaci on nth de al menos (n + 1) etapas: q2 + + 2! q2 1+q+ + + 2! 1+q+ qn + c1 q n+1 n! qn + c2 q n+1 n!

F1 (q ) F2 (q )

= =

(P3.4a) (P3.4b)

donde c2 = c1 . Mostrar que siempre es posible utilizar la combinaci on (blending): xblended = x1 + (1 ) x2 (P3.4c)

on utilizando F1 (q ) y x2 es la soluci on utilizando F2 (q ), de donde x1 es la soluci blended tiene orden (n + 1). forma tal que x Encontrar una f ormula para que haga que el algoritmo combinado tenga orden (n + 1). [P3.5] Dominio de Estabilidad de RKF4/5 Encontrar los dominios de estabilidad de los dos algoritmos utilizados en RKF4/5. Interpretar y decidir cual de los dos resultados (el de cuarto o el de quinto orden) conviene utilizar para continuar con el siguiente paso. [P3.6] Integraci on con RungeKutta Dado el sistema lineal y estacionario: 5 1250 25113 60050 42647 23999 2 500 10068 24057 17092 9613 5060 12079 8586 4826 x = 250 x+ 1 u 3 750 15101 36086 25637 14420 1 250 4963 11896 8438 4756 y = 1 26 59 43 23 x (P3.6a)

con condiciones iniciales: x0 = 1 2 3 4 5


T

(P3.6b)

(es el mismo sistema utilizado en el Prob.[P2.1]. Simular el sistema durante 10 segundos con la entrada escal on utilizando el m etodo RK4 de la p agina 33. Probar con los siguientes pasos de integraci on: 1. h = 0.32, 2. h = 0.032, 3. h = 0.0032.

MONOPASO CAP ITULO 3. METODOS DE INTEGRACION

55

Dibujar las tres trayectorias superpuestas y concluir sobre la precisi on de los resultados. [P3.7] Integraci on con BRK4 Repetir el problema anterior utilizando un BRK4 basado en el RK4 de la p agina 33. Como el sistema es lineal, puede utilizarse inversi on matricial en lugar de la iteraci on de Newton. [P3.8] Dominio de Estabilidad de BI4/5 Encontrar los dominios de estabilidad de BI4/5 utilizando la aproximaci on de Ec.(3.45a) para el semi paso expl cito, y la aproximaci on de la Ec.(3.45b) para el semipaso impl cito, usando los siguientes valores de : = {0.4, 0.45, 0.475, 0.48, 0.5} (P3.8a)

[P3.9] BI4/50.45 en Sistemas Lineales Repetir el Prob.[P3.6] utilizando BI4/50.45. El semipaso expl cito utiliza la aproximaci on de cuarto orden de RKF4/5 (no hace falta calcular el corrector de quinto orden). El semipaso impl cito, en tanto, utiliza la aproximaci on de quinto orden (y no hay necesidad de calcular el corrector de cuarto orden). Como el sistema es lineal, puede reemplazarse la iteraci on de Newton por inversi on matricial. Comparar la precisi on de este algoritmo con la de RK4 y BRK4. [P3.10] Algoritmos RK Empotrados Dados los siguientes dos algoritmos RK empotrados: 0 1 1/2 x1 x2 0 1 1/4 1/2 1/6 0 0 1/4 1/2 1/6 0 0 0 0 2/3

Escribir las etapas de los m etodos y determinar el orden lineal de precisi on de la aproximaci on de cada uno de ellos.

Cap tulo 4

M etodos Multipaso
4.1. Introducci on

En el cap tulo anterior, vimos m etodos de integraci on que, de una forma u otra, tratan de aproximar la expansi on de Taylor de la soluci on desconocida en torno al instante de tiempo actual. La idea b asica era no calcular las derivadas superiores en forma expl citas, sino reemplazarlas por distintas evaluaciones de la funci on f en varios puntos diferentes dentro del paso de integraci on. Una desventaja de este enfoque es que cada vez que comenzamos un nuevo paso, dejamos de lado todas las evaluaciones anteriores de la funci on f en el paso anterior. Veremos entonces en este cap tulo otra familia de m etodos que, en lugar de evaluar varias veces la funci on en un paso para incrementar el orden de la aproximaci on, tratan de aprovechar las evaluaciones realizadas en pasos anteriores. Para esto, lograr esto, estos nuevos m etodos utilizan como base polinomios de interpolaci on o de extrapolaci on de orden alto. Por esto, antes de presentar esta nueva familia de m etodos, vamos a estudiar los Polinomios de NewtonGregory.

4.2.

Polinomios de NewtonGregory

Dada una funci on del tiempo, f (t), llamaremos a los valores de dicha funci on en los puntos t0 , t1 , t2 , etc. como f0 , f1 , f2 , etc. Introduciremos el operador diferencia hacia adelante , tal que f0 = f1 f0 , f1 = f2 f1 , etc. En base a este operador, podemos denir operadores de orden superior: 2 f0 =(f0 ) = (f1 f0 ) = f1 f0 = f2 2f1 + f0 f0 =( f0 ) = f3 3f2 + 3f1 f0 etc.
3 2

(4.1a) (4.1b)

En general: 56

CAP ITULO 4. METODOS MULTIPASO

57

n fi = fi+n n fi+n1 + o: n fi =

n(n 1) n(n 1)(n 2) fi+n2 fi+n3 + . . . (4.2) 2! 3!

n n n n n fi+n fi+n1 + fi+n2 fi+n3 + fi (4.3) 0 1 2 3 n

Supongamos ahora que los puntos de tiempo ti est an equiespaciados por una distancia ja h. Nos proponemos encontrar un polinomio de interpolaci on (o extrapolaci on) de orden n que pase por los n + 1 valores conocidos de la funci on f0 , f1 , f2 , . . . , fn en los instantes t0 , t1 = t0 + h, t2 = t0 + 2h, . . . , tn = t0 + n h. Para esto, vamos a introducir una variable auxiliar s, denida como: t t0 (4.4) h Luego, para t = t0 s = 0.0, para t = t1 s = 1.0, etc. La variable real s toma valores enteros en los instantes de muestreo (e iguales al ndice de la muestra). El polinomio de interpolaci on puede escribirse como una funci on de s: s f (s) s s s s f0 + 2 f0 + + n f0 f0 + 1 2 n 0 (4.5)

Este polinomio se llama Polinomio de NewtonGregory hacia adelante. Puede verse f acilmente que es un polinomio de orden n en t, y que efectivamente pasa por los puntos fi en los instantes ti . A veces, vamos a necesitar polinomios de orden n que pasen a trav es de (n + 1) puntos del pasado. El Polinomio de NewtonGregory hacia atr as se puede escribir como: f (s) f0 + s s+1 s+2 f1 + 2 f2 + 3 f3 + . . . 1 2 3 s+n1 + n fn (4.6) n

Para simplicar la notaci on, podemos utilizar el operador de diferencia hacia atr as, , denido como: fi = fi fi1 y los operadores de orden superior: 2 fi = (fi ) = (fi fi1 ) = fi fi1 = fi 2 fi1 + fi2 3 fi = (2 fi ) = fi 3fi1 + 3fi2 fi3 etc. (4.7)

(4.8a) (4.8b)

CAP ITULO 4. METODOS MULTIPASO o, en general: n n n n n fi fi1 + fi2 fi3 + fin 0 1 2 3 n

58

n fi =

(4.9)

El polinomio de NewtonGregory hacia atr as entonces puede expresarse utilizando el operador como: f (s) f0 + s s+1 s+2 s+n1 f0 + 2 f0 + 3 f0 + + n f0 1 2 3 n (4.10)

4.3.

Integraci on Num erica Mediante Extrapolaci on Polin omica

La idea en que se bsan los m etodos multipaso es trivial. Podemos usar un polinomio de NewtonGregory hacia atr as, elegir tk = t0 y evaluar para s = 1.0. Esto deber a darnos una estimaci on de x(tk+1 ) = f1 . Los valores pasados f0 , f1 , f2 , etc. son las soluciones previamente calculadas x(tk ), x(tk1 ), x(tk2 ), etc. Si bien presentamos los polinomios de Newton Gregory para el caso escalar, el concepto se extiende sin complicaciones para el caso vectorial. Ser a necesario de todas formas modicar algo para incluir los valores de f, ya que los mismos contienen la informaci on sobre el modelo de las ecuaciones de estado.

4.4.

F ormulas Expl citas de AdamsBashforth

Escribamos entonces el polinomio de NewtonGregory hacia atr as para la derivada del vector de estado x (t) en torno al instante tk : x (t) = fk + donde: (tk ) = f (x(tk ), tk ) fk = x (4.12) s s+1 s+2 fk + 2 fk + 3 fk + . . . 1 2 3 (4.11)

Si queremos una expresi on para x(tk+1 ), debemos integrar la Ec.(4.11) en el intervalo [tk , tk+1 ]:

CAP ITULO 4. METODOS MULTIPASO

59

tk+1

x (t)dt = x(tk+1 ) x(tk )


tk tk+1

=
tk 1.0

fk +

s s+1 s+2 fk + 2 fk + 3 fk + . . . dt 1 2 3 s s+1 s+2 dt ds fk + 2 fk + 3 fk + . . . 1 2 3 ds

=
0.0

fk +

(4.13)

Entonces:
1

x(tk+1 ) =x(tk ) + h
0

fk + sfk +

s s2 + 2 2

2 fk (4.14)

+ y luego:

s2 s s3 + + 6 2 3

3 fk + . . . ds

1 5 3 x(tk+1 ) = x(tk ) + h fk + fk + 2 fk + 3 fk + . . . 2 12 8

(4.15)

Truncando la Ec.(4.15) tras el t ermino cuadr atico, y expandiendo el operador , obtenemos: h (23fk 16fk1 + 5fk2 ) 12 que es el famoso m etodo de AdamsBashforth de tercer orden (AB3). Si truncamos la Ec.(4.15) tras el t ermino c ubico, obtenemos: x(tk+1 ) = x(tk ) + x(tk+1 ) = x(tk ) + (4.16)

h (55fk 59fk1 + 37fk2 9fk3 ) (4.17) 24 que corresponde al m etodo AB4. La familia de m etodos AB puede representarte mediante un vector y una matriz : = 1 2 12 24 720 1440
T

1 0 0 0 0 0 3 1 0 0 0 0 23 16 5 0 0 0 = 55 59 37 9 0 0 1901 2774 2616 1274 251 0 4277 7923 9982 7298 2877 475

(4.18a)

(4.18b)

CAP ITULO 4. METODOS MULTIPASO

60

etodo ABi. En la matriz est an Aqu , la iesima la contiene los coecientes del m los t erminos que multiplican los vectores f en los distintos puntos de tiempo, y en el vector se encuentra el denominador com un. Todos estos algoritmos son expl citos. AB1 es: h (1fk ) (4.19) 1 que se reconoce enseguida como Forward Euler. Veamos los dominios de estabilidad de los m etodos ABi. Para esto, debemos encontrar las matrices F. Tomemos como ejemplo AB3. Aplicando Ec.(4.16) al problema lineal y estacionario encontramos: x(tk+1 ) = x(tk ) + x(tk+1 ) = I(n) + 23 4 5 Ah x(tk ) Ah x(tk1 ) + Ah x(tk2 ) 12 3 12

(4.20)

Podemos transformar esta ecuaci on en diferencias vectorial de tercer orden en tres ecuaciones en diferencias de primer orden deniendo las variables: z1 (tk ) = x(tk2 ) z2 (tk ) = x(tk1 ) z3 (tk ) = x(tk ) Reemplazando, queda: z1 (tk+1 ) = z2 (tk ) z2 (tk+1 ) = z3 (tk ) z3 (tk+1 ) = 5 4 23 Ah z1 (tk ) Ah z2 (tk ) + I(n) + Ah 12 3 12 z3 (tk ) (4.22a) (4.22b) (4.22c) (4.21a) (4.21b) (4.21c)

o, en forma matricial: O (n ) z(tk+1 ) = O(n) 5 12 Ah I(n) O (n ) 4 3 Ah O (n ) z(tk ) I(n) 23 (n ) (I + 12 Ah)

(4.23)

Luego, para una matriz A de 2 2 , obtenemos una matriz F de 2i 2i F al usar ABi. Los dominios de estabilidad que resultan de estas matrices F se muestran en la Fig.4.1. Como los m etodos ABi son expl citos, sus bordes de estabilidad se cierran en el semiplano complejo h. Desafortunadamente, los dominios de estabilidad son bastante decepcionantes, ya que al aumentar el orden (lo que nos permitir a utilizar pasos m as grandes) los dominios se achican (y la estabilidad nos limitar a el tama no de los pasos).

CAP ITULO 4. METODOS MULTIPASO Stability Domains of AB


1 0.8 0.6 0.4 1 2

61

Im{ h}

0.2 0 0.2 0.4 0.6 0.8 1

4 5 6

2.5

1.5

0.5

0.5

Re { h } Figura 4.1: Dominios de estabilidad de los algoritmos expl citos AB. En comparaci on con RK, si bien es cierto que necesitamos s olamente una evaluaci on de la funci on por paso, es probable que debamos utilizar pasos considerablemente menores debido a la regi on de estabilidad.

4.5.

F ormulas Impl citas de AdamsMoulton

Veamos ahora si tenemos m as suerte con los algoritmos impl citos. Para esto, desarrollaremos nuevamente x (t) en polinomios de NewtonGregory hacia atr as, pero esta vez en torno al punto tk+1 . s s+1 s+2 fk+1 + 2 fk+1 + 3 fk+1 + . . . 1 2 3

x (t) = fk+1 +

(4.24)

Integraremos nuevamente desde tk hasta tk+1 . Sin embargo, ahora s = 0.0 corresponde a t = tk+1 . Entonces, necesitamos intergar en el intervalo s [1.0, 0.0]. Resulta: 1 1 1 x(tk+1 ) = x(tk ) + h fk+1 fk+1 2 fk+1 3 fk+1 + . . . 2 12 24 Expandiendo el operador y truncando tras el t ermino cuadr atico, encontramos:

CAP ITULO 4. METODOS MULTIPASO

62

h (5fk+1 + 8fk fk1 ) (4.25) 12 que es el algoritmo impl cito de AdamsMoulton de tercer orden (AM3). Truncando ahora tras el t ermino c ubico queda: x(tk+1 ) = x(tk ) + h (9fk+1 + 19fk 5fk1 + fk2 ) (4.26) 24 lo que corresponde al algoritmo AM4. La familia de m etodos AM tambi en puede representarte mediante un vector y una matriz : x(tk+1 ) = x(tk ) + = 1 2 12 24 720 1440 (4.27a)

1 1 5 = 9 251 475

0 0 1 0 8 1 19 5 646 264 1427 -798

0 0 0 0 0 0 1 0 106 19 482 -173

0 0 0 0 0 27

(4.27b)

Resulta claro que AM1 es el mismo m etodo que BE. El m etodo de segundo orden AM2 coincide con la regla trapezoidal. Es decir, AM1 es Lestable y AM2 es Festable. Veamos ahora los dominios de estabilidad de los m etodos de orden superior. Utilizando AM3 con un sistema lineal y estacionario resulta: 5 2 1 Ah x(tk+1 ) = I(n) + Ah x(tk ) Ah x(tk1 ) 12 3 12

I(n)

(4.28)

Cambiando variables como en ABi, tenemos: O (n ) [I


(n )

F=

5 1 12 Ah]

1 [ 12 Ah]

[I

(n )

5 1 12 Ah]

I(n) [I(n) + 2 3 Ah]

(4.29)

Para una matriz de 2 2 A, tenemos una matriz F de 2(i 1) 2(i 1) al usar AMi. Los dominios de estabilidad de los m etodos hasta AM6 se muestran en la Fig.4.2. Como en el caso de los algoritmos ABi, los resultados son decepcionantes. AM1 y AM2 son algoritmos u tiles . . . pero ya los conoc amos con otros nombres. A partir de AM3, los dominios de estabilidad se cierran sobre el semiplano izquierdo. Entonces, en principio, no parece tener sentido pagar el precio de utilizar iteraciones para obtener un m etodo que no sirve para sistemas sti.

CAP ITULO 4. METODOS MULTIPASO Stability Domains of AM


4 2 3 3 2 4 1 1 5 6 0

63

Im{ h}

4 7

Re { h } Figura 4.2: Dominios de estabilidad de los algoritmos impl citos de AM.

4.6.

F ormulas PredictorCorrector de Adams BashforthMoulton

Los m etodos de ABi y de AMi por s solos no tienen casi ventajas debido a que sus regiones de estabilidad son muy pobres. Intentaremos ahora construir un m etodo predictorcorrector con un paso de ABi (predictor) y uno de AMi (corrector). Con esta idea, el m etodo de tercer orden ABM3 ser a el siguiente: predictor: x k = f (xk , tk ) h xP k 16x k 1 + 5 x k 2 ) k+1 = xk + 12 (23x
P x P k+1 = f (xk+1 , tk+1 ) h P k x k 1 ) xC k+1 = xk + 12 (5x k +1 + 8 x

corrector:

Evidentemente el algoritmo completo es expl cito y no se necesita ninguna iteraci on de Newton. Sin embargo, hay un costo adicional respecto de AB3 al tener que evaluar dos veces la funci on por cada paso. Veremos si este costo se compensa con una regi on de estabilidad m as grande. Reemplazando para la ecuaci on lineal y estacionaria queda:

CAP ITULO 4. METODOS MULTIPASO

64

x(tk+1 ) = I(n) + +

1 115 5 13 Ah + (Ah)2 x(tk ) Ah + (Ah)2 x(tk1 ) 12 144 12 9 (4.30)

25 (Ah)2 x(tk2 ) 144

con la matriz F: O (n ) F= O (n ) 25 2 144 (Ah) I(n) O (n ) 1 2 12 Ah + 5 9 (Ah) O (n ) I(n) 13 (n ) I + 12 Ah + (4.31)


115 2 144 (Ah)

Los dominios de estabilidad se muestran en la Fig.4.3. Stability Domains of ABM


1.5

3 0.5

Im{ h}

0.5

1.5

2.5

1.5

0.5

0.5

Re { h } Figura 4.3: Stability domains of predictorcorrector ABM algorithms. Evidentemente, la idea funcion o, ya que los dominios de estabilidad de ABMi son considerablemente mayores que los de ABi.

4.7.

F ormulas (BDF)

de

Diferencias

Hacia

Atr as

Veamos ahora si podemos encontrar una familia de m etodos multipaso con dominios de estabilidad que se cierren a la derecha del semiplano h. Para

CAP ITULO 4. METODOS MULTIPASO

65

esto, escribiremos el polinomio de NewtonGregory hacia atr as en x(t) en vez de en x (t), en torno al instante tk+1 . Entonces: s s+1 s+2 xk+1 + 2 xk+1 + 3 xk+1 + . . . (4.32) 1 2 3

x(t) = xk+1 + o:

x(t) = xk+1 + sxk+1 +

s s2 + 2 2

2 xk+1 +

s2 s s3 + + 6 2 3

3 xk+1 + . . . (4.33)

Derivando la Ec.(4.33)) respecto al tiempo obtenemos: 1 1 xk+1 + s + h 2 s2 1 +s+ 2 3

x (t) =

2 xk+1 +

3 xk+1 + . . .

(4.34)

Evaluando la Ec.(4.34) para s = 0.0, resulta: x (tk+1 ) = 1 1 1 xk+1 + 2 xk+1 + 3 xk+1 + . . . h 2 3 (4.35)

Multiplicando la Ec.4.35 por h, truncando tras el t ermino c ubico y expandiendo los operadores , queda: 11 3 1 xk+1 3xk + xk1 xk2 6 2 3 De la Ec.(4.36) se puede despejar xk+1 : h fk+1 = xk+1 = (4.36)

18 9 2 6 xk xk1 + xk2 + h fk+1 (4.37) 11 11 11 11 que es la f ormula de tercer orden de diferencias hacia atr as (BDF3, por Backward Dierence Formula ). Podemos obtener algoritmos de BDFi truncando la Ec.(4.35) en diferentes t erminos. La familia de m etodos BDF tambi en puede representarte mediante un vector y una matriz : = 1 2/3 6/11 12/25 60/137 1 0 0 0 0 4/3 1/3 0 0 0 9/11 2/11 0 0 = 18/11 48/25 36/25 16/25 3/25 0 300/137 300/137 200/137 75/137 12/137
T

(4.38a)

(4.38b)

Aqu , la la i representa el algoritmo BDFi. Los coecientes de la matriz son los que multiplican los valores pasados del vector de estados x, mientras que los

CAP ITULO 4. METODOS MULTIPASO

66

coecientes del vector son los que multiplican el vector de las derivadas del estado x en el instante tk+1 . Los m etodos de BDF son algoritmos impl citos. BDF1 es lo mismo que BE. Los dominios de estabilidad de los m etodos BDFi se presentan en la Fig.4.4. Stability Domains of BDF
10

5 5

Im{ h}

2 0 1

10

10

15

20

Re { h } Figura 4.4: Dominios de estabilidad de los m etodos impl citos BDF. Es evidente que al n encontramos un conjunto de m etodos multipaso sti estables. Como en todos los otros m etodos multipaso, al agrandar el orden de la extrapolaci on, el m etodo se vuelve cada vez menos estable. En consecuencia, BDF6 tiene s olamente una banda muy angosta de a rea estable a la izquierda del origen y s olamente es u til cuando los autovalores est an sobre el eje real. BDF7 es inestable en todo el plano h. De todas formas, debido a su simplicidad, los m etodos BDFi son los m as utilizados por los paquetes de simulaci on de prop osito general. El c odigo basado en BDF m as utilizado es DASSL. Los m etodos de BDF se conocen tambi en como algoritmos de Gear, por Bill Gear, quien descubri o las propiedades de los mismos para la simulaci on de sistemas sti a principios de la d ecada de 1970.

4.8.

Iteraci on de Newton

Los m etodos BDFi pueden escribirse en funci on de los coecientes i y i,j de la Ec.(4.38) como sigue:

CAP ITULO 4. METODOS MULTIPASO

67

xk+1 = i h fk+1 +
j =1

ij xkj +1

(4.39)

Reemplazando para un sistema lineal y estacionario y despejando xk+1 , queda: xk+1 = i (A h) I(n)
1 i

ij xkj +1
j =1

(4.40)

En un problema no lineal, no podemos aplicar inversi on matricial. Podemos igualmente reescribir la Ec.(4.39) como:
i

F (xk+1 ) = i h f (xk+1 , tk+1 ) xk+1 +


j =1

ij xkj +1 = 0.0

(4.41)

y entonces se puede utilizar la iteraci on de Newton sobre la Ec.(4.41):


1 xk+1 [F ] +1 = xk+1 [H ]

(4.42)

donde el Hessiano H se calcula como: H = i (J h) I(n) (4.43)

donde J es el Jacobiano del sistema. Si reemplazamos la Ec.(4.42) para un sistema lineal y estacionario, puede verse f acilmente que se obtiene nuevamente la Ec.(4.40). Es decir, la iteraci on de Newton no cambia el dominio de estabilidad. Como ya mencionamos antes, en general se utiliza la iteraci on de Newton modicada, que no reeval ua el Jacobiano durante cada iteraci on. M as a un, en los m etodos multipaso muchas veces no se reeval ua el Jacobiano en todos los pasos. De esta manera, tampoco se reeval ua el Hessiano muy frecuentemente, ya que el mismo s olo debe reevaluarse cuando se reevalua el Jacobiano o cuando el paso de integraci on se modica. El Jacobiano se puede evaluar de dos maneras: num erica o simb olica. La primera en general se hace mediante una aproximaci on de primer orden. no xi , y se calcula Cada variable de estado xi se modica en un valor peque f (x, t) fpert f xi xi (4.44)

donde f es la derivada del vector de estado evaluada en el valor actual del estado, mientras que fpert es la derivada perturbada, evaluada en xi + xi con el resto de las variables de estado mantenidas en sus valores actuales. Entonces, un sistema de orden n necesita n evaluaciones adicionales de la funci on f para obtener una aproximaci on completa del Jacobiano. Y a un en ese caso, s olo logramos una aproximaci on de primer orden del mismo.

CAP ITULO 4. METODOS MULTIPASO

68

Para un sistema lineal es suciente, ya que obtendremos J = A y la iteraci on de Newton converger a en s olo un paso. En un caso no lineal en cambio, podemos llegar a tener varias iteraciones. Por estos motivos, muchas veces es preferible evaluar el jacobiano de manera simb olica. Teniendo en cuenta que muchos paquetes de software (Dymola, Matlab, Mathematica) ofrecen herramientas de c alculo simb olico, esto no agrega dicultad al problema y permite calcular el Jacobiano de manera exacta y sin costo computacional adicional respecto de la evaluaci on num erica del mismo.

4.9.

Control de Paso y de Orden

En los m etodos de RK no tiene mucho sentido variar el orden del m etodo durante la simulaci on, ya que la precisi on se puede controlar mucho m as f acilmente cambiando el paso de integraci on. Sin embargo, en los m etodos multipaso el control de orden se utiliza muy a menudo, ya que es muy simple. El orden de un m etodo depende de cuantos alculos. Por lo tanto, es trivial valores anteriores de xk estamos utilizando en los c aumentar o disminuir en 1 el orden utilizado. Adem as, el costo de cambiar el orden es pr acticamente nulo. El control de paso en cambio no es tan econ omico, ya que las f ormulas multipaso se basan en considerar que los puntos en el tiempo est an equiespaciados. Aunque veremos una manera eciente de utilizar paso variable, es mucho m as sencillo el control de orden. De todas maneras, la variaci on de orden produce cambios de precisi on muy bruscos. Cuando cambiamos en 1 el orden del m etodo, la precisi on cambia en general en un factor de 10. Por eso, antes de bajar el orden de la aproximaci on, el error estimado debe ser muy chico. Adem as, al disminuir el orden no se ahorra casi nada en c alculos: el n umero de evaluaciones de la funci on sigue siendo el mismo. Como podemos controlar el paso de manera eciente? La idea no es tan complicada. Vamos a comenzar reconsiderando el polinomio de NewtonGregor hacia atr as: s2 s + 2 2 s3 s2 s + + 6 2 3

x(t) = xk + sxk +

2 xk +

3 xk + . . .

(4.45)

Derivando respecto al tiempo obtenemos: 1 1 xk + s + h 2 s2 1 +s+ 2 3

x (t) =

2 xk +

3 xk + . . .

(4.46)

la segunda derivada es: x (t) = 1 2 xk + (s + 1)3 xk + . . . h2 (4.47)

CAP ITULO 4. METODOS MULTIPASO

69

etc. Truncando las Ecs.(4.45)(4.47) tras el t ermino c ubico, expandiendo los operadores y evaluando para t = tk (s = 0.0), obtenemos: xk 6 hx k 1 11 h2 = k 6 6 2 x 3 (iii) h 1 6 xk 0 18 15 3 0 9 12 3 0 xk 2 xk1 xk2 3 xk3 1

(4.48)

El vector del lado izquierdo de la ecuaci on se denomina vector de Nordsieck , (en este caso escribimos el de tercer orden). Usando esta idea, utilizando una simple multiplicaci on por una matriz constante, pudimos traducir informaci on de los estados en distintos puntos del tiempo en informaci on del estado y sus derivadas en un mismo instante de tiempo. En este caso escribimos la transformaci on para una s ola variable de estado. El caso vectorial funciona de la misma forma, pero la notaci on es m as complicada. Esto nos permite reslver el problema de control de paso. Si queremos cammplemente podemos multiplicar el vector que biar el paso en el instante tk , s contiene los valores pasados del estado por la matriz de transformaci on, tranformando as la historia del estado en un vector de Nordsieck equivalente. En esta nueva forma, el paso se puede cambiar f acilmente premultiplicando el vector de Nordsieck con la matriz diagonal: 1 0 0 0 0 hnew 0 0 hold 2 hnew (4.49) H = 0 0 0 hold 3 hnew 0 0 0 hold Tras esto tendremos el vector de Nordsieck expresado en el nuevo paso hnew . Si ahora premultiplicamos este vector de Nordsieck modicado por la inversa de la matriz de transformaci on, obtendremos un vector de historia de los estados modicado, donde los nuevos valores guardados x representan la soluci on en instantes equidistantes hnew . Este es el m etodo m as utilizado para controlar el paso de integraci on en los m etodos multipaso. De todas formas, es algo costoso ya que hay que realizar tres multiplicaciones matriciales cada vez que se quiere cambiar el paso. Adem as, en presencia de m etodos impl citos, hay que evaluar un nuevo Hesiano tras modicar el paso de integraci on. Por este motivo, no se suele cambiar muy seguido el paso. Cada vez que se reduce el paso, se suele reducir excesivamente para no tener que reducirlo nuevamente en los siguientes pasos. As mismo, s olamente se aumenta el paso de integraci on cuando este aumento es considerable.

CAP ITULO 4. METODOS MULTIPASO

70

4.10.

Arranque de los M etodos

Un problema que hay que resolver en los m etodos multipaso es el arranque. Normalmente, se conoce el estado inicial en tiempo t0 , pero no hay datos anteriores disponibles, y no se puede entonces comenzar utilizando m etodos multipaso de orden mayor que uno (en el caso impl cito). Una soluci on muy sencilla es utilizar control de orden: se comienza con un m etodo de orden uno para obtener t1 = t0 + h. Luego, con estos dos puntos se puede utilizar un m etodo de orden dos para obtener t2 = t1 + h y as sucesivamente hasta que al cabo de varios pasos se puede obtener un m etodo de orden n. Este m etodo, si bien funciona, no es muy recomendable debido al problema de la precisi on. Si queremos utilizar un m etodo de orden alto, es porque necesitamos precisi on. Entonces, al comenzar con un m etodo de orden bajo, deber amos utilizar un paso demasiado chico en los primeros pasos. Tras esto, adem as, tendr amos que cambiar el paso de integraci on para aprovechar el algoritmo de orden alto una vez arrancado. Otra idea es utilizar algoritmos de RungeKutta (del mismo orden de m etodo multipaso a utilizar) durante el arranque, lo que nos libera del problema de usar pasos demasiado chicos. Esta idea funciona muy bien para los m etodos de tipo ABM y AB. El caso de BDF es un poco m as problem atico ya que al tratar con sistemas sti, RK deber a utilizar pasos excesivamente peque nos y tendremos nuevamente un problema similar al de control de orden. Una alternativa para esto es usar m etodos tipo BRK para no tener limitaciones de estabilidad en el arranque.

4.11.

Problemas Propuestos

[P4.1] Nuevos m etodos Utilizando la idea del polinomio de NewtonGregory hacia atr as, dise nar un conjunto de algoritmos de la forma: i h xk+1 = xk2 + (P4.1a) ij xkj +1 i j =1 Dibujar sus dominios de estabilidad y compararlos con los de AB. [P4.2] Costo Versus Precisi on Caso No Sti Calcular la gr aca de costo vs. precisi on de AB4, ABM4 y AM4 para el problema lineal no sti:

CAP ITULO 4. METODOS MULTIPASO

71

5 23999 2 9613 4826 x = x + 1 u 3 14420 1 4756 (P4.2a) con entrada nula y condici on inicial x0 = ones(5, 1). Dicha gr aca debe tener en el eje horizontal la precisi on obtenida y en el eje vertical el n umero de evaluaciones de la funci on f . Para esto, tener en cuenta que AB realiza una evaluaci on por paso, ABM realiza dos y consideraremos (por simplicidad) que AM realiza en promedio cuatro evaluaciones. Si bien se pide gracar el n umero de evaluaciones en funci on de la precisi on, es m as ecientes variar el n umero de evaluaciones y calcular la precisi on obtenida. Se sugiere seleccionar el n umero de evaluaciones entre 200 y 4000, por ejemplo, nbrstp = [200, 500, 1000, 2000, 4000]. Luego hay que computar el paso de integraci on. En el caso de AB4 ser a h = 10/nbrstp, ya que integraremos durante 10 segundos y tenemos una evaluaci on por paso. En ABM4 usar amos h = 20/nbrstp y en AM4 h = 40/nbrstp. Dado que el problema es lineal, se puede simular el sistema utilizando las matrices F. Como los m etodos no pueden arrancar por s mismos, se deber a utilizar RK4 durante los 3 primeros pasos. Para evaluar la precisi on obtenida en cada simulaci on utilizaremos el verdadero error relativo global, calculando primero: 1250 500 250 750 250 25113 10068 5060 15101 4963 60050 24057 12079 36086 11896 42647 17092 8586 25637 8438 local (tk ) = xanal (tk ) xsimul (tk ) m ax( xanal (tk ) , eps) (P4.2b)

donde eps es un n umero muy chico, y luego, ax(local (tk )) global = m


k

(P4.2c)

[P4.3] Costo Versus Precisi on Caso Sti Repetiremos la idea del problema anterior pero para el siguiente caso lineal sti: 0 1 0 0 0 0 1 x + 0 u x = (P4.3a) 10001 10201 201 1 Buscamos calcular la respuesta al escal on con condiciones iniciales nulas hasta tf = 10 seg. En este caso utilizaremos BDF2, BDF3 y BDF4 para comparar su eciencia relativa para resolver el problema. Consideraremos, como en el caso anterior

CAP ITULO 4. METODOS MULTIPASO

72

de AM4, que cada paso (iteraci on de Newton) consume 4 evaluaciones de la funci on. Como referencia, tambi en computaremos la gr aca de costo vs. precisi on de BRK4. Consideraremos que cada paso de BRK4 realiza 4 iteraciones, con 4 evaluaciones de la funci on en cada una de ellas. [P4.4] Backward Dierence Formulae Programar en Scilab o Matlab una rutina que simule un sistema gen erico utilizando BDF4, y que utilice RK4 para el arranque. Comenzar con el caso de paso jo, y luego implementar un algoritmo de control de paso.

Cap tulo 5

Ecuaciones en Derivadas Parciales


Este cap tulo es una traducci on resumida del Cap tulo 6 del libro Continuous System Simulation [2].

5.1.

Introducci on

La simulaci on de ecuaciones en derivadas parciales (PDE, por partial dierential equations ) es uno de los temas m as dif ciles de abordar y presenta una gran cantidad de problemas abiertos. Si bien la literatura cuenta con numerosos enfoques distintos para la integraci on num erica de PDEs, en este curso trataremos con s olamente uno de estos enfoques, denominado el M etodo de L neas (MOL, por method of lines ). El MOL se basa en aproximar las PDEs por un sistema grande de ecuaciones diferenciales ordinarias, que luego debe ser simulado con m etodos de integraci on como los que estudiamos en los cap tulos anteriores. Es importante remarcar que el MOL es s olo una entre las tantas t ecnicas que existen para PDEs. El motivo por el cual estudiaremos el MOL no es porque se trate de la t ecnica m as eciente, sino que al convertir las PDEs en conjuntos de ODEs nos permitir a hacer uso de todo lo que vimos en el transucrso del curso. De esta forma, a lo largo de este cap tulo vamos a ver c omo el MOL transforma las PDEs en un sistema de ODEs y vamos a estudiar las caracter sticas particulares de las ODEs resultantes y decidir cuales de los m etodos de integraci on vistos ser an convenientes para la simulaci on de las mismas.

5.2.

El M etodo de L neas

El M etodo de L neas es una t ecnica que nos permite convertir ecuaciones en derivadas parciales en conjuntos de ecuaciones diferenciales ordinarias que, en 73

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

74

alg un sentido, son equivalentes a las PDEs originales. La idea b asica es muy sencilla. Tomemos como ejemplo la ecuaci on del calor o ecuaci on de difusi on en una sola variable espacial: 2u u = (5.1) t x2 En lugar de buscar la soluci on u(x, t) en todo el espacio bidimensional denido por la variable espacial x y la variable temporal t, podemos discretizar la variable espacial y buscar las soluciones ui (t) donde el ndice i denota un punto particular xi en el espacio. Para esto, reemplazaremos la derivada parcial de segundo orden de u con respecto a x por una diferencia nita: 2u x2
x =x i

ui+1 2ui + ui1 x2

(5.2)

donde x es la distancia entre dos puntos vecinos de discretizaci on en el espacio (aqu elegida equidistante). Esta distancia de denomina ancho de grilla de la discretizaci on. Utilizando la Ec.(5.2) en (5.1), resulta: ui+1 2ui + ui1 dui (5.3) dt x2 y as convertimos la PDE en u en un conjunto de ODEs en ui . Como puede verse, la idea principal del MOL es muy sencilla. Lo complicado est a en los detalles. Es razonable utilizar el mismo orden de aproximaci on para las dos discretizaciones, en el tiempo y en el espacio. Por eso, si queremos integrar el conjunto de IDEs con un m etodo de cuarto orden, deber amos encontrar una f ormula de discretizaci on para 2 u/x2 que sea de cuarto orden. Para esto, podemos volver a utilizar los polinomios de NewtonGregory. Un polinomio de cuarto orden necesita ser ajustado a trav es de cinco puntos. Preferiremos utilizar diferencias centradas, es decir, vamos a ajustar el polinomio a trav es de los puntos xi2 , xi1 , xi , xi+1 , and xi+2 . Al utilizar el polinomio de Newton Gregory hacia atr as, deberemos escribir el mismo en torno al punto ubicado m as a la derecha, en nuestro caso, el punto xi+2 . Luego, resulta u(x) = ui+2 + sui+2 + s2 s + 2 2 2 ui+2 + s3 s2 s + + 6 2 3 3 ui+2 + . . . (5.4)

En consecuencia, la derivada segunda puede escribirse como: 1 2u = 2 2 ui+2 + (s + 1)3 ui+2 + x2 x 3s 11 s2 + + 2 2 12

4 ui+2 + . . .

(5.5)

La Ec.(5.5) debe evaluarse en x = xi , lo que corresponde a s = 2. Truncando tras el t ermino de orden cuarto y expandiendo el operador , resulta:

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

75

2u x2

x =x i

1 (ui+2 + 16ui+1 30ui + 16ui1 ui2 ) 12x2

(5.6)

que es la aproximaci on en diferencias centrada de cuarto orden de la derivada segunda parcial de u(x, t) respecto de x evaluada en x = xi . Si hubi eramos querido integrar con un m etodo de segundo orden, deber amos haber desarrollado el polinomio de Newton Gregory hacia atr as en torno al punto ermino cuadr atico y evaluando en s = 1. xi+1 , truncando la Ec.(5.5) tras el t Esto nos hubiera llevado a: 2u x2
x =x i

1 (ui+1 2ui + ui1 ) x2

(5.7)

que es la f ormula de diferencias centrada de segundo orden para 2 u/x2 , la misma que utilizamos en Ec.(5.2). En realidad, puede verse que esta u ltima f ormula es de tercer orden. Por lo tanto, puede utilizarse tanto con m etodos de segundo como de tercer orden. De manera similar, la f ormula que deducimos de cuarto orden (5.6) es en realidad de quinto orden. Esto se debe a razones de simetr a por los cuales cualquier aproximaci on en diferencias centradas tiene un orden m as que el indicado por el n umero de puntos utilizado para ajustar el polinomio. La siguiente dicultad aparece cuando nos aproximamos al borde del dominio espacial. Supongamos que la ecuaci on del calor corresponde a la distribuci on de temperatura a lo largo de una barra de longitud = 1 m, y supongamos que cortamos dicha barra en 10 segmentos de longitud = 10 cm. Si la punta izquierda de la barra corresponde al ndice i = 1, la punta derecha corresponder a al ndice i = 11. Supongamos adem as que queremos integrar mediante un m etodo de orden cuatro. Luego, podremos utilizar la Ec.(5.6) entre los puntos x3 y x9 . Sin embargo, para los puntos restantes, necesitaremos utilizar un f ormula no centrada, ya que no podemos usar puntos fuera del rango donde la soluci on u(x, t) est a denida. Para encontrar una f ormula no centrada para x2 , deberemos escribir el polinomio de NewtonGregory hacia atr as en torno al punto u5 y evaluarlo para s = 3. De manera similar, para obtener una f ormula no centrada para x1 deberemos escribir el polinomio en torno a u5 y evaluarlo para s = 4. Algo parecido puede hacerse para los puntos x10 y x11 . Procediendo de esta manera, obtenemos las siguientes f ormulas no centradas:

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

76

2u x2 2u x2 2u x2 2u x2

=
x =x 1

1 (11u5 56u4 + 114u3 104u2 + 35u1) 12x2 1 (u5 + 4u4 + 6u3 20u2 + 11u1 ) 12x2 1 (11u11 20u10 + 6u9 + 4u8 u7 ) 12x2 1 (35u11 104u10 + 114u9 56u8 + 11u7 ) 12x2

(5.8a) (5.8b) (5.8c) (5.8d)

=
x =x 2

=
x=x10

=
x=x11

En el MOL, todas las derivadas con respecto a las variables espaciales se discretizan utilizando aproximaciones en diferencias (centradas o no), mientras que las derivadas con respecto al tiempo se dejan como est an. De esta forma, las PDEs se convierten en un conjunto de ODEs que pueden, al menos en teor a, resolverse como cualquier modelo de ODEs mediante m etodos de integraci on num erica est andar. Tras esto, deberemos discutir que debe hacerse con las condiciones de borde. Cada PDE, adem as de tener condiciones iniciales en el tiempo, tiene condiciones de borde (tambi en llamadas condiciones de contorno) en el espacio. Por ejemplo, la ecuaci on del calor puede tener las siguientes condiciones de borde: u(x = 0.0, t) = 100.0 (5.9a) u (x = 1.0, t) = 0.0 (5.9b) x La Ecuaci on (5.9a) se denomina condici on de valor de borde . Este es el caso m as simple. Todo lo que debemos hacer es eliminar la ecuaci on diferencial de u1 (t) y reemplazarla por una ecuaci on algebraica, en este caso: u1 = 100.0 (5.10)

La condici on de borde de la Ec.(5.9b) es tambi en un caso especial. Se denomina condici on de simetr a de borde. Puede tratarse de la siguiente forma. Imaginemos que hay un espejo en x = 1.0, que replica la soluci on u(x, t) en el rango x [1.0, 2.0], tal que u(2.0 x, t) = u(x, t). Obviamente la condici on de borde en x = 2.0 es la misma que en x = 0.0. Luego, no hace falta para nada especicar ninguna condici on de borde para x = 1.0, ya que por simetr a dicha condici on de borde ser a satisfecha. Sabiendo eso, podemos reemplazar las Ecs.(5.8cd) mediante: 2u x2 2u x2 =
x=x10

1 (u12 + 16u11 30u10 + 16u9 u8 ) 12x2 1 (u13 + 16u12 30u11 + 16u10 u9 ) 12x2

(5.11a) (5.11b)

=
x=x11

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

77

o sea, por una aproximaci on en diferencias centradas. Debido a la simetr a, u12 = u10 y u13 = u9 , y podemos reescribir las Ecs.(5.11ab) como: 2u x2 2u x2 1 (16u11 31u10 + 16u9 u8 ) 12x2 1 (30u11 + 32u10 2u9 ) 12x2

=
x=x10

(5.12a) (5.12b)

=
x=x11

y ahora podemos olvidarnos de nuestro espejo virtual. Un tercer tipo especial de condici on de borde es la llamada condici on de borde temporal : u (x = 0.0, t) = f (t) (5.13) t En este caso, la condici on de borde de la PDE es descripta directamente mediante una ODE. Este caso tambi en es simple: directamente reemplazamos la ODE de u1 por la ODE de borde: u 1 = f (t) Un condici on de borde m as general puede tener la forma: g (u(x = 1.0, t)) + h u (x = 1.0, t) = f (t) x (5.15) (5.14)

donde f , g , y h son funciones arbitrarias es m as complicado. Por ejemplo, podr amos tener una condici on: u (x = 1.0, t) = k (u(x = 1.0, t) uamb (t)) (5.16) x donde uamb (t) es la temperatura ambiente. En este caso, debemos proceder como antes, reemplazando las derivadas espaciales mediante polinomios de Newton Gregory apropiados: u x =
x=x11

1 (25u11 48u10 + 36u9 16u8 + 3u7 ) 12x

(5.17)

que se trata de la aproximaci on de diferencias no centradas de cuarto orden. Reemplazando con la Ec.(5.17) en la Ec.(5.16), y resolviendo para u11 , encontramos: 12k x uamb + 48u10 36u9 + 16u8 3u7 (5.18) 12k x + 25 Mediante este proceso, una condici on de borde general se transform o en una condici on de valor de borde, y la ODE que dene u11 puede descartarse. u11 =

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

78

En algunos casos podemos encontrarnos con condiciones de borde no lineales, tales como la condici on de radiaci on: u (x = 1.0, t) = k u(x = 1.0, t)4 uamb (t)4 x que conduce a:
4 F (u11 ) =12k x u4 11 + 25u11 12k x uamb 48u10 + 36u9

(5.19)

16u8 + 3u7 = 0.0

(5.20)

es decir, una condici on impl cita de valor de borde que puede resolverse mediante la iteraci on de Newton.

5.3.

PDEs Parab olicas

Algunas clases simples de PDEs son tan comunes que reciben nombres especiales. Consideremos por ejemplo la siguiente PDE en dos variables, x e y : 2u 2u 2u + c + b =d (5.21) x2 xy y 2 que es caracter stica de muchos problemas de campos en la f sica. x e y pueden ser variables espaciales o temporales, y a, b, c, y d pueden ser funciones arbitrarias de x, y , u, u/x, and u/y . Dicha PDE se denomina cuasilineal , dado que es lineal en las derivadas superiores. Dependiendo de la relaci on num erica entre a, b, y c, la Ec.(5.21) se clasica como parab olica , hiperb olica ,o el ptica . La clasicaci on es como sigue: a b2 4ac > 0 = PDE es hiperblica olica b 4ac = 0 = PDE es parab
2 2

(5.22a) (5.22b) (5.22c)

ptica b 4ac < 0 = PDE es el

Las PDEs parab olicas son muy comunes. Por ejemplo, todos los problemas t ermicos son de esta naturaleza. El ejemplo m as simple de una PDE parab olica es la ecuaci on de difusi on de calor de la Ec.(5.1). Un ejemplo completo de este problema, incluyendo condiciones iniciales y de borde, es el siguiente: u 1 2u = ; x [0, 1] ; t [0, ) 2 t 10 x2 u(x, t = 0) = cos( x) u(x = 0, t) = exp(t/10) u (x = 1, t) = 0 x

(5.23a) (5.23b) (5.23c) (5.23d)

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

79

Para discretizar este problema mediante el MOL, dividiremos el eje espacial en n segmentos de longitud x = 1/n. Utilizaremos la f ormula de diferencias centradas de tercer orden de la Ec.(5.7) para aproximar las derivadas espaciales y utilizaremos el enfoque que presentamos antes para tratar la condici on de borde sim etrica. De esta forma, obtenemos el conjunto de ODEs: u1 = exp(t/10) n (u3 2u2 + u1 ) 10 2 2 n u 3 = (u4 2u3 + u2 ) 10 2 etc. u 2 = u n = u n+1 con condiciones iniciales: n 2 u3 (0) = cos n 3 u4 (0) = cos n etc. u2 (0) = cos un (0) = cos (n 1) n n2 (un+1 2un + un1 ) 10 2 n2 = 2 (un+1 + un ) 5
2

(5.24a) (5.24b) (5.24c)

(5.24d) (5.24e)

(5.25a) (5.25b) (5.25c)

(5.25d) (5.25e)

un+1 (0) = cos ( ) Este es un sistema de la forma: x =Ax+bu donde: 2 1 0 1 2 1 2 0 1 2 n A= . . . . . 10 2 . . . . 0 0 0 0 0 0 0 0 1 . . . 0 0 ... ... ... .. . ... ... 0 0 0 . . . 0 0 0 . . . 1 2 1 0 2 2 0 0 0 . . .

(5.26)

(5.27)

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES n=3 -0.0244 -0.1824 -0.3403 n=4 -0.0247 -0.2002 -0.4483 -0.6238 n=5 -0.0248 -0.2088 -0.5066 -0.9884 -0.8044 n=6 -0.0249 -0.2137 -0.5407 -0.9183 -1.2454 -1.4342 n=7 -0.0249 -0.2166 -0.5621 -0.9929 -1.4238 -1.7693 -1.9610

80

Cuadro 5.1: Distribuci on de autovalores en el modelo de difusi on. A es una matriz con estructura de banda de dimensi on n n. Sus autovalores se encuentran tabulados en la Tabla 5.1. Todos los autovalores son negativos y reales. Esta es al caracter stica de todos los problemas del dominio t ermico y de todas las PDEs parab olicas convertidas en ODEs mediante el MOL. Puede notarse que mientras que el autovalor m as lento permanece casi inalterable, el cociente de rigidez (el cociente entre el autovalor m as r apido y el m as lento, o stiness ratio ) aumenta con el n umero de segmentos. La Figura 5.1 muestra la gr aca de la ra z cuadrada del cociente de rigidez en funci on del n umero de segmentos utilizados. Stiness Ratio of 1D Diusion Problem
70

StinessRatio

60 50 40 30 20 10 10 15 20 25 30 35 40 45 50

Number of Segments Figura 5.1: Dependencia del cociente de rigidez con la discretizaci on. Como vemos, el cociente de rigidez crece en forma cuadr atica con el n umero de segmentos utilizados en la discretizaci on espacial. Cuanto m as precisi on queremos obtener, la ODE resultante nos queda m as sti. Debido a las caracter sticas del sistema de ODEs resultante, resulta que los algoritmos BDF son normalmente los mejores para simularlo. La PDE que elegimos (5.24) tiene soluci on anal tica conocida: uc (x, t) = exp(t/10) cos( x) (5.28)

Luego, podemos comparar esta soluci on con la soluci on anal tica de la ODE

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

81

resultante de aplicar el MOL. La gr aca de arriba a la izquierda de la Fig.5.2 muestra la soluci on de la PDE uc en funci on del espacio y del tiempo. La gr aca de arriba a la derecha aca de abajo a muestra la soluci on del sistema de ODEs resultante ud , y la gr la izquierda muestra la diferencia entre ambos. La gr aca de abajo a la derecha presenta el error m aximo en funci on del n umero de segmentos utilizado en la discretizaci on.
1D Diffusion (PDE) 1D Diffusion (ODE)

1 Solution Solution 1 0.5 0 0 Space

1 10 5 Time

1 10 5 Time 0 0 1 0.5 Space

1D Diffusion Error x 10 2
4

1D Diffusion Error 0.01 0.008 0.006 0.004

Error

2 10 5 Time 0 0 1 0.5 Space

Error

0.002 0

20

40 60 80 Number of Segments

100

Figura 5.2: Soluci on del problema de difusi on de calor. Como puede verse, encontramos aqu una nueva clase de error, que llamaremos error de consistencia. Este error describe la diferencia entre la PDE original y el conjunto de ODEs resultante de la discretizaci on espacial. Evidentemente, el error de consistencia no tiene ninguna relaci on con el m etodo de integraci on que utilizamos en la integraci on num erica de las ODEs resultantes. Podemos disminuir el error de consistencia de dos maneras: aumentando el n umero de segmentos o incrementando el orden de la aproximaci on espacial en diferencias. En el primer caso el costo es aumentar la dimensi on de las ODEs resultantes y aumentar a la vez el cociente de rigidez. Veamos que ocurre si aumentamos el orden de la aproximaci on. Para ver esto, utilizaremos un esquema de quinto orden de diferencias centradas, utilizando diferencias no centradas tambi en de quinto orden para los puntos cercanos a los bordes. Resulta entonces:

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

82

u1 = exp(t/10) n (u6 6u5 + 14u4 4u3 15u2 + 10u1 ) 120 2 n2 u 3 = (u5 + 16u4 30u3 + 16u2 u1 ) 120 2 2 n u 4 = (u6 + 16u5 30u4 + 16u3 u2 ) 120 2 etc.nonumber u 2 = n (un+1 + 16un 30un1 + 16un2 un3 ) 120 2 n2 u n = (16un+1 31un + 16un1 un2 ) 120 2 n2 u n+1 = (15un+1 + 16un un1 ) 60 2 u n1 = Ahora, la matriz A resultante tiene la forma:
15 16 1 0 . . . 0 0 0 4 30 16 1 . . . 0 0 0 14 16 30 16 . . . 0 0 0 6 1 16 30 . . . 0 0 0 1 0 1 16 . . . 0 0 0 ... ... ... ... .. . ... ... ... 0 0 0 0 . . . 16 1 0 0 0 0 0 . . . 30 16 2 0 0 0 0 . . . 16 31 32 2 2

(5.29a) (5.29b) (5.29c) (5.29d) (5.29e) (5.29f) (5.29g) (5.29h)

A=

n2 120 2

. . . 1 16 30 (5.30)

0 0 0 0

Esta matriz sigue teniendo estructura de banda, pero esta banda ahora es m as ancha. Los autovalores est an tabulados en la Tabla 5.2. n=5 -0.0250 -0.2288 -0.5910 -0.7654 -1.2606 n=6 -0.0250 -0.2262 -0.6414 -0.9332 -1.3529 -1.8671 n=7 -0.0250 -0.2253 -0.6355 -1.1584 -1.4116 -2.0761 -2.5770 n=8 -0.0250 -0.2251 -0.6302 -1.2335 -1.6471 -2.1507 -2.9084 -3.3925 n=9 -0.0250 -0.2250 -0.6273 -1.2368 -1.9150 -2.2614 -3.0571 -3.8460 -4.3147

Cuadro 5.2: Distribuci on de autovalores en el modelo de difusi on. Como vemos, la distribuci on cambia poco. La Figura 5.3 muestra la ra z cuadrada del cociente de rigidez en funci on del n umero de segmentos, y lo compara con lo obtenido para la aproximaci on de tercer orden.

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES Stiness Ratio of 1D Diusion Problem


80

83

StinessRatio

70 60 50 40 30 20 10 10 15 20 25 30 35 40 45 50 3rdorder scheme 5thorder scheme

Number of Segments Figura 5.3: Dependencia del cociente de rigidez con la discretizaci on. Para el mismo n umero de segmentos, el cociente de rigidez del esquema de quinto orden es algo mayor que el de tercer orden. En cuanto a la precisi on, la Fig.5.4 muestra el error de consistencia en funci on del n umero de segmentos utilizados en la discretizaci on para los esquemas de tercer y quinto orden.
8 x 10
4

1D Diusion - Error

Consistency Error

3rdorder scheme

2 5thorder scheme

10

20

30

40

50

60

70

80

90

100

Number of Segments Figura 5.4: Error de consistencia del problema de difusi on de calor. La mejora es muy importante. De todas formas, el costo de simular el sistema de ODEs resultante con una precisi on acorde a este error de consistencia ser a mucho mayor, ya que deberemos utilizar un paso de integraci on muy pe-

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

84

que no. En s ntesis, podemos disminuir el error de consistencia ya sea aumentando el n umero de segmentos o aumentando el orden de la aproximaci on, pero de ambas formas aumentaremos el costo computacional.

5.4.

PDEs Hiperb olicas

Veamos ahora otra clase de problemas PDE, denominados hiperb olicos. El caso m as simple de estos es la ecuaci on de ondas o ley de conservaci on lineal : 2u 2u = c2 (5.31) 2 t x2 Podemos transformar f acilmente esta PDE de segundo orden en el tiempo en dos PDEs de primer orden en el tiempo: u =v t v 2u = c2 t x2

(5.32a) (5.32b)

Ahora, podr amos aproximar las derivadas espaciales mediante diferencias nitas y proceder como antes. Las Ecuaciones (5.33ae) constituyen una especicaci on completa del modelo, incluyendo condiciones iniciales y de borde. 2u 2u = ; x [0, 1] ; t [0, ) 2 t x2 x u(x, t = 0) = sin 2 u (x, t = 0) = 0.0 t u(x = 0, t) = 0.0 u (x = 1, t) = 0.0 x

(5.33a) (5.33b) (5.33c) (5.33d) (5.33e)

Para simular este problema mediante el MOL, dividiremos el eje espacial en n segmentos de ancho x = 1/n. Trabajando con la f ormula de diferencias centradas de la Ec.(5.7), y procediendo como antes con la condici on de simetr a de borde, obtenemos el siguiente conjunto de ODEs:

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

85

u1 = 0.0 u 2 = v2 etc. u n+1 = vn+1 v1 = 0.0 v 2 = n ( u3 2u2 + u1 )


2 2

(5.34a) (5.34b) (5.34c) (5.34d) (5.34e) (5.34f) (5.34g) (5.34h)

v 3 = n ( u4 2u3 + u2 ) etc. v n = n2 (un+1 2un + un1 ) v n+1 = 2n (un un+1 )


2

con condiciones iniciales: 2n u3 (0) = sin n 3 u4 (0) = sin 2n etc. u2 (0) = sin (n 1) 2n un+1 (0) = sin 2 v2 (0) = 0.0 un (0) = sin etc. vn+1 (0) = 0.0 Este sistema tiene la forma de la Ec.(5.26), donde: A= donde: 2 1 0 2 =n . . . 0 0 1 0 2 1 1 2 . . . . . . 0 0 0 0 0 0 1 . . . 0 0 ... ... ... .. . ... ... 0 0 0 . . . 0 0 0 . . . 1 2 1 0 2 2 0 0 0 . . . 0 (n ) A21 I(n) 0 (n ) (5.36) (5.35a) (5.35b) (5.35c)

(5.35d) (5.35e) (5.35f) (5.35g)

A21

(5.37)

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

86

A es una matriz con estructura de bandas de dimensi on 2n 2n con dos bandas separadas no nulas. Los autovalores est an tabulados en la Tabla 5.3. n=3 1.5529j 4.2426j 5.7956j n=4 1.5607j 4.4446j 6.6518j 7.8463j n=5 1.5643j 4.5399j 7.0711j 8.9101j 9.8769j n=6 1.5663j 4.5922j 7.3051j 9.5202j 11.0866j 11.8973j

Cuadro 5.3: Distribuci on de autovalores de la ley de conservaci on lineal. Todos los autovalores son estrictamente imaginarios. Las PDEs hiperb olicas convertidas en conjuntos de ODEs utilizando el MOL tienen siempre autovalores complejos. Muchas de ellas los tienen muy cerca del eje imaginario. En el caso de la ley de conservaci on lineal, los autovalores quedan siempre sobre el eje imaginario. La Figura 5.5 muestra el cociente de frecuencia , es decir, el cociente entre el mayor y el menor valor absoluto de la parte imaginaria de los autovalores en funci on del n umero de segmentos utilizados. Frequency Ratio of 1D Linear Conservation Law
70

Frequency Ratio

60 50 40 30 20 10 10 15 20 25 30 35 40 45 50

Number of Segments Figura 5.5: Cociente de frecuencia de la ley de conservaci on lineal. Evidentemente, el cociente de frecuencia crece linealmente con el n umero de segmentos utilizados. El problema num erico es ahora bastante distinto que el del caso parab olico. Ahora no tenemos un problema sti, y no hay transitorios r apidos que desaparezcan y que permitan aumentar el paso de integraci on, sino que deberemos utilizar todo el tiempo un paso de integraci on chico. Cuanto m as angosta sea la grilla utilizada, m as chico ser a el paso de integraci on a utilizar. Este nuevo ejemplo es muy simple y tambi en se conoce la soluci on anal tica: u(x, t) = 1 1 sin (x t) + sin (x + t) 2 2 2 2 (5.38)

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

87

Procediendo como antes, podemos comparar esta soluci on con la soluci on anal tica del conjunto de ODEs obtenido y calcular el error de consistencia. La Figura 5.6 muestra en la gr aca superior izquierda la soluci on anal tica de la PDE original. Arriba a la derecha se graca la soluci on de la ODE resultante, abajo a la izquierda el error y por u ltimo, abajo a la derecha, el error m aximo en funci on del n umero de segmentos.
1D Linear Conservation Law (PDE) 1D Linear Conservation Law (ODE)

1 Solution Solution 1 0.5 0 0 Space

1 10 5 Time

1 10 5 Time 0 0 1 0.5 Space

Consistency Error x 10 5 0 5 10 10 5 Time 0 0 1 0.5 Space Error 0.02 0.015 0.01 0.005 0 10
4

Consistency Error 0.035 0.03 0.025

Error

20 30 40 Number of Segments

50

Figura 5.6: Soluciones anal ticas de la ecuaci on de ondas 1D. El error de consistencia es mucho mayor que en los casos parab olicos anteriores. Para obtener una precisi on num erica del 1 %, el error de consistencia deber a ser no mayor que el 0.1 %, lo que requiere de utilizar al menos 40 segmentos. Como antes, podemos utilizar una discretizaci on de orden mayor en el espacio. Para el caso de quinto orden, la Figura 5.7 muestra el cociente de frecuencias en funci on del n umero de segmentos Como vemos, este es algo mayor que el cociente de frecuencias en la aproximaci on de tercer orden. La Figura 5.8 muestra el error de consistencia en funci on del n umero de segmentos utilizados en la discretizaci on. Como puede verse, la mejora es muy importante. En el caso de las PDEs parab olicas, dijimos que los m etodos de BDF eran los m as apropiados. En el caso hiperb olico sin embargo, nos deberemos inclinar m as hacia los m etodos Festables de BI.

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES Frequency Ratio of 1D Linear Conservation Law
80

88

Frequency Ratio

70 60 50 40 30 20 10 10 15 20 25 30 35 40 45 50 3rdorder scheme 5thorder scheme

Number of Segments Figura 5.7: Cociente de frecuencias de la ecuaci on de ondas.


1 0.8 0.6 0.4 0.2 0 10 x 10
4

1D Linear Conservation Law

Consistency Error

15

20

25

30

35

40

45

50

Number of Segments Figura 5.8: Error de consistencia de la ecuaci on de ondas.

5.5.

Problemas Propuestos

[P5.1] Difusi on de Calor en el Suelo Los Ingenieros Agr onomos suelen interesarse en conocer la distribuci on de temperatura en el suelo como funci on de la temperatura del aire. Como se muestra en la Fig.5.9, asumiremos que la capa del suela es de 50 cm. Bajo el suelo, hay una capa que act ua como un aislante t ermico ideal. El problema del ujo de calor puede escribirse como: 2u u = t c x2 (P5.1a)

donde = 0.004 cal cm1 sec1 K1 es la conductividad t ermica espec ca del suelo, = 1.335 g cm3 es la densidad del suelo, y c = 0.2 cal g1 K1 es la capacidad t ermica espec ca del suelo. La temperatura del aire en la supercie fue registrada cada 6 horas y las mediciones en funci on del tiempo est an tabuladas en la Tabla 5.4. Asumiremos que la temperatura de la supercie del suelo es id entica a la temperatura del aire de la supercie en todo momento. M as a un, supondremos

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

89

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Air xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Insulator xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Figura 5.9: Topolog a del suelo. t [horas] 0 6 12 18 24 36 48 60 66 72 u oC 6 16 28 21 18 34 18 25 15 4

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Soil

Cuadro 5.4: Temperatura del aire en la supercie. que la temperatura inicial del suelo en todos lados es igual a la temperatura inicial de la supercie. Especicar este problemas utilizando horas como unidad de tiempo y cent metros como unidad espacial. Discretizar el problema mediante diferencias nitas de tercer orden y simular la ODE lineal resultante. Gracar superpuesta la temperatura en la supercie y en el aislante en funci on del tiempo. Generar tambi en una gr aca tridimensional que muestre la distribuci on de la temperatura en el suelo en funci on del tiempo y el espacio [P5.2] Calentamiento El ectrico de una Barra Consideraremos una ecuaci on diferencial parcial que describe la distribuci on de la temperatura en una barra de cobre calentada de forma el ectrica. Este

50 cm

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES fen omeno puede modelarse por la siguiente ecuaci on: T = t 1 T 2T Pelectr + + r2 r r V

90

(P5.2a)

Los dos primeros t erminos representan la ecuaci on est andar de difusi on en coordinadas polares, y el t ermino constante describe el calor generado por la electricidad. = c (P5.2b)

es el coeciente de difusi on, donde = 401.0 J m1 sec1 K1 es la conductividad t ermica espec ca del cobre, = 8960.0 kg m3 es su densidad y 1 1 ermica espec ca. c = 386.0 J kg K es la capacidad t Pelectr = u i (P5.2c)

es la potencia el ectrica disipada, que supondremos constante Pelectr = 500 W, y V = R2 (P5.2d)

es el volumen de la barra de longitud = 1 m y radio R = 0.01 m. La barra est a originalmente en estado de equilibrio a la temperatura ambiente Troom = 298.0 K. Las condiciones de borde son: T r r=0.0 T r r=R = = 0.0
4 k1 T (R)4 Troom k2 (T (R) Troom )

(P5.2e) (P5.2f)

donde el t ermino de orden cuatro modela la radiaci on de calor, mientras el t ermino lineal representa el ujo de convecci on que sale de la barra. Consideraremos los valores k1 = 5.344 1011 m1 K3 y k2 = 3.1416 m1 . Queremos simular este sistema mediante el MOL con 20 segmentos espaciales (en direcci on radial), y utilizando diferencias nitas de segundo orden para las derivadas espaciales de primer orden y diferencias de tercer ordan para las de segundo orden. Para esto, trataremos las condiciones de borde del centro de la barra como una condici on de borde general y no como una condici on de simetr a para evitar las dicultades al computar el t ermino (T /r)/r, que da como resultado 0/0 en r = 0.0. Para los segmentos internos, obtenemos ecuaciones diferenciales de la forma: dTi dt Ti+1 2Ti + Ti1 Pelectr 1 Ti+1 Ti1 + + r2 r 2r V (P5.2g)

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

91

que son triviales de implementar. Para el segmento de la izquierda, tenemos la condici on: T 1 (T3 + 4T2 3T1 ) = 0.0 (P5.2h) r r=0.0 2r y luego: 4 1 (P5.2i) T2 T3 3 3 En consecuencia, no hace falta resolver una ecuaci on diferencial para r = 0.0, y evitamos la divisi on 0/0. En el segmento de la derecha, obtenemos: T1 T r
4 4 k2 (T21 Troom ) = k1 T21 Troom r =R

1 (3T21 4T20 + T19 ) 2r (P5.2j)

Luego, tenemos una ecauci on no lineal en T21 :


4 4 Troom F (T21 ) = k1 T21 + k2 (T21 Troom ) +

0.0

1 (3T21 4T20 + T19 ) 2r (P5.2k)

que puede resolverse mediante la iteraci on de Newton:


0 T21 (t) 1 T21 (t) 2 T21 (t)

= T21 (t h) 0 F (T21 ) 0 = T21 (t) 0 ) H(T21 1 F (T21 ) 1 = T21 (t) 1 ) H(T21 hasta convergencia F 3 3 = 4k1 T21 + k2 T21 2r

(P5.2l) (P5.2m) (P5.2n)

donde: H(T21 ) =

(P5.2 n)

Se pide entonces simular el sistema descripto durante 50 seg utilizando el m etodo de BDF4. [P5.3] Simulaci on del Lecho de un R o Un problema muy com un en la ingenier a hidr aulica es determinar el movimiento de los lechos de los r os con el tiempo. La din amica de estos sistemas puede describirse mediante la PDE: v h z v +v +g +g = w(v ) t x x x (P5.3a)

donde v (x, t) es el valor absoluto de la velocidad del ujo de agua, h(x, t) es la profundidad del agua, y z (x, t) es la altura relativa del lecho del r o relativo a un nivel constante. g = 9.81 m sec2 es la constante de la gravedad. w(v ) es la fricci on del agua sobre el lecho del r o:

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES g v2 h4/3

92

w(v ) =

s2 k

(P5.3b)

donde sk = 32.0 m3/4 sec1 es la constante de Strickler. La ecuaci on de continuidad para el agua puede escribirse como: h v h +v +h = 0.0 (P5.3c) t x x y la ecuaci on de continuidad para el lecho del r o puede expresarse como: z df (v ) v + = 0.0 (P5.3d) t dv x donde f (v ) es la ecuaci on de transporte de MeyerPeter simplicada mediate an alisis de regresi on: f (v ) = f0 + c1 (v v0 )c2
4

(P5.3e)

donde c1 = 1.272 10 m, y c2 = 3.5. Queremos estudiar el r o Rin a la altura de Basilea sobre una distancia de 6.3 km. Simularemos este sistemas durante 20 d as, con las condiciones iniciales tabuladas en la Tabla 5.5. x [m] 0.0 630.0 1260.0 1890.0 2520.0 3150.0 3780.0 4410.0 5040.0 5670.0 6300.0 v [m/s] 2.3630 2.3360 2.2570 1.6480 1.1330 1.1190 1.1030 1.0620 0.8412 0.7515 0.8131 h [m] 3.039 3.073 3.181 4.357 6.337 6.416 6.509 7.001 8.536 9.554 8.830 z [m] 59.82 59.06 58.29 56.75 54.74 54.60 54.45 53.91 52.36 51.33 52.02

Cuadro 5.5: Datos iniciales para la simulaci on del lecho del rio. Necesitamos adem as tres condiciones de borde. Asumiremos que la cantidad de agua amount of water q = h v que entra en el segmento de rio que estamos simulando es constante. Por simplicidad, asumiremos que h y v son constantes. En el nal del segmento, hay una presa. Por lo tanto, podemos asumir que la suma de z y h es constante en la parte mas baja del segmento de r o simulado. Dado que el agua se mueve mucho m as r apido que el lecho, no tiene mucho sentido aplicar condiciones de borde al lecho. Este sistema es bastante complicado. Las constantes de tiempo del agua se miden en segundos, mientras que las de la tierra se miden en dias. Si bien

CAP ITULO 5. ECUACIONES EN DERIVADAS PARCIALES

93

estamos interesados en las constantes de tiempo lentas, son las r apidas las que dictaminan el paso de integraci on. Podemos pensar que las dos primeras PDEs generan una funci on no lineal para la tercera. Modicaremos entonces la Ec.(P5.3d) como sigue: df (v ) v z + = 0.0 (P5.3f) t dv x Cuanto m as grande seleccionamos el par ametro de ajuste, mas r apido se mover a el lecho del rio. Seleccionaremos un valor alrededor de = 100 o incluso = 1000. Luego, deberemos analizar el da no que hicimos a la PDE al introducir este par ametro de ajuste. Quiz as, podremos extrapolar hacia el comportamiento correcto del sistema en = 1.0. La tercera condici on de borde es anal ticamente correcta, pero num ericamente no muy efectiva. Podemos entonces eliminar esta condici on e introducir otra condici on de borde para el tramo inicial: z = constante (P5.3g) x Sin embargo, dado que no podemos especicar una condici on de derivada de borde para una ecuaci on de primer orden, reformulamos la Ec.(P5.3g) seg un: z1 = z2 + constante (P5.3h)

Dibujar la altura del lecho del rio z (x) medida al nal de cada per odo de 5 d as superpuesto en una misma gr aca. Correr luego la simulaci on para diferentes valores de . Puede extrapolarse y obtener una aproximaci on de la soluci on para = 1.0?

Cap tulo 6

Integraci on de Ecuaciones Diferenciales Algebraicas


Este cap tulo es principalmente una traducci on resumida del cap tulo 8 del libro Continuous System Simulation [2]. Sin embargo, en este caso hay varios cambios, sobre todo en la introducci on.

6.1.

Introducci on

En el problema [P5.2], tras aplicar el MOL a una Ecuaci on en Derivadas Parciales, nos encontramos con la siguiente Ecuaci on Diferencial Algebraica (DAE): dTi dt Ti+1 2Ti + Ti1 Pelectr 1 Ti+1 Ti1 + + r2 r 2r V (6.1)

para i = 2, . . . , 20, donde adem as ten amos T1 = y


4 4 F (T21 ) = k1 T21 Troom + k2 (T21 Troom ) +

4 1 T2 T3 3 3

(6.2)

0.0

1 (3T21 4T20 + T19 ) 2r (6.3)

Para simular este problema, lo que hicimos fue implementar una iteraci on de ltima ecuaci on y luego utilice este valor para Newton que encuentre T21 de esta u i calcular las derivadas dT abamos evaluar estas dt . Es decir, cada vez que necesit derivadas, deb amos primero invocar la iteraci on de Newton para calcular T21 . Adem as, como el problema era sti (proven a de una ecuaci on parab olica), deb amos utilizar un m etodo impl cito (en el problema sugerimos utilizar BDF4). Por lo tanto, necesit abamos una segunda iteraci on de Newton sobre muchas 94

DE ECUACIONES DIFERENCIALES ALGEBRAICAS95 CAP ITULO 6. INTEGRACION variables en cada paso. Si adem as hubi eramos utilizado alg un tipo de control de paso, habr amos tenido tambi en que rechazar algunos pasos al achicar el paso de integraci on, lo que constituir a un tercer proceso iterativo. Estos tres procesos iterativos anidadeos se ilustran en la Fig.6.1.
error controlled simulation

fixed step/order simulation

model containing algebraic loops

Newton iteration

state equations x numerical integration algorithm x

Newton iteration

step size and order control

h, order

Figura 6.1: Los tres lazos de la simulaci on. Ahora bien, es realmente necesario realizar todos estos procesos iterativos?. La causa de la primer iteraci on (para obtener T21 ) es la necesidad de calcular expl citamente las derivadas. Veamos que ocurre si trabajamos directamente sobre una versi on impl cita del modelo. En nuestro caso, el modelo tiene la forma: f (x, x , t) = 0.0 (6.4)

donde x = [T2 , . . . , T21 ]T (notar que T21 no es realmente una variable de estados, y no podemos asignarle una condici on inicial arbitraria, sino que debe ser consistente ). La funci on f puede deducirse f acilmente a partir de las Ecs.(6.1) (6.3).

DE ECUACIONES DIFERENCIALES ALGEBRAICAS96 CAP ITULO 6. INTEGRACION Si decidimos utilizar el m etodo de Backward Euler: k +1 xk+1 = xk + h x podemos primero despejar x k +1 : x k +1 = 1 [xk+1 xk ] h (6.6) (6.5)

y reemplazar con esta u ltima ecuaci on en la Ec.(6.4): f (xk+1 , 1 [xk+1 xk ] , t) = 0.0 h (6.7)

obteniendo as una u nica ecuaci on vectorial no lineal con el vector inc ognita xk+1 , de la forma: F (xk+1 ) = 0.0 (6.8) que puede resolverse directamente mediante la iteraci on de Newton:
1 1 xk+ F +1 = xk+1 (H )

(6.9)

donde: H=

F xk+1

(6.10)

De esta manera, pudimos reducir el problema a una u nica iteraci on que incluye las iteraciones del m etodo impl cito y las iteraciones propias de la denici on impl cita del modelo. Esta idea, que fue propuesta por primera vez por Bill Gear en 1971, es la que vamos a analizar en m as detalle en el resto del cap tulo.

6.2.

M etodos Monopaso

En principio, la formulaci on DAE de todos los m etodos monopaso es trivial, y no diere de lo hecho anteriormente para el m etodo de Backward Euler. Por ejemplo, una formulaci on DAE del m etodo expl cito RK4 puede implementarse de la siguiente forma: f (xk , k1 , tk ) = 0.0 f f xk + h k1 , k2 , tk + 2 h xk + k2 , k3 , tk + 2 h 2 h 2 = 0.0 = 0.0

f (xk + hk3 , k4 , tk + h) = 0.0 h xk+1 = xk + (k1 + 2k2 + 2k3 + k4 ) 6 Esta es ex actamente la misma f ormula que utilizamos en el Cap tulo 3, salvo que ahora la evaluaci on de los t erminos ki requiere de iteraciones de Newton.

DE ECUACIONES DIFERENCIALES ALGEBRAICAS97 CAP ITULO 6. INTEGRACION En general, esto es demasiado costoso, y su uso no se justica. Algo similar ocurre si utilizamos m etodos tipo BI, o tipo BRK. La cantidad de evaluaciones de la funci on a causa de la iteraci on se hace innecesariamente grande. Una familia de m etodos que son particularmente aptos para DAEs son los denominados algoritmos de RungeKutta completamente impl citos. Veamos por ejemplo los m etodos denominados Radau IIA, que pueden representarse por las siguientes tabla de Butcher: 1/3 1 x
4 6 10 4+ 6 10

5/12 3/4 3/4

-1/12 1/4 1/4


2+3 6 225 23 6 225 1 9 1 9

1 x

887 6 360 296+169 6 1800 16 6 36 16 6 36

296169 6 1800 88+7 6 360 16+ 6 36 16+ 6 36

El primer m etodo es un m etodo de RungeKutta completamente impl cito de tercer orden en dos etapas, mientras que el segundo es de quinto orden en tres etapas. El m etodo de tercer orden puede interpretarse, en el caso de una ODE expl cita, de la siguiente forma: 5h h h h k1 k2 , u(tk + ), tk + 12 12 3 3 3h h k1 + k2 , u(tk + h), tk + h k2 = f xk + 4 4 h xk+1 = xk + (3k1 + k2 ) 4 k1 = f xk + En el caso DAE, el m etodo queda: 5h h h k1 k2 , k1 , tk + = 0.0 12 12 3 3h h k1 + k2 , k2 , tk + h = 0.0 f xk + 4 4 h xk+1 = xk + (3k1 + k2 ) 4 f xk + (6.12a) (6.12b) (6.12c) (6.11a) (6.11b) (6.11c)

En este caso, tenemos que iterar para obtener las inc ognitas: k1 y k2 . Es decir, tenemos que resolver simult aneamente un conjunto de 2n ecuaciones no lineales con 2n inc ognitas. Como veremos luego, los m etodos de Radau IIA son sti estables. La ventaja es que el costo computacional que tienen es pr acticamente el mismo para el caso ODE que para el caso DAE.

DE ECUACIONES DIFERENCIALES ALGEBRAICAS98 CAP ITULO 6. INTEGRACION Una consideraci on importante es que para iterar y obtener ki , necesitamos comenzar la iteraci on desde un valor inicial cercano al de ki . Como los ki eval uan la derivada x , lo que en realidad necesitamos es estimar la derivada inicial, y comenzar las iteraciones desde la condici on inicial: (t0 ) k1 = k2 = x (6.13)

on impl cita de BackUna forma de estimar x (t0 ) es dando un paso con la versi ward Euler descripta en la introducci on, y calcular x (t0 ) (x1 x0 )/h. En cuanto a la regi on de estabilidad de los m etodos de Radau IIA, es importante mencionar que la misma no depende de que la formulaci on sea impl cita o expl cita. Por lo tanto, podemos analizar directamente el caso ODE dado por las Ecs.(6.11ac), para la ODE lineal: x = Ax de donde obtenemos: 5h h k1 k2 12 12 3h h k1 + k2 k2 = A xk + 4 4 h xk+1 = xk + (3k1 + k2 ) 4 k1 = A xk + y despejando las inc oginatask1 y k2 : k1 = I
(n )

(6.14)

(6.15a) (6.15b) (6.15c)

2Ah (Ah)2 + 3 6 2Ah (Ah)2 + 3 6

I(n)
1

Ah 3 Ah 3

A xk A xk

(6.16a) (6.16b) (6.16c)

k2 = I(n) xk+1 = xk + de donde:

I(n) +

h (3k1 + k2 ) 4
1

F = I(n) + I(n)

2Ah (Ah)2 + 3 6

I(n)

Ah 6

(Ah)

(6.17)

Desarrollando el denominador en series de Taylor en torno a h = 0.0, queda: F I(n) + Ah + (Ah)3 (Ah)4 (Ah)2 + + 2 6 36 (6.18)

Es evidente que el m etodo tiene una precisi on de tercer orden (al menos para el caso lineal), y el coeciente de error es: = 1 (Ah)4 72 (6.19)

DE ECUACIONES DIFERENCIALES ALGEBRAICAS99 CAP ITULO 6. INTEGRACION Procediendo de manera similar con el m etodo de Radau IIA de 5to orden, obtenemos la matriz F: F = I(n) + I(n) (Ah)3 3Ah 3(Ah)2 + 5 20 60
1

I(n)

Ah (Ah)2 + 10 60

Ah

(6.20) Desarrollando el denominador en serie de Taylor en torno a h = 0.0, resulta: F I(n) + Ah + (Ah)3 (Ah)4 (Ah)5 11(Ah)6 (Ah)2 + + + + 2 6 24 120 7200 (6.21)

Luego, el m etodo es efectivamente de quinto orden (al menos para casos lineales) y el coeciente de error es: 1 = (Ah)6 (6.22) 7200 Otro m etodo que se utiliza frecuentemente es el algoritmo de Lobatto IIIC, un m etodo de RK completamente impl cito de 4to orden en tres etapas, con tabla de Butcher: 0 1/2 1 x 1/6 1/6 1/6 1/6 -1/3 5/12 2/3 2/3 1/6 -1/12 1/6 1/6

Este m etodo se caracteriza por la matriz F: F = I(n) + I(n) 3Ah (Ah)2 (Ah)3 + 4 4 24
1

I(n)

Ah (Ah)2 + 4 24

Ah

(6.23) Desarrollando el denominador en series de Taylor en torno a h = 0.0, resulta: F I(n) + Ah + (Ah)3 (Ah)4 (Ah)5 (Ah)2 + + + 2 6 24 96 (6.24)

Luego, el m etodo es efectivamente de cuarto orden, y el coeciente de error es: = 1 (Ah)5 480 (6.25)

Las regiones de estabilidad de los tres m etodos se muestran en la Fig.6.2. Los tres m etodos tienen muy buenas regiones de estabilidad. En principio tienen un costo relativamente elevado: Radau IIA(3) debe iterar sobre dos evaluaciones de la funci on. Suponiendo que se necesitan en promedio cuatro iteraciones de Newton para la convergencia, esto implica que haya aproximadamente ocho evaluaciones por paso. Razonando de manera an aloga, Lobatto IIIC(4) y Radau IIA(5) necesitan 12 evaluaciones por paso. Sin embargo, los m etodos tienen una regi on de precisi on muy buena y permiten utilizar pasos de integraci on muy grandes.

DE ECUACIONES DIFERENCIALES ALGEBRAICAS100 CAP ITULO 6. INTEGRACION Stability Domains of IRK


8 Radau IIA(5) Lobatto IIIC(4) 4 Radau IIA(3)

Im{ h}

8 4 2 0 2 4 6 8 10 12 14 16

Re { h } Figura 6.2: Dominios de estabilidad de algoritmos de RK completamente impl citos.

6.3.

F ormulas Multipaso

En los m etodos monopaso encontramos ventajas al utilizar la formulaci on DAE para resolver problemas sti. El motivo era que pod amos unir en una u nica iteraci on las correspondientes al modelo y al m etodo impl cito. Entre los m etodos que analizamos, encontramos ventajas con los m etodos de RK completamente impl citos, ya que eran sti estables y ten an pocas evaluaciones de la funci on f (y por ende un problema de iteraciones m as peque no). En el caso de los m etodos multipaso, esto nos lleva a considerar directamente los m etodos de BDF, ya que requieren s olo una evaluaci on de la funci on f y son sti estables. Consideremos por ejemplo el m etodo de BDF3: xk+1 = 6 18 9 2 hx k+1 + xk xk1 + xk2 11 11 11 11 (6.26)

La idea, como antes, es despejar x k+1 y reemplazarla en el modelo impl cito (6.4). En este caso, obtenemos: x k +1 = 1 11 3 1 xk+1 3xk + xk1 xk2 h 6 2 3 (6.27)

Colocando la Ec.(6.27) dentro de la Ec.(6.4) evaluada para xk+1 obtenemos,

DE ECUACIONES DIFERENCIALES ALGEBRAICAS101 CAP ITULO 6. INTEGRACION como en caso de Backwar Euler, una ecuaci on no lineal vectorial en la inc ognita xk+1 : F (xk+1 ) = 0.0 (6.28) que puede resolverse directamente mediante la iteraci on de Newton. La u nica diferencia con el m etodo de BE en su formulaci on impl cita es que en de valores anteriores la funci on impl cita F depende no s olo de xk sino tambi del estado, pero la resoluci on tiene pr acticamente el mismo costo: hay que iterar sobre n ecuaciones con n inc ognitas. Claramente, el costo de un paso con la versi on impl cita de cualquier m etodo BDFn es mucho menor que el de los m etodos de RK completamente impl citos. Sin embargo, en general, al igual que en el caso ODE, los m etodos de RK permiten utilizar pasos m as grandes. Tambi en, al igual que en las ODEs, los m etodos de BDF no pueden arrancar por s mismos (ya que requieren de varios valores pasados del estado). Una buena alternativa para arrancar los m etodos es utilizar los m etodos de RK completamente impl citos que vimos en la secci on anterior. En cuanto a la estabilidad de los m etodos de BDF en su formulaci on DAE, las regiones son id enticas a las de los m etodos en su formulaci on ODE.

6.4.

Problemas Propuestos

[P6.1] Calentamiento El ectrico de una Barra II Considerar nuevamente el Problema P5.2. En este caso, se pide resolverlo utilizando directamente la formulaci on DAE del m etodo de BDF4. Comparar los resultados y los tiempos de ejecuci on con los obtenidos utilizando la formulaci on ODE de BDF4 con la iteraci on de Newton dentro del modelo (como se hizo en el Problema P5.2). Luego, sobre el mismo modelo, simular utilizando los m etodos de Radau IIA(3) y Radau IIA(5) y comparar los resultados y los tiempos de ejecuci on.

[P6.2] Control de Paso en Radau IIA(5) Implementar alg un algoritmo de control de paso para el m etodo de Radau IIA(5).

Cap tulo 7

Simulaci on de Sistemas Discontinuos


Este cap tulo es en parte una traducci on resumida del Cap tulo 9 del libro Continuous System Simulation [2]. En este caso hay varios ejemplos distintos que en el caso del libro.

7.1.

Introducci on

Todos los algoritmos de integraci on utilizados se basan, expl cita o impl citamente, en expansiones de Taylor. Las trayectorias siempre se aproximan mediante polinomios o mediante funciones racionales en el paso h en torno al tiempo actual tk . Esto trae problemas al tratar con modelos discontinuos, ya que los polinomios nunca exhiben discontinuidades, y las funciones racionales s olo tienen polos aislados, pero no discontinuidades nitas. Entonces, si un algoritmo de integraci on trata de integrar a trav es de una discontinuidad, sin dudas va a tener problemas. Dado que el paso h es nito, el algoritmo de integraci on no reconoce una discontinuidad como tal. Lo u nico que nota es que la trayectoria de pronto cambia su comportamiento y act ua como si hubiera un gradiente muy grande. Esto es, el algoritmo ver a lo mismo que ocurre cuando aparece un autovalor muy r apido (es decir, lejos a la izquierda del semiplano complejo). Si el algoritmo tiene control de paso, actuar a reduciendo el paso de integraci on para atrapar al autovalor dentro de su dominio de estabilidad (o de precisi on). Sin embargo, este autovalor virtual nunca quedar a dentro del dominio de estabilidad. Finalmente, ocurrir a o bien que el paso se reducir a al m nimo valor tolerado, o bien que falle el control de error. En consecuencia (si el control de error no falla de manera grosera), la discontiuidad se pasar a con un paso muy peque no y desaparecer a, y a partir de ese momento podr a agrandarse nuevamente el paso de integraci on. 102

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

103

De esta manera, los algoritmos con control de paso pueden tratar directamente las discontiunidades, aunque muchas veces esto falla. La Figura 7.1 ilustra como los algoritmos de control de paso manejan las discontinuidades. log(h)

t discontinuities Figura 7.1: Manejo de discontinuidades mediante control de paso.

7.2.

Dicultades B asicas

La siguiente ecuaci on es un modelo muy simple de una pelotita que rebota contra el piso: x (t) =v (t) 1 v (t) = g sw (t) (k x(t) + b v (t)) m donde sw = 0 1 si x(t) > 0 en otro caso (7.2) (7.1a) (7.1b)

En este modelo, estamos considerando que cuando x(t) > 0 la pelotita est a en el aire y responde a una ecuaci on de ca da libre (sw = 0). Cuando la pelotita entra en contacto con el piso, en cambio, sigue un modelo masaresorteamortiguador, lo que produce el rebote. En este caso, consideramos par ametros m = 1, b = 30, k = 1 106 y g = 9.81. Decidimos simular este sistema utilizando el m etodo de RK4, durante 5 segundos, a partir de la condici on inicial x(0) = 1, v (0) = 0. Esta situaci on corresponde a soltar la pelotita desde 1 metro de distancia del piso. Comenzamos a tener resultados decentes con un paso de integraci on h = 0.002. En la Fig 7.2

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

104

se muestran los resultados de la simulaci on con pasos h = 0.002, h = 0.001 y h = 0.0005.


1.2

h = 0.001

0.8

h = 0.0005
0.6

x(t)

0.4

h = 0.002

0.2

0.2

0.5

1.5

Tiempo

2.5

3.5

4.5

Figura 7.2: Simulaci on con RK4 de la pelotita rebotando. Evidentemente, no podemos conar en los resultados de esta simulaci on. La del paso m as peque no parecer a m as precisa, pero no hay manera de asegurarlo por el momento. Mirando el comienzo de la simulaci on, no hay error apreciable hasta el primer pique. Evidentemente, el problema tiene que ver con la discontinuidad. Veamos que ocurre en tanto si utilizamos un m etodo de paso variable. Para esto, utilizamos un m etodo de RK de segundo orden (la regla expl cita del punto medio, que ya vimos en el cap tulo 3), y para controlar el paso utilizaremos el mismo m etodo implementado con dos semipasos de h/2. El m etodo tendr a orden 2, y el t ermino del error ser a de orden 3. Por lo tanto, lo llamaremos RK23. En la Fig 7.3 se pueden apreciar los resultados con RK23 utilizando las toleracias relativas 103 , 104 y 105 . De nuevo, los resultados son desalentadores. Si bien algunos piques se resuelven bien (al menos el m etodo hace lo mismo con las tres tolerancias), en otros piques el error se torna inaceptable. El problema de las simulaciones que hicimos es que en algunos pasos los m etodos integraban a trav es de una discontinuidad. Es decir, calcul abamos como si tuvi eramos una funci on continua entre tk y tk + h, pero en realidad en el medio a una discontinuidad. (en alg un punto t en dicho intervalo) ocurr La forma de evitar esto es en principio muy simple: lo que necesitamos es un m etodo de paso variable que de un paso exactamente en el instante t en el que ocurre la discontinuidad. De esa forma, estaremos integrando una funci on

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION


3

105

tol = 0.001
2.5

tol = 0.0001
1.5

x(t)

tol = 0.00001
1

0.5

0.5

0.5

1.5

Tiempo

2.5

3.5

4.5

Figura 7.3: Simulaci on con RK23 de la pelotita rebotando. continua antes de t y otra funci on continua despu es de t . Este es el principio b asico de todos los m etodos que realizan manejo de discontinuidades. Comenzaremos entonces distinguiendo los distintos tipos de discontinuidades que pueden ocurrir en un sistema y la manera de tratarlas.

7.3.

Eventos Temporales

El circuito de la Fig. 7.4 es un elevador de tensi on, utilizado para conseguir una tensi on continua superior a la de alimentaci on. L

+
U

C sw (t)

Rl

Figura 7.4: Circuito Elevador. En este circuito, la llave se cierra y se abre peri odicamente, y la tensi on

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

106

on entre el tiempo que est a cerrada y el sobre la carga Rl depende de la relaci tiempo que permanece abierta. Por otro lado, cuanto m as alta es la frecuencia de conmutaci on, mas continua resulta la tensi on de salida. Un modelo simplicado de las ecuaciones que rigen la din amica de este circuito es el siguiente: L (t) = 1 (U sw (t) vC (t)) i L 1 vC (t) v C (t) = (sw (t) iL (t) ) C Rl

(7.3a) (7.3b)

donde iL es la corriente por la bobina, vC es la tensi on en el capacitor, U es la tensi on continua de alimentaci on y sw (t) vale 1 (llave abierta) o 0 (llave cerrada). Una forma t pica de denir la se nal sw (t) es la siguiente: sw (t) = 0 si t f int(t f ) < 1 en otro caso (7.4)

donde 0 1 es el ciclo activo de la llave, es decir, la fracci on de per odo que permanece cerrada y f es la frecuencia de conmutaci on. Notar que la llave permanece cerrada entre 0 y /f , abierta entre /f y 1/f , nuevamente cerrada entre 1/f y (1 + )/f , etc. En este caso las discontinuidades son debidas a la conmutaci on de la posici on de la llave. En las ecuaciones, las discontinuidades se maniestan por los saltos en el valor de sw (t). Aqu , utilizando la Ec.(10.48) podemos saber de antemano cuando conmutar a la llave. Este tipo de discontinuidades en las cuales se conoce con cierta anticipaci on el tiempo exacto de su ocurrencia se denominan eventos temporales. La forma de tratar eventos temporales es muy sencilla. Dado que conocemos cuando ocurrir an, s mplemente debemos avisarle al algoritmo de integraci on el tiempo de ocurrencia de los mismos. El algoritmo deber a entonces agendar dichos eventos y cada vez que de un paso deber a tener cuidado de no saltearse ninguno. Cada vez que el paso de integraci on h a utilizar sea mayor que el tiempo que falta para el siguiente evento, deber a utilizar un paso de integraci on que sea exactamente igual al tiempo para dicho evento. Notar que ninguna discontinuidad tiene lugar mientras el evento es localizado. La discontinuidad no se debe codicar directamente en el modelo, sino s olo la condici on para que esta ocurra. As , las trayectorias vistas por el m etodo de integraci on ser an perfectamente continuas. Una vez que el tiempo del siguiente evento ha sido localizado, la simulaci on continua se debe detener por un momento y se debe actualizar la parte discreta del modelo. De esta manera, una corrida de simulaci on de un modelo discontinuo puede interpretarse como una secuencia de varias corridas de simulaciones continuas separadas mediante eventos discretos.

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

107

7.4.

Eventos de Estado

Muy frecuentemente, el tiempo de ocurrencia de una discontinuidad no se conoce de antemano. Por ejemplo, en la pelotita rebotando, no se conoce el tiempo en el que se producen los piques. Todo lo que sabemos es que los piques se dan cuando la altura es cero. Es decir, conocemos la condici on del evento en lugar del tiempo del evento. Las condiciones de los eventos se suelen especicar como funciones de cruce por cero, que son funciones que dependen de las variables de estado del sistema y que se hacen cero cuando ocurre una discontinuidad. En el caso de la pelotita rebotando, una posible funci on de cruce por cero es F0 (x, v ) = x. Decimos que ocurre un evento de estado cada vez que una funci on de cruce por cero cruza efectivamente por cero. En muchos casos, puede haber varias funciones de cruce por cero. Las funciones de cruce por cero deben evaluarse continuamente durante la simulaci on. Las variables que resultan de dichas funciones normalmente se colocan en un vector y deben ser monitoreadas. Si una de ellas pasa a trav es de cero, debe comenzarse una iteraci on para determinar el tiempo de ocurrencia del cruce por cero con una precisi on predeterminada. As , cuando una condici on de evento es detectada durante la ejecuci on de un paso de integraci on, debe actuarse sobre el mecanismo de control de paso del algoritmo para forzar una iteraci on hacia el primer instante en el que se produjo el cruce por cero durante el paso actual. Una vez localizado este tiempo, la idea es muy similar a la del tratamiento de eventos temporales.

7.4.1.

M ultiples Cruces por Cero

La Figura 7.5 muestra un proceso de iteraci on sobre condiciones de eventos, suponiendo que durante el paso tuvieron lugar varios cruces por cero. En la gura vemos tres funciones distintas de cruce por cero, f1 , f2 , y f3 . En el instante tk = 1.0, f1 es positiva, mientras f2 y f3 son negativas. Hacemos un paso de longitud h = 3.0. En tk+1 = 4.0, f1 es a un positiva, pero ahora tambi en f2 y f3 son positivas, por lo que hubo dos cruces por cero en este paso de integraci on. Entonces conectamos los extremos de las funciones que cruzaron por cero con una linea recta y elegimos el menor de dichos instantes como el pr oximo punto del tiempo. Matem aticamente: n tnext = m
i

fi (tk+1 ) tk fi (tk ) tk+1 fi (tk+1 ) fi (tk )

(7.5)

donde i corresponde a cada funci on con cruce por cero en dicho intervalo. Luego de esto, repetimos el u ltimo paso con una longitud de h = tnext tk . Si durante el paso desde tk hasta tnext no hubo cruces, utilizaremos tnext en lugar de tk y repetiremos el algoritmo utilizando lo que resta del intervalo.

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION Zerocrossing functions Zerocrossing functions Iteration of state events by Regula Falsi
3 2 1 0 1 2

108

f1

f2 f3
0 0.5

tk

1.5

2.5

3.5

Time [sec]

tk+1

3 2 1 0 1 2

f1

f2 f3
0 0.5

tk

1.5

2.5

3.5

Time [sec]

tk+1

Figura 7.5: Iteraci on con Regula Falsi. Si tuvo lugar m as de un cruce por cero, lo que haremos es reducir tk+1 a tnext , y aplicaremos nuevamente el algoritmo sobre el intervalo reducido. Si tuvo lugar exactamente un cruce por cero podr amos seguir de la misma forma, sin embargo podremos tambi en aplicar m etodos para encontrar un u nico cruce por cero (que veremos luego son m as ecientes que este m etodo). Este algoritmo converge siempre, pero no se puede estimar en principio cuantas iteraciones son necesarias hasta alcanzar cierta precisi on. Adem as, la convergencia suele ser lenta. Otro algoritmo que se suele usar en lugar de Regula Falsi es el de la Bisecci on. La ventaja de este m etodo es que en cada iteraci on el intervalo se reduce en una fracci on ja (a la mitad). As , el intervalo se reduce de manera bastante r apida. Una vez que el algoritmo de iteraci on se dispara por varios cruces por cero en un paso, el intervalo se subdivide calculando un paso longitud h/2, comenzando desde el instante tk . De esta forma, el intervalo se subdivide en dos subintervalos. Si no hay cruces en el subintervalo de la izquierda, entonces ese intervalo se puede descartar, o sea, tk se actualiza a tk + h/2. Si hay varios cruces por cero en el subintervalo de la izquierda, entonces el subintervalo de la derecha se puede descartar, y tk+1 se lleva a tk + h/2. Una vez actualizado tk o tk+1 se puede repetir el procedimiento. En cada iteraci on el intervalo se reduce a la mitad. Por u ltimo, cuando hay exactamente un cruce por cero en el subintervalo de la izquierda, entonces tk+1 se actualiza a tk + h/2, y se puede continuar con cualquiera de los algorimos para encontrar cruces por cero individuales.

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

109

7.4.2.

Cruces por Cero Simples. M etodos Monopaso

Cualquiera de los m etodos vistos para aislar cruces por cero puede utilizarse para encontrar el tiempo del primer cruce por cero. De todas formas, esto puede ser ineciente ya que s olo ofrecen velocidad de convergencia lineal. Todas las variables de la simulaci on en un modelo en ecuaciones de estado puede ser expresado en t erminos de las variables de estado y de las entradas. Esto vale tambi en para las funciones de cruce por cero. Por lo tanto, adem as de los valores de las funciones de cruce por cero podemos conocer sus derivadas. Un primer algoritmo que explota esta posibilidad es la iteraci on de Newton. La Figura 7.6 muestra esta idea. Zerocrossing function Zerocrossing function Iteration of state events by Newton iteration
2 1

f
2 0 0.5 1 1.5 2 2.5 3 3.5 4

tk
2

Time [sec]

tk+1

f
2 0 0.5 1 1.5 2 2.5 3 3.5 4

tk

Time [sec]

tk+1

Figura 7.6: Iteraci on sobre una funci on de cruce por cero simple mediante Newton. Una vez que la funci on queda aislada, se puede utilizar tk o tk+1 como punto inicial de la iteraci on de Newton. Lo bueno es que la convergencia tiene velocidad cuadr atica, pero lamentablemente no se puede garantizar que la iteraci on siempre converja. Por este motivo, no se suele utilizar. Un enfoque mejor podr a ser utilizar los valores de las derivadas en ambos aneamente. Dado que tenemos acceso a extremos del intervalo [tk , tk+1 ] simult cuatro piezas de informaci on: fk , dfk /dt, fk+1 , y dfk+1 /dt, podemos ajustar un polinomio de tercer orden sobre las mismas y resolver para encontrar sus raices. El polinomion de interpolaci on puede escribirse como: p(t) = a t3 + b t2 + c t + d (7.6)

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION y la derivada es: p (t) = 3a t2 + 2b t + c Luego, podemos utilizar la informaci on que tenemos como sigue:
2 p(tk ) = a t3 k + b t k + c tk + d = f k

110

(7.7)

(7.8a) = fk+1 = hk+1 (7.8b) (7.8c) (7.8d)

p(tk+1 ) = a p (tk ) = 3a p (tk+1 ) = 3a

2 t3 k+1 + b tk+1 + c tk+1 + d t2 k + 2 b tk + c = f k = h k t2 k+1 + 2b tk+1 + c = fk+1

que puede escribirse en forma matricial como: 3 fk t2 tk tk k 2 fk+1 t3 t t k+1 k+1 k+1 h k = 3 t2 2 tk 1 k 3 t2 hk+1 2 t 1 k+1 k+1

1 a b 1 0 c 0 d

(7.9)

La Ec. 7.9 puede entonces resolverse para despejar los coecientes desconocidos a, b, c, y d. La Figura 7.7 ilustra el m etodo. Iteration of state events by cubic interpolation Zerocrossing function
6 4

f
2 0 0.5

tk

1.5

2.5

3.5

Time [sec]

tk+1

4.5

Figura 7.7: Iteraci on en una funci on de cruce por cero simple utilizando interpolaci on c ubica. Este m etodo converge m as r apido que la iteraci on de Newton, ya que tiene velocidad de convergencia c ubica. M as a un, se puede garantizar que siempre converge. El polinomio c ubico siempre tiene al menos una soluci on real en el intervalo [tk , tk+1 ]. Puede incluso haber tres soluciones reales en el intervalo. En tal caso, cualquiera de las tres puede utilizarse como pr oximo tiempo de evaluaci on, tnext .

7.4.3.

Cruces por Cero Simples, M etodos Multipaso

En el caso de algoritmos multipaso, podemos hacer algo a un mejor. Al nal del paso que activ o la condici on del evento, es decir, en el instante tk+1 ,

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION conocemos el vector de Nordsieck. Luego, podemos escribir: 2 2 ) =Fi (tnext ) = Fi (tk+1 ) + h dFi (tk+1 ) + h d Fi (tk+1 ) F (h dt 2 dt2 3 3 h d Fi (tk+1 ) + + = 0.0 6 dt3

111

(7.10)

que puede resolverse mediante la iteraci Esto es funci on de la inc ognita h on de Newton. Comenzamos con: 0 = 0.5 (tk tk+1 ) h e iteramos: h donde:
2 2 3 ) = dF (h) = dFi (tk+1 ) + h d Fi (tk+1 ) + h d Fi (tk+1 ) + . . . H(h dt dt2 2 dt3 dh +1

(7.11)

=h

) F (h ) H(h

(7.12)

(7.13)

Mediante esta t ecnicas, podemos determinar el tiempo del cruce en un s olo paso con la misma precisi on que la integraci on.

7.5.

Estados Discretos y Condiciones Iniciales Consistentes

La Figura 7.8 muestra una funci on seccionalmente lineal con tres segmentos. En la regi on de la izquierda, se trata de y = a1 x + b1 , en la del centro, y = a2 x + b2 , y en la de la derecha, y = a3 x + b3 . Tradicionalmente, describir amos esta funci on de la siguiente forma:
if x < x1 then y = a1 x + b1 else if x < x2 then y = a2 x + b2 else y = a3 x + b3 ;

Sin embargo, si utilizamos esta funci on en un modelo de ecuaciones de estado, tendremos problemas cada vez que x cruce por los valores x1 y x2 . Ya sabemos que como primera medida deberemos incorporar las componentes f1 = x x1 y f2 = x x2 a la funci on de cruces por cero, para asegurarnos que el algoritmo de integraci on no integre a trav es de las discontinuidades. Lo malo es que con el modelo anterior, a un teniendo en cuenta las funciones de cruce por cero, tendremos problemas: Cuando detectemos una condici on de cruce, ya habremos integrado a trav es de la discontinuidad, y por lo tanto el valor al nal del paso no s olo ser a incorrecto sino que probablemente no tendr a ning un

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION y

112

y = a3 x + b 3 y = a2 x + b 2 x1 y = a1 x + b 1 x2 x

left

center

right

Figura 7.8: Funci on discontinua. sentido. Por lo tanto, salvo que utilicemos un m etodo al estilo de la bisecci on, el valor no nos servir a para realizar iteraciones mediante polinomios. M as a un, si utilizamos cualquier m etodo que eval ue la funci on en tk + h a valores incorrectos de las o incluso en tk + h/2 (RK4 por ejemplo), utilizar derivadas, y es posible incluso que este nuevo valor del estado no provoque cruces. Por lo tanto, es necesario separar la parte continua de la parte discreta. Es decir, debemos agregar una variable discreta que seleccione entre los posibles modelos continuos de la siguiente forma:
case region lef t : y = a1 x + b1 ; schedule Center when x x1 == 0; center : y = a2 x + b2 ; schedule Lef t when x x1 == 0; schedule Right when x x2 == 0; right : y = a3 x + b3 ; schedule Center when x x2 == 0; end;

En este caso, region es la variable discreta, que deber a tener un valor coherente con el valor de x. De todas formas, para la parte continua de la simulaci on, la variable region actua como un par ametro. Por lo tanto, la integraci on continua siempre ve un modelo continuo y no hay riesgo de pasar por una discontinuidad. El pseudo comando schedule lo estamos utilizando para explicitar las funciones de cruce por cero. El modelo puede completarse con una descripci on de la evoluci on discreta:

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION


event Lef t region := lef t; end Lef t; event Center region := center ; end Center ; event Right region := right; end Right;

113

En principio, el m etodo de simulaci on al encontrarse con un modelo como este funcionar a as : integramos en la parte continua hasta que detectamos un cruce por cero. Iteramos entonces hasta encontrar con precisi on el punto en el que se produce el cruce, damos el paso correspondiente y luego actualizamos la o las variables discretas. Esto deber a funcionar salvo por un peque no detalle. La variable region es parte del estado discreto y necesita inicializarse. En alg un punto del programa de simulaci on, necesitaremos unas o rdenes del tipo
if x < x1 then region := lef t; else if x < x2 then region := center ; else region := right;

Funcionar a esto siempre?. Desafortunadamente, la respuesta es no. Un problema que no hemos considerado a un es que x podr a alcanzar uno de los valores umbrales sin cruzarlo. Consideremos por ejemplo: x(t) = x1 + x2 x2 x1 sin(t) + 2 2 (7.14)

En este caso, x siempre permanecer a en la regi on central aunque tocar a de vez en cuando los umbrales x1 y x2 . Sin embargo, el modelo utilizado activar a los cambios de regi on cada vez que el umbral sea alcanzado. La parte dicil de este problema es determinar en que regi on quedar a el modelo despu es de cada discontinuidad, es decir, encontrar un conjunto consistentes de condiciones iniciales. Si bien hay varias soluciones (una alternativa es denir una banda angosta en torno a la condici on de cruce y conmutar el modelo s olo cuando al dar un paso de prueba desde el cruce se atraviese dicha banda), las mismas exceden los objetivos de este curso.

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

114

7.6.

Problemas Propuestos

[P7.1] Simulaci on con Eventos Temporales Programar alg un m etodo de paso variable (RKF4/5 es una alternativa) e incorporarle una rutina para el manejo de eventos temporales. Para esto suponer que la funci on que dene el modelo devuelve no s olo la derivada, sino tambi en el tiempo del pr oximo evento. Simular con este m etodo el circuito elevador de la Fig.7.4, considerando condiciones iniciales nulas y los par ametros C = 220 106 ; L = 150 106 ; U = 5; f = 25000 y = 0.63. Se pide simular durante 0.1 seg. y comparar los resultados con los que se obtienen sin detectar discontinuidades. [P7.2] Detecci on de Eventos de Estado Regula Falsi Implementar el algoritmo RKF4/5 del Cap tulo 3, y agregarle una rutina de detecci on de discontinuidades basado en el algoritmo de Regula Falsi. Vericar el funcionamiento de la nueva rutina simulando el sistema de la pelotita rebotando. [P7.3] Detecci on de Eventos de Estado Bisecci on Repetir el Prob.[P7.2], pero ahora utilizar el m etodo de la bisecci on para encontrar las ra ces de las funciones de cruce por cero. [P7.4] Detecci on de Eventos de Estado Interpolaci on C ubica Repetir el Prob.[P7.2], agregando ahora la iteraci on por interpolaci on c ubica.

[P7.5] Eventos Temporales y de Estado Un modelo m as preciso del circuito elevador de la Fig.7.4 debe contemplar la posibilidad de que el diodo deje de conducir. En tal caso, utilizando la idea de los estados discretos, podemos replantear las ecuaciones utilizando dos variables discretas: llave y diodo. La variable llave puede tomar los valores abierta y cerrada, mientras que la variable diodo puede tomar los valores conduce y cortado. Para la situaci on llave = abierta y diodo = conduce, tenemos: L (t) = 1 (U vC (t)) i L 1 vC (t) v C (t) = (iL (t) ) C Rl (P7.5aa) (P7.5ab)

y deberemos detectar la condici on de evento iL = 0, que nos llevar a a la situaci on diodo = cortado. Para la situaci on llave = abierta y diodo = cortado en tanto, tenemos: L (t) =0 i v C (t) = 1 vC (t) (iL (t) ) C Rl (P7.5ba) (P7.5bb)

DE SISTEMAS DISCONTINUOS CAP ITULO 7. SIMULACION

115

aa y aqu deberemos detectar la condici on de evento U vC (t) = 0, que nos llevar la situaci on diodo = conduce. Para la situaci on llave = cerrada y diodo = cortado, tenemos: L (t) = 1 U i L vC (t) v C (t) = Rl C (P7.5ca) (P7.5cb)

y en este caso no es necesario detectar ninguna condici on de evento. Por otro lado, al pasar de la situaci on llave = cerrada a la situaci on llave = abierta se debe pasar tambi en a diodo = conduce. Finalmente, la situaci on llave = cerrada y diodo = conduce no puede darse nunca. Repetir entonces el Prob.[P7.1] utilizando este nuevo modelo y comparar los resultados con los obtenidos utilizando el modelo simplicado. [P7.6] Modelo de una Neurona Pulsante Un modelo simple de una Spiking Neuron, que se utiliza en algunas aplicaciones de inteligencia articial, es el siguiente [4]: v (t) =0.04 v 2 + 5 v + 140 u + I (t) u (t) =a (b v u)

(P7.6aa) (P7.6ab)

donde v (t) representa el potencial de membrana y u(t) modela el fen omeno de restituci on de la membrana. La variable I (t) es una corriente de entrada y los restantes par ametros son constantes que dependen del modelo de neurona. Cuando en un tiempo t la variable v (t) alcanza el valor v (t) = 30, se produce el disparo de la neurona, tras el cual las variables de estado se resetean de la siguiente forma: v (t+ ) = c (P7.6b) u(t+ ) = u(t) + d al igual que a y b, c y d son constantes. Simular este sistema considerando: a = 0.02; b = 0.2; c = 65; d = 8; I (t) = 30. Tomar como condici on inicial v (0) = 60, u(0) = 0 y usar un tiempo nal de simulaci on de 300 seg.

Cap tulo 8

Simulaci on en Tiempo Real


Este cap tulo es una traducci on resumida del Cap tulo 3 del libro Continuous System Simulation [2].

8.1.

Introducci on

Muchas aplicaciones muy importantes de la simulaci on necesitan satisfacer restricciones de tiempo real. Un simulador de vuelo de entrenamiento s olamente es u til si puede reejar en tiempo real el comportamiento de un avi on o un heloc optero, para lo cual adem as debe ser capaz de procesar los datos de entrada de la persona que lo est a utilizando. En algunas aplicaciones de control se utiliza un modelo idealizado de una planta (denominado planta de referencia), y se trata de lograr que la planta real se comporte lo m as parecido posible a la planta de referencia. Esto requiere que el modelo de la plante de referencia se simule en tiempo real, en paralelo con la planta real, de manera que ambos sistemas reciban las mismas se nales de entrada. Una manera de detectar fallas en un sistema consiste en simular un modelo de dicho sistema en tiempo real, y comparar ciertas variables importantes de la simulaci on con las variables del sistema real. Cuando las discrepancias se tornan grandes, se puede inferir que se est a en presencia de una falla en el sistema real. Para esto, tambi en es necesario que la simulaci on reciba las mismas entradas que la planta. Conceptualmente, la implementaci on de un software de simulaci on en tiempo real es muy sencilla. Hay s olamente cuatro nuevos componentes. 1. El Reloj de tiempo real es el responsable de la sincronizaci on entre el tiempo simulado y el tiempo real. Generalmente el reloj de tiempo real se programa para disparar una se nal cada h unidades de tiempo real, donde h es el paso del m etodo de integraci on. El programa que ejecuta la simulaci on contiene tambi en un ciclo de espera, en el cual se entra tras 116

EN TIEMPO REAL CAP ITULO 8. SIMULACION

117

haber nalizado los c alculos del paso actual, y del cual se sale tras recibir la se nal proveniente del reloj de tiempo real. 2. Los conversores an alogicodigitales (A/D) se leen al principio de cada paso de integraci on para actualizar los valores de todas las se nales externas que se utilizan en la simulaci on. Esto corresponde a mecanismos de muestreo y retenci on (S/H, por Sample and Hold ), es decir, estos valores leidos se mantienen constantes durante todo el paso. 3. Los conversores digitalesanal ogicos (D/A) se actualizan al nal de cada paso de integraci on. Estos brindan la u ltima informaci on necesaria para el mundo exterior a la simulaci on. 4. Los Eventos Externos son eventos temporales que se generan por fuera de la simulaci on, y que permiten la comunicaci on asincr onica con el programa de simulaci on con distintos prop ositos. Estos eventos (al estilo de interrupciones) normalmente se posponen para el nal del paso actual. La Figura 8.1 ilustra las diferentes tareas que tienen lugar durante la ejecuci on de un paso de integraci on.

A/D Conversion

D/A Conversion

Numerical computations

External events

Busy waiting

tn

t n+1

Real-time clock synchronization impulses (real-time interrupts)

Figura 8.1: Tareas asociadas a un paso de integraci on. Una vez que el mensaje del reloj de tiempo real indica que el tiempo real on en primer lugar debe leer todos avanz o al instante tk , el programa de simulaci los conversores A/D para actualizar los valores de las se nales de entrada. Luego, debe realizar los c alculos num ericos correspondientes al paso utilizando alguna rutina de integraci on. Tras esto, los resultados se deben pasar a los conversores D/A. En ese momento, el trabajo normal asociado con cada paso estar a cumplido. El algoritmo entonces debe jarse si no ocurri o ninguna interrupci on externa, y en tal caso deber a procesarla. Una vez cumplido esto, se deber a entrar en el ciclo de espera hasta que llegue el nuevo mensaje del reloj de tiempo real. Por supuesto, hay variantes respecto a la manera de hacer esto. Por ejemplo, el ciclo de espera pordr a intentar aprovecharse para hacer otras tareas (en ese caso el reloj de tiempo real deber a tener capacidad de generar interrupciones).

EN TIEMPO REAL CAP ITULO 8. SIMULACION

118

Las dicultades de la simulaci on en tiempo real no son de naturaleza conceptual, sino que tienen que ver con garantizar que los c alculos y las tareas nalicen antes del siguiente pulso del reloj. Es decir, la principal dicultad radica en que la simulaci on debe correr en cada paso una carrera contra el tiempo.

8.2.

La Carrera Contra el Tiempo

Hay dos preguntas que debemos hacernos en el contexto de correr contra el tiempo: (1) C omo garantizamos que todos los c alculos terminen antes que llegue el siguiente pulso del reloj? (ii) Que pasa si no lo conseguimos? Comenzaremos por la segunda pregunta, ya que es m as simple de contestar. En principio, hay cuatro cosas que podr amos hacer si nuestros c alculos demoran demasiado: 1. incrementar el paso, h, para tener m as tiempo para terminar las tareas necesarias, 2. hacer m as eciente la evaluaci on de las funciones, optimizando el programa que representa el modelo en ecuaciones de estado, 3. mejorar la velocidad de los algoritmos de integraci on, reduciendo por ejemplo el n umero de evaluaciones de funci on necesarios en cada paso, y/o 4. comprarnos una computadora m as r apida. En realidad, la u ltima soluci on no es una mala idea, teniendo en cuenta los costos cada vez m as bajos del hardware comparado con el software y la mano de obra. La primer soluci on es interesante. Hasta aqu el paso de integraci on siempre estuvo acotado por encima debido a restricciones de estabilidad y precisi on. Ahora, de pronto, el paso est a tambi en acotado por debajo debido a la restricci on de tiempo real. Obviamente, si este l mite inferior es mayor que el l mite superior impuesto por la estabilidad y la precisi on, estaremos en problemas. La segunda soluci on ha sido muy explorada, y si bien es importante, escapa a los prop ositos de este curso. La tercera opci on es j ustamente la que tiene que ver con nuestros objetivos, ya que involucra directamente a los m etodos de integraci on num erica. De todas formas, antes de estudiar las maneras de mejorar la velocidad de los algoritmos, analizaremos los distintos m etodos para dedicarnos s olamente a aquellos que tengan caracter sticas u tiles para simular en tiempo real.

8.3.

M etodos de Integraci on Num erica Apropiados

En la simulaci on en tiempo real, no alcanza con obtener una buena aproximaci on de los valores de las variables de estado. M as a un, estas aproximaciones

EN TIEMPO REAL CAP ITULO 8. SIMULACION

119

son in utiles si se obtienen demasiado tarde. Por lo tanto, debemos estar seguros que todos los c alculos asociados a cada paso nalicen dentro del intervalo de tiempo asignado. Para esto, el n umero total de c alculos hecho por cada paso de integraci on debe acotarse, y todos los procesos iterativos deben cortarse tras un n umero jo de iteraciones. Esto, claramente afectar a la precisi on de los algoritmos. Sin embargo es preferible obtener una soluci on con algo de error que no poder obtener nada en el tiempo permitido. En base a estas consideraciones b asicas, el siguiente an alisis intenta examinar las diferentes caracter sticas de los m etodos que vimos en los cap tulos anteriores para discutir sus pros y sus contras en el contexto de la simulaci on en tiempo real. M etodos Multipaso . Los m etodos multipaso utilizan informaci on de los pasos anteriores para calcular una aproximaci on de orden alto del siguiente paso. Esta idea se basa en el supuesto de que la ecuaci on diferencial es suave. Sin embargo, normalmente las simulaciones en tiempo real reciben se nales de entrada que no son suaves y por lo tanto, los resultados de los m etodos multipaso suelen ser imprecisos. Por otro lado, estos m etodos reducen el n umero de evaluaciones de las funciones por paso, lo que es un factor crucial en la simulaci on en tiempo real. Por esto, pese a la p erdida de precisi on, los m etodos multipaso expl citos (tales como AB) de orden bajo suelen utilizarse. M etodos expl citos monopaso . Estos m etodos son compatibles con los requerimientos mencionados antes. El esfuerzo computacional es relativamente bajo y constante. El n umero de c alculos por paso puede estimarse f acilmente. M as a un, los m etodos pueden tratar bastante bien con se nales de entrada discontinuas ya que no utilizan informaci on del pasado. Por esto, para ecuaciones diferenciales ordinarias no sti, los m etodos expl citos monopaso suelen ser la mejor opci on. En el caso de sistemas no muy sti, estos m etodos pueden a un utilizarse con un paso chico (una fracci on del intervalo de muestreo). Pero esta idea empieza a fallar a medida que aumenta la rigidez de los modelos. M etodos impl citos monopaso . Como sabemos, los m etodos impl citos requieren resolver un sistema de ecuaciones no lineal en cada paso, lo que implica utilizar m etodos de iteraci on. Por lo tanto, no puede predecirse exactamente el costo computacional ya que el mismo depende del n umero de iteraciones, que en principio es no acotado. Por esto, los m etodos impl citos no son apropiados para tiempo real. De todas formas, en base a estos m etodos se pueden plantear algoritmos u tiles que mantengan acotado por un valor jo el n umero de iteraciones. M etodos de orden alto . En la mayor parte de las aplicaciones en tiempo real, los intervalos de muestreo son peque nos en comparaci on con las escalas de tiempo de inter es (para poder tomar adecuadamente las se nales

EN TIEMPO REAL CAP ITULO 8. SIMULACION

120

de entrada), y la precisi on requerida suele ser bastante baja. Teniendo en cuenta adem as que es crucial reducir el n umero de c alculos, es muy raro encontrar una simulaci on de tiempo real que utilice m etodos de integraci on de orden mayor que dos o tres. M etodos de paso variable . En las simulaciones en tiempo real no podemos darnos el lujo de cambiar el paso, ya que el mismo debe estar sincronizado con la frecuencia de muestreo y muy restringido con la especicaci on de tiempo real del problema. Tras aeste an alisis, s olamente los m etodos expl citos de bajo orden parecen ser apropiados para la simulaci on en tiempo real. De hecho, en ausencia de rigidez, discontinuidades o ecuaciones impl citas muy alineales, estos m etodos funcionar an muy bien. Desafortunadamente, la mayor parte de los sistemas de la ingenier a son de hecho sti. Veremos entonces algunos nuevos algoritmos y algunas ideas para tratar estos problemas en el contexto de tiempo real.

8.4.

M etodos Linealmente Impl citos

Los m etodos linealmente impl citos o semiimpl citos explotan el hecho de que los m etodos impl citos aplicados a sistemas lineales no requieren un n umero no acotado de iteraciones, sino que pueden implementarse directamente mediante inversi on matricial. Uno de los m etodos de este tipo m as utilizados es la f ormula de Euler semi impl cita: (8.1) xk+1 = xk + h [f (xk , tk ) + Jxk ,tk (xk+1 xk )] donde Jxk ,tk = f x (8.2)
xk ,tk

es la matriz Jacobiana evaluada ent (xk , tk ). Notar que Jxk ,tk (xk+1 xk ) f (xk+1 , tk+1 ) f (xk , tk ) y entonces: f (xk , tk ) + Jxk ,tk (xk+1 xk ) f (xk+1 , tk+1 ) (8.4) Es decir, el m etodo de Euler linealmente impl cito se aproxima al m etodo de Backward Euler. M as a un, en el caso lineal: x =Ax tenemos: xk+1 = xk + h [A xk + Jxk ,tk (xk+1 xk )] = xk + h A xk+1 (8.6) (8.5) (8.3)

EN TIEMPO REAL CAP ITULO 8. SIMULACION

121

que coincide exactamente con Backward Euler. Esto implica que el dominio de estabilidad del m etodo de Euler semiimpl cito coincide con el de BE. La Ecuaci on (8.1) puede reescribirse como: (I h Jxk ,tk ) xk+1 = (I h Jxk ,tk ) xk + h f (xk , tk ) (8.7)

lo que muestra que xk+1 puede obtenerse resolviendo un sistema lineal de ecuaciones. en obtenerse como: El valor de xk+1 puede tambi xk+1 = xk + h (I h Jxk ,tk )1 f (xk , tk ) (8.8)

Esta f ormula es similar a la de Forward Euler, pero diere en la presencia del t ermino (I h Jxk ,tk )1 . Este t ermino implica que el algoritmo debe calcular el Jacobiano en cada paso e invertir una matriz. Aunque estos c alculos puedan ser algo caros, el esfuerzo computacional es predecible, lo que hace que el m etodo sea adecuado para tiempo real. Teniendo en cuenta que el dominio de estabilidad coincide con el de BE, este m etodo resulta apropiado para simular sistemas sti y sistemas de DAEs. De hecho, los m etodos linealmente impl citos de bajo orden son a menudo la mejor opci on para la simuaci on en tiempo real. Sin embargo, cuando la dimensi on del problema es grande, el costo de la inversi on matricial puede resultar demasiado caro. Afortunadamente, la rigidez en sistemas grandes est a frecuentemente relacionada con la presencia de algunos subsistemas lentos y otros r apidos que se pueden identicar. En estos casos, podemos sacar provecho de esta informaci on y utilizar distintos pasos de integraci on e incluso distintos algoritmos de integraci on en cada parte. Estas ideas nos llevan a los conceptos de integraci on multipaso e integraci on de modo mixto.

8.5.

Integraci on Multitasa

Hay muchos casos en los que la rigidez se debe a la presencia de un subsistema con din amica muy r apida comparada con el resto del sistema. Esto ocurre t picamente en los sistemas f sicos multidominio, ya que los componentes de los distintos dominios de la f sica generalmente tienen asociadas constantes de tiempo muy diferentes. Por ejemplo, si queremos estudiar las propiedades t ermicas de un circuito integrado, debemos tener en cuenta que las constantes de tiempo el ectricas del dispositivo son mucho m as r apidas que las constantes de tiempo t ermicas. Sin embargo, no podemos ignorar las constantes de tiempo r apidas de la parte el ectrica, ya que son la causa del calentamiento del dispositivo. Veamos en m as detalle esta idea en un ejemplo. La Figura 8.2 muestra un modelo concentrado de una l nea de transmisi on alimentada por un oscilador de VanderPol.

EN TIEMPO REAL CAP ITULO 8. SIMULACION

122

R L Oscillator C

L C

L C

L C

Line

Figura 8.2: Oscilador de VanderPol y l nea de transmisi on. Supondremos que el resistor no lineal del circuito oscilador satisface la ley: iR = k u 3 R uR Luego, el sistema puede describirse mediante las siguientes ecuaciones: diL dt duC dt di1 dt du1 dt di2 dt du2 dt din dt dun dt = = = = = = . . . = = R 1 1 un1 in un L L L 1 in C (8.10g) (8.10h) 1 uC L 1 (uC k u3 C iL i1 ) C 1 R 1 u C i1 u 1 L L L 1 1 i1 i2 C C 1 R 1 u 1 i2 u 2 L L L 1 1 i2 i3 C C (8.10a) (8.10b) (8.10c) (8.10d) (8.10e) (8.10f) (8.9)

Aqu , uC e iL son el voltaje y la corriente del capacitor y la inductancia en el oscilador. De manera similar, uj e ij son el voltaje y la corriente de los capacitores e inductancias en la etapa j de la l nea. Supondremos que la l nea de transmisi on tiene 5 etapas (es decir., n = 5), y que los par ametros son L = 10 mH, C = 1 mF, R = 10 y k = 0.04. Si queremos simular el sistema utilizando el m etodo de Forward Euler, necesitaremos utilizar un paso no mayor que h = 104 segundos. De otra forma, a un error inaceptable. la salida del oscilador (uC ) tendr Sin embargo, utilizando la se nal de entrada generada por el oscilador, la linea de transmisi on sola puede simularse con un paso 10 veces mayor. Entonces, decidimos dividir el sistema en dos partes, el circuito oscilador y la linea de transmisi on, con dos pasos de integraci on distintosL 104 segundos 3 para el primero y 10 segundos para el segundo.

EN TIEMPO REAL CAP ITULO 8. SIMULACION

123

De esta forma, integramos el subsistema r apido pero peque no con un paso peque no, e integramos el subsistema lento pero grande con un paso mayor. En consecuencia, durante cada milisegundo de tiempo real,la computadore debe evaluar diez veces las dos funciones escalares corresponientes a las dos primeras ecuaciones de estado, mientras que s olo debe evaluar una vez las restantes 10 funciones escalares. Por esto, el n umero de operaciones de punto otante se reduce en un factor de cuatro aproximadamente, comparado con la utilizaci on del mismo paso peque no sobre todo el sistema. Los resultados de simuaci on se muestran en las Figs.8.38.4. Multirate Simulation (Oscillator)
3

uC [V olts]

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

T ime[sec] Figura 8.3: Voltaje del oscilador de VanderPol. Podemos generalizar esta idea para sistemas de la forma: x f (t) x s (t) = ff (xf , xs , t) = fs (xf , xs , t) (8.11a) (8.11b)

donde los sub ndices f y s corresponden a r apido(fast) y lento (slow) respectivamente. Luego, el uso de la versi on multitasa (multirate) de FE nos llevar a a unas ecuaciones en diferencias de la forma: xf (ti + (j + 1) h) = xf (ti + j h) + h ff (xf (ti + j h), xs (ti + j h), ti + j h) xs (ti + k h) = xs (ti ) + h fs (xf (ti ), xs (ti ), ti ) (8.12a) (8.12b)

EN TIEMPO REAL CAP ITULO 8. SIMULACION Multirate Simulation (Output)


0.1 0.09

124

0.08

0.07

u5 [V olts]

0.06

0.05

0.04

0.03

0.02

0.01

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

T ime[sec] Figura 8.4: Voltaje a la salida de la l nea de transmisi on. donde k es la raz on (entera) entre ambos pasos, j = 0 . . . k 1, y h = ti+1 ti es el paso del subsistema lento. Las Ecuaciones (8.12ab) no especican c omo calcular xs (ti + j h), ya que las variables del subsistema lento no se eval uan en los instantes intermedios. En nuestro ejemplo, pusimos xs (ti + j h) = xs (ti ), es decir, utilizamos el u ltimo valor calculado. A pesar de la mejora alcanzada, no debemos olvidar que el ejemplo no era muy r gido. Ya sabemos que los m etodos expl citos no funcionar an con sistemas m as sti, porque nos obligar an a utilizar un paso excesivamente chico en el subsistema r apido. En estos casos, como ya discutimos, los m etodos semiimpl citos pueden ser una mejor opci on. Sin embargo, tambi en mencionamos que en los sistemas de gran dimensi on tendremos problemas porque deberemos invertir una matriz muy grande. Una soluci on que combina las dos ideas, de integraci on multitasa y semi impl cita, consiste en separar el sistema en un subsistema r apido y otro lento, aplicando un m etodo expl cito a la parte lenta y un m etodo linealmente impl cito a la parte r apida. Estos m etodos se denominan algoritmos de integraci on de modo mixto.

EN TIEMPO REAL CAP ITULO 8. SIMULACION

125

8.6.

Integraci on de Modo Mixto

La Figura 8.5 muestra el mismo circuito de la Fig. 8.2 con la inclusi on de una carga RC adicional al nal de la l nea de transmisi on. R L Oscillator C L C Line R L C R L C Rl Cl Load

Figura 8.5: Oscilador de Vander-Pol y l nea de transmisi on. Las ecuaciones de estado son similares a las de antes, pero ahora tambi en aparece el voltaje en el capacitor de la carga: diL dt duC dt di1 dt du1 dt di2 dt du2 dt din dt dun dt dul dt = = = = = = . . . = = = 1 R 1 un1 in un L L L 1 1 in (un ul ) C Rl C 1 (un ul ) Rl Cl (8.13g) (8.13h) (8.13i) 1 uC L 1 (uC k u3 C iL i1 ) C 1 R 1 u C i1 u 1 L L L 1 1 i1 i2 C C 1 R 1 u 1 i2 u 2 L L L 1 1 i2 i3 C C (8.13a) (8.13b) (8.13c) (8.13d) (8.13e) (8.13f)

Supongamos que los par ametros de la carga son Rl = 1 k and Cl = 1 nF. Ya que la resistencia de carga es mucho mayor que los de la linea, el nuevo t ermino de la Ec.(8.13h) no va a inuenciar la din amica de la l nea de transmisi on en forma signicativa, y podemos esperar que el subsistema (8.13ah) exhiba un comportamiento similar al del Sistema (8.10). Sin embargo, la u ltima ecuaci on, Ec.(8.13i), introduce un autovalor r apido. La posici on del mismo es l 1 = 106 sec1 Rl Cl (8.14)

EN TIEMPO REAL CAP ITULO 8. SIMULACION

126

sobre el eje real negativo del plano complejo. Esto quiere decir que deberemos reducir el paso de integraci on por un factor de 1000 con respecto al ejemplo anterior para mantener la estabilidad num erica. Desafortunadamente, esto es completamente inaceptable en el contexto de una simulaci on en tiempo real. Una primer alternativa podr a ser reemplazar el m etodo de FE por el m etodo de Euler semiimpl cito. Sin embargo, estamos en presencia de un sistema de orden 13, y, dejando las supersticiones de lado, probablemente no tendremos tiempo para invertir una matriz de 13 13 en cada paso. Si miramos un poco m as cuidadosamente el sistema, veremos que no hay una gran interacci on entre los subsistemas de las Ecs (8.13ah) y de la Ec.(8.13i). De hecho, la din amica r apida se puede explicar mirando a esta u ltima ecuaci on sola. Luego, podr a ser razonable usar el m etodo de Euler semiimpl cito s olamente en la u ltima ecuaci on. Si hacemos esto, en la ecuaci on en diferencias resultante tendremos s olamente una ecuaci on impl cita (lineal, ya que usamos el m etodo semiimpl cito), de la que deberemos despejar el valor de ul (tk+1 ). En denitiva, tendremos que calcular un Jacobiano de 1 1. Como adem as esta u ltima ecuaci on es lineal en a constante e igual a 1/(Rl Cl ). Por lo tanto, tampoco ul , el Jacobiano ser deberemos invertir ninguna matriz ni recalcular el Jacobiano en cada paso. En denitiva, el costo ser a exactamente el mismo que el de usar FE con un paso de 1 103 ... pero con la gran diferencia de que el resultado ahora ser a estable. Tras simular este sistema utilizando el mismo enfoque que antes, es decir, usando un paso de 104 segundos en las ecuaciones del oscilador y un paso de 103 segundos en todas las otras ecuaciones, incluyendo la ecuaci on semi impl cita de la carga, obtuvimos los resultaos de la Figura 8.6. En t erminos m as generales, dado un sistema como el de las Ecs.(8.11ab), el m etodo mixto de BackwardForward Euler estar a dado por la siguiente f ormula: = xs (tk ) + h fs (xf (tk ), xs (tk ), tk ) = xf (tk ) + h ff (xf (tk+1 ), xs (tk+1 ), tk+1 )

xs (tk+1 ) xf (tk+1 )

(8.15a) (8.15b)

Luego, el algoritmo comienza cada paso calculando expl citamente el valor de xs (tk+1 ). Luego, utiliza este valor para calcular xf (tk+1 ) en forma impl cita (o mejor a un, semiimpl cita). La ventaja de resolver la ecuaci on impl cita s olamente para las componentes , donde xf (tk+1 ) puede resultar muy importante en sistemas como el visto aqu la longitud del vector xf es considerablemente menor que la de xs . En nuestro ejemplo (bastante acad emico), la reducci on del n umero de c alculos es enorme. Es importante observar que en realidad utilizamos una mezcla de simulaci on multitasa y de modo mixto, ya que usamos un paso de integraci on diez veces menor para las ecuaciones del oscilador.

EN TIEMPO REAL CAP ITULO 8. SIMULACION MixedMode Simulation


0.1 0.09

127

0.08

0.07

ul [V olts]

0.06

0.05

0.04

0.03

0.02

0.01

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

T ime[sec] Figura 8.6: Voltaje de salida. Tanto la integraci on multitasa como la de modo mixto suponen que existen dos (o m as) subsistemas con din amicas distintas que pueden distinguirse. Sin embargo, no siempre pasa esto. En el caso de las PDE parab olicas semidiscretizadas mediante el m etodo de l neas, por ejemplo, no es posible realizar esta separaci on. Aqu los autovalores r apidos y lentos se encuentran distribuidos en todo el sistema.

8.7.

Problemas Propuestos

[P8.1] Regla Trapezoidal Semiimpl cita Obtener una versi on semiimpl cita de la regla trapezoidal x(tk+1 ) = x(tk ) + h [f (x(tk ), tk ) + f (x(tk+1 ), tk+1 )] 2 (P8.1a)

Ayuda: Aproximar f (x(tk+1 ), tk+1 ) usando las ideas explicadas en la Secci on 8.4. Demostrar que el m etodo es Festable [P8.2] P endulo Utilizando la f ormula trapezoidal semiimpl cita, simular el modelo del p endulo: x 1 x 2 = = x2 sin(x1 ) b x2

EN TIEMPO REAL CAP ITULO 8. SIMULACION

128

suponiendo que el par ametro de fricci on es b = 0.02. Comenzar de la condici on inicial x0 = (0.5 0.5)T usando un paso de h = 0.5, y simular hasta tf = 500. Repetir el experimento utilizando la regla trapezoidal com un. Comparar los resultados y el n umero de evaluaciones de funci on requeridas por las dos simulaciones. [P8.3] P endulo sin Fricci on Repetir el problema P8.2 con b = 0 (o sea, sin fricci on). Comparar los resultados y explicar las diferencias. [P8.4] Integraci on Multitasa Los resultados de simulaci on mostrados en las Figs.8.38.4 tienen en realidad un error (hab a un peque no error en el modelo que no fue advertido hasta la edici on del libro). Pedimos entonces implementar nuevamente la simulaci on, utilizando la idea expresada en las Ecs.(8.12ab) y los par ametros indicados en la Secci on 8.5. Adem as, se pide repetir la simulaci on utilizando FE de manera normal, con h = 1 104 en todo el sistema y comparar los resultados y el tiempo que consume la simulaci on en cada caso. [P8.5] Integraci on de Modo Mixto Los resultados mostrados en la Fig.8.6 arrastran el error explicado en el problema anterior. Pedimos tambi en implementar nuevamente la simulaci on, utilizando la idea expresada en las Ecs.(8.15ab), y los par ametros indicados en la Secci on 8.6. Adem as, se pide repetir la simulaci on utilizando BE de manera normal, con h = 1 104 en todo el sistema y comparar los resultados y el tiempo que consume la simulaci on en cada caso.

Cap tulo 9

Simulaci on por Eventos Discretos


Este cap tulo es una traducci on resumida del cap tulo 11 del libro Continuous System Simulation [2].

9.1.

Introducci on

En los cap tulos anteriores estudiamos muchos m etodos distintos para simular sistemas continuos. Pese a las diferencias (vimos m etodos expl citos, impl citos, de paso jo, de paso variable, monopaso, multipaso, etc.), todos los algoritmos vistos tienen algo en com un: dado el instante tk+1 , se realiza una extrapolaci on polinomial para determinar el valor de las variables de estado en dicho instante. Ahora veremos una idea completamente distinta. En lugar de preguntarnos que valor tendr an los estados en un determinado instante de tiempo, nos preguntaremos cuando una variable de estado se desviar a de su valor actual en m as de Q. Es decir, buscaremos el menor paso h que har a que x(tk + h) = x(tk ) Q. Obviamente, esta idea resultar a en una estrategia de paso variable. M as a un, cuando x sea un vector, el valor resultante de h ser a distinto para cada componente del estado. Tendremos entonces dos posibilidades: o elegimos el menor de estos valores como paso central h, o podemos elegir diferentes valores de hi para las diferentes componentes, lo que nos llevar a a una simulaci on asincr onica, en la cual cada variable de estado tiene su propio tiempo de simulaci on. La primera de las dos alternativas no ser a nada m as que una forma novedosa de controlar el paso de integraci on. La segunda alternativa, en cambio, es mucho m as revolucionaria. A primera vista, el m etodo resultante consistir a en una especie de combinaci on de simulaci on multitasa y de paso variable. Hasta aqu , todos los m etodos que vimos se pod an describir mediante ecuaciones en diferencias. Tal representaci on no tendr a ning un sentido con esta nueva idea, donde cada componente evoluciona siguiendo sus propios valores de 129

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

130

as una aproximaci on en tiempo discreto, hi . En otras palabras, no tendremos m sino que, como veremos m as adelante, obtendremos aproximaciones de eventos discretos En este cap tulo entonces, estudiaremos una nueva familia de m etodos que resulta de esta idea de reemplazar la discretizaci on temporal por una discretizaci on del espacio de estado.

9.2.

Discretizaci on Espacial: Un Ejemplo Simple


x a (t) = xa (t) + 10 (t 1.76)

Consideremos el sistema de primer orden: (9.1a)

donde (t) representa el escal on unitario, por lo que (t 1.76) es un escal on que tiene lugar en t = 1.76. Supongamos que la tenemos la condici on inicial xa (t0 = 0) = 10 y veamos que pasa con este sistema continuo x (t) = oor[x(t)] + 10 (t 1.76) o: x (t) = q (t) + 10 (t 1.76) (9.2b) (9.2a) (9.1b)

donde q (t) oor[x(t)] es la parte entera de la variable x(t). Aunque el sistema de la Ec. (9.2) es no lineal y discontinuo, podemos resolverlo f acilmente. Cuando 0 < t < 1/9, tenemos q (t) = 9 y x (t) = 9. Durante este intervalo, x(t) decrece linealmente desde 10.0 hasta 9.0. Luego, en el intervalo 1/9 < t < 1/9 + 1/8, tenemos q (t) = 8 y x (t) = 8. Aqu , x(t) decrece linealmente desde 9.0 hasta 8.0. Siguiendo con este an alisis, encontramos que x(t) alcanza el valor 3.0 en t = 1.329. Si no ocurriese ning un evento temporal, x(t) alcanzar a el valor de 2.0 en t = 1.829. Sin embargo, cuando t = 1.76, cuando x = 2.138, la entrada cambia, y desde ese momento tendremos x (t) = 8. La variable x(t) incrementa su valor nuevamente de manera lineal con el tiempo, hasta que alcanza el valor de 3.0 en t = 1.8678. De esta forma, x(t) continua creciendo hasta que se llega a x(t) = q (t) = 10, a partir de donde la derivada x (t) se hace cero y el sistema no cambia su estado nunca m as. La Figura 9.1 muestra las trayectorias de x(t) y q (t). Esta simulaci on se complet o en 17 pasos y, despreciando alg un problema de redondeo, obtuvimos la soluci on exacta de la Ec.(9.2). Todos los c alculos para obtener esta soluci on fueron triviales porque la derivada del estado permanece

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION Solution of Eq.(9.2)


11 10 9 8 7

131

q (t), x(t)

6 5 4

x(t)
3 2

q (t)
1 0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Time Figura 9.1: Trayectorias de las variables del sistema de la Ec.(9.2). constante entre los instantes de los eventos, lo que nos permite calcular x(t) de manera anal tica. La soluci on x(t) y la del sistema original de la Ec.(9.1), xa (t), se comparan en la Fig.9.2. Sin dudas, ambas soluciones son similares. Aparentemente, reemplazando x(t) por q (t) = oor[x(t)] en el lado derecho de la ecuaci on de una ecuaci on diferencial de primer orden encontramos un m etodo expl cito para simular dicha ecuaci on. La primer pregunta que surge es si podemos generalizar esta idea para un sistema de orden n. Sin embargo, antes de poder contestar esta pregunta, necesitaremos analizar y estudiar la naturaleza discreta del sistema de la Ec.(9.2), para lo cual introduciremos algunas herramientas para su representaci on y simulaci on.

9.3.

Sistemas de Eventos Discretos y DEVS

Todos los m etodos vistos antes de este cap tulo, aproximaban las ecuaciones diferenciales por sistemas de tiempo discreto (ecuaciones en diferencia), de la forma x(tk+1 ) = f (x(tk ), tk ) (9.3)

Con la nueva idea de cuanticar las variables de estado, sin embargo, estamos frente a sistemas que son discretos (ya que realizan un n umero nito de cambios),

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION Solutions of Eq.(9.1) and Eq.(9.2)
11 10 9

132

x(t) xa (t)

8 7

xa (t), x(t)

6 5 4 3 2 1 0

0.5

1.5

2.5

3.5

4.5

Time Figura 9.2: Trayectorias de los Sistemas (9.1) y (9.2). pero no son de tiempo discreto. Como veremos pronto, nuesta nueva manera de aproximar las ecuaciones nos lleva a sistemas de eventos discretos, dentro del formalismo DEVS. DEVS, cuyas siglas provienen de Discrete EVent System specication, fue introducido por Bernard Zeigler a mediados de la d ecada de 1970. DEVS permite representar todos los sistemas cuyo comportamiento entrada/salida pueda describirse mediante secuencias de eventos. En este contexto, un evento es la representaci on de un cambio instant aneo en alguna parte del sistema. Como tal, puede caracterizarse mediante un valor y un tiempo de ocurrencia. El valor puede ser un n umero, un vector, una palabra, o en general, un elemento de alg un conjunto. La trayectoria denida por una secuencia de eventos toma el valor (o No Event) en casi todos los instantes de tiempo, excepto en los instantes en los que hay eventos. En estos instantes, la trayectoria toma el valor correspondiente al evento. La Figura 9.3 muestra una trayectoria de eventos que toma los valores x2 en el tiempo t1 , luego toma el valor x3 en t2 , etc. Un modelo DEVS procesa una trayectoria de eventos y, de acuerdo a dicha trayectoria y a sus propias condiciones iniciales, provoca una trayectoria de eventos de salida. Este comportamiento entrada/salida se muestra en la Fig.9.4. El comportamiento de un modelo DEVS at omico se explicita mediante distintas funciones y conjuntos, denidos en la siguiente estructura: M = (X, Y, S, int , ext , , ta)

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

133

x4 x3

x2 x1 t1 t2 t3 t4 t5 t

Figura 9.3: Trayectoria de eventos.

DEVS

Figura 9.4: Comportamiento Entrada/Salida de un modelo DEVS. donde: X es el conjunto de los valores de los eventos de entrada, es decir el conjunto de todos los valores que un evento de entrada puede tomar; Y es el conjunto de valores de los eventos de salida; S es el conjunto de los valores del estado; int , ext , y ta son funciones que denen la din amica del sistema. La Figura 9.5 nos muestra el comportamiento de un modelo DEVS. Cada estado posible s (s S ) tiene un tiempo de avance asociado calculado por la funci on de avance de tiempo ta(s) (ta(s) : S + 0 ). El avance de tiempo es un n umero real no negativo, que determina cuanto tiempo debe permanecer el sistema en un estado en ausencia de eventos de entrada. Luego, si el estado toma el valor s1 en el instante t1 , tras ta(s1 ) unidades de tiempo (o sea, en el instante t1 +ta(s1 )), el sistema realiza una transici on interna, alcanzando el nuevo estado s2 . El nuevo estado se calcula como s2 = int (s1 ). on de transici on interna. La Funci on int (int : S S ) se denomina funci Cuando el estado cambia su valor desde s1 a s2 , un evento de salida se on ( : S Y ) se denomina funci on produce con el valor y1 = (s1 ). La funci

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

134

x1

S s1

s2 = int (s1 )

s4 = int (s3 )

s3 = ext (s2 , e, x1 ) ta(s1 ) Y y2 = (s3 ) y1 = (s1 ) e ta(s3 )

Figura 9.5: Trayectorias de un modelo DEVS. de salida. De esta manera, las funciones ta, int y denen el comportamiento aut onomo de un modelo DEVS. Cuando llega un evento de entrada, el estado cambia instant aneamente. El nuevo valor del estado depende no s olo del valor del evento de entrada, sino tambi en del valor anterior del estado y del tiempo transcurrido desde la u ltima transici on. Si el sistema toma el valor s2 en el instante t2 , y llega un evento en el instante t2 + e < ta(s2 ) con valor x1 , el nuevo estado se calcula como s3 = ext (s2 , e, x1 ). En este caso, decimos que el sistema realiza una transici on X S ) se denomina funci o n de externa. La funci on ext (ext : S + 0 transici on externa. Durante la transici on externa, no se produce ning un evento de salida. En muchos casos, adem as, los conjuntos X e Y (donde toman los valores los eventos de entrada y salida) se forman por el producto cartesiano de un conjunto arbitrario (que contiene los valores de los eventos propiamente dichos) y un conjunto que contiene un n umero nito de puertos de entrada y salida respectivamente (luego veremos que estos puertos se utilizar an para acoplar modelos DEVS at omicos). Consideremos por ejemplo un sistema que calcula una funci on est atica f (u0 , u1 ), donde u0 y u1 son trayectorias seccionalmente constantes. Podemos representar una trayectoria seccionalmente constante mediante una

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

135

secuencia de eventos si relacionamos cada evento con un cambio en el valor de la trayectoria. Utilizando esta idea, podemos construir el siguiente modelo DEVS at omico: MF = (X, Y, S, int , ext , , ta), donde X= Y = {0, 1} {0}

S= 2 + 0 int (s) = int (u0 , u1 , ) = (u0 , u1 , ) ext (s, e, x) = ext (u0 , u1 , , e, xv , p) = s (s) = (u0 , u1 , ) = (f (u0 , u1 ), 0) ta(s) = ta(u0 , u1 , ) = con: s = (xv , u1 , 0) si p = 0 (u0 , xv , 0) en otro caso

En este modelo, incluimos una variable en el estado s que coincide con la funci on ta. Esto se suele hacer siempre, ya que as se hace m as facil la obtenci on de un modelo DEVS. Como dijimos antes, cada evento de entrada y de salida incluye un n umero entero que indica el correspondiente puerto de entrada o salida. En los eventos de entrada, el puerto p puede ser 0 o 1 (es decir, hay dos puertos de entrada, olo puerto de uno para u0 y el otro para u1 ). En los eventos de salida, hay un s salida (0). En este caso, utilizamos n umeros desde 0 para indicar los puertos. En principio podr amos haber utilizado palabras u otros objetos. Sin embargo, en este curso numeraremos siempre los puertos de esta forma ya que utilizaremos una herramienta de software que utiliza esta nomenclatura.

9.4.

Modelos DEVS Acoplados

DEVS es un formalismo muy general, que puede utilizarse para describir sistemas muy complejos. Sin embargo, representar un sistema muy complejo utilizando funciones de transici on y avance de tiempo es muy dicil ya que para describir dichas funciones debemos tener en cuenta todas las posibles situaciones en el sistema. Los sistemas complejos generalmente se piensan como el acoplamiento de sistemas m as simples. A trav es del acoplamiento, los eventos de salida de unos subsistemas se convierten en eventos de entrada de otros subsistemas. La teor a de DEVS garantiza que el modelo resultante de acoplar varios modelos DEVS at omicos es equivalente a un nuevo modelo DEVS at omico, es decir, DEVS es cerrado frente al acoplamiento (clausura del acoplamiento). Esto permite

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

136

el acoplamiento jer arquico de modelos DEVS, o sea, la utilizaci on de modelos acoplados como si fueran modelos at omicos que a su vez pueden acoplarse con otros modelos at omicos o acoplados. Si bien existen distintas maneras de acoplar modelos DEVS, en este curso utilizaremos siempre el acoplamiento mediante puertos de entrada/salida. Cada conexi on interna involucra un puerto de entrada y un puerto de salida de dos subsistemas. Adem as, en el contexto del acoplamiento jer arquico, tambi en pueden existir conexiones desde los puertos de salida de un subsistema hacia los puertos de salida del sistema que lo contiene. Dichas conexiones se denominan conexiones externas de salida. Similarmente, hay conexiones desde los puertos de entrada de un sistema hacia los puertos de entrada de los subsistemas contenidos en dicho sistema. Tales conexiones se denominan conexiones externas de entrada. La Figura 9.6 muestra un modelo DEVS acoplado N , resultado de acoplar los modelos Ma y Mb . En dicho modelo, el puerto de salida 1 de Ma se conecta al puerto de entrada 0 de Mb . Esta conexi on puede representarse por el par ordenado [(Ma , 1), (Mb , 0)]. Otras conexiones son [(Mb , 0), (Ma , 0)], [(N, 0), (Ma , 0)], [(Mb , 0), (N, 1)], etc. De acuerdo a la propiedad de clausura de DEVS, el modelo N puede usarse de la misma forma que si fuera un modelo at omico, y puede ser acoplado con otros modelos at omicos y/o acoplados.

Ma Mb

N Figura 9.6: Modelo DEVS acoplado. Volviendo al ejemplo anterior donde describimos el modelo DEVS MF de una funci on est atica, haciendo uso del acoplamiento podemos reutilizar dicho sistema para formar un modelo que calcule la funci on f2 (u0 , u1 , u2 ) = f [f (u0 , u1 ), u2 ]. Para esto, podemos acoplar dos modelos de la clase MF . Si llamamos A y B a dichos subsistemas, y N al sistema acoplado resultante, el acoplamiento correspondiente estar a dado por las conexiones: [(A, 0), (B, 0)], [(N, 0), (A, 0)], [(N, 1), (A, 1)], [(N, 2), (B, 1)], y [(B, 0), (N, 0)]. En general, m as que describir las conexiones de esta forma, lo que haremos ser a dibujarlas en forma de Diagrama de Bloques similares al mostrado en la Fig.9.6.

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

137

9.5.

Simulaci on de Modelos DEVS

Una de las caracter sticas m as importantes de DEVS es su facilidad para implementar simulaciones. Un modelo DEVS puede simularse con un programa adhoc escrito en cualquier lenguaje. De hecho, la simulaci on de un modelo DEVS no es mucho m as complicada que la de un modelo de tiempo discreto. Un algoritmo b asico que puede utilizarse para simular un modelo DEVS acoplado puede describirse por los siguientes pasos: 1. Identicamos el modelo at omico que, de acuerdo a su tiempo de avance y al tiempo transcurrido, deba ser el pr oximo en realizar la transici on on. interna. Llamamos d a este sistema y tn al tiempo de dicha transici on de 2. Avanzamos el reloj de la simulaci on t a t = tn , y ejecutamos la funci transici on interna del modelo d . 3. Propagamos el evento de salida provocado por d a todos los modelos at omicos conectados al puerto de salida y ejecutamos las funciones de transici on externas correspondientes. Luego, volvemos al paso 1. Una de las maneras m as simples de implementar estos pasos es escribiendo un programa con una estructura jer arquica equivalente a la del modelo a ser simulado. Aunque, como ya dijimos, la implementaci on de una simulaci on de DEVS es muy simple, en general los modelos que se utilizan en la pr actica est an compuestos por muchos subsistemas y, hacer un programa adhoc de todos estos modelos suele tornarse muy trabajoso. Por esto, hay disponibles varias herramientas de software para la simulaci on de modelos DEVS que simplican mucho la tarea de modelado y de simulaci on. En este curso, utilizaremos PowerDEVS. Este software, a pesar de ser un simulador de DEVS de prop osito general, fue concebido especialmente para facilitar la simulaci on de sistemas continuos. PowerDEVS tiene una interface gr aca que permite crear modelos DEVS acoplados con las herramientas t picas de drag and drop. Cuenta tambi en con librer as que tienen varios modelos at omicos ya denidos (muchos de ellos para realizar simulaciones con m etodos de integraci on que veremos luego). Adem as, los modelos at omicos pueden crearse y modicarse f acilmente utilizando el editor de modelos at omicos, donde el usuario s olo debe denir las funciones de transici on, de salida y de avance de tiempo utilizando sintaxix C++. Lo que hace PowerDEVS para ejecutar una simulaci on es armar y compilar un programa en C++, utilizando para esto la informaci on del acoplamiento del modelo gr aco, el c odigo C++ contenido en cada modelo at omico y ciertas rutinas preestablecidas (tambi en programadas en C++) encargadas de llevar a cabo la simulaci on.

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

138

9.6.

DEVS y Simulaci on de Sistemas Continuos

En el primer ejemplo de la Secci on 9.3, vimos que las trayectorias seccionalmente constantes pod an representarse mediante secuencias de eventos. Esta simple idea constituye en realidad la base del uso de DEVS en la simulaci on de sistemas continuos. En dicho ejemplo, vimos que un modelo DEVS puee representar el comportamiento de una funci on est atica con una entrada seccionalmente constante. En los sistemas continuos las trayectorias no tienen esta forma, pero podr amos alterarlos para que las trayectorias sean as . De hecho, esto es lo que hicimos con el sistema de la Ec.(9.1), donde utilizamos la funci on oor para convertirlo en el sistema de la Ec.(9.2). Volviendo a este ejemplo, podemos dividir la Ec.(9.2) de la siguiente forma:

x (t) q (t) y:

= dx (t) = oor[x(t)]

(9.4a) (9.4b)

dx (t) = q (t) + u(t)

(9.5)

donde u(t) = 10 (t 1.76). Podemos representar este sistema usando el Diagrama de Bloques de la Fig.9.7.

u(t)

dx (t)

x(t)

q (t)

Figura 9.7: Diagrama de Bloques de las Ecs.(9.49.5). Como dijimos antes, el subsistema de la Ec.(9.5) siendo una funcion on 9.3. est atica puede representarse por el modelo DEVS MF de la Secci El subsistema de la Ec.(9.4) is un sistema din amico que tiene una entrada seccionalmente constante dx (t) y una salida seccionalmente constante q (t). Podemos representar este sistema exactamente utilizando el siguiente modelo DEVS:

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

139

MQI = (X, Y, S, int , ext , , ta), donde X =Y = N S = 2 Z + 0 int (s) = int (x, dx , q, ) = (x + dx , dx , q + sign(dx ), 1 ) |dx | ext (s, e, x) = ext (x, dx , q, , e, xv , p) = (x + e dx , xv , q, ) (s) = (x, dx , q, ) = (q + sign(dx ), 0)

ta(s) = ta(x, dx , q, ) = con: q+1x xv qx = xv si xv > 0 si xv < 0 en otro caso

Ahora, si queremos simular el sistema de las Ecs.(9.49.5) con PowerDEVS, podemos traducir los modelos DEVS at omicos MF y MQI , en modelos at omicos PowerDEVS. Un modelo at omico de PowerDEVS correspondiente a MF tendr a, en el editor de modelos at omicos, la siguiente forma:
ATOMIC MODEL STATIC1 State Variables and Parameters: double u[2],sigma; //states double y ; //output double inf ; //parameters Init Function: inf = 1e10; u[0] = 0; u[1] = 0; sigma = inf ; y = 0; Time Advance Function: return sigma; Internal Transition Function: sigma = inf ; External Transition Function: double xv ; xv = *(double*)(x.value); u[x.port] = xv ;

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION


sigma = 0; Output Function: y = u[0] u[1]; return Event(&y ,0);

140

La conversi on del modelo DEVS MF en el correspondiente modelo de PowerDEVS STATIC1 es trivial. De manera similar, el modelo DEVS MQI puede representarse en PowerDEVS como:
ATOMIC MODEL NHINTEGRATOR State Variables and Parameters: double X , dX , q , sigma; //states //we use capital X because x is reserved double y ; //output double inf ; //parameters Init Function: va list parameters; va start(parameters, t); X = va arg(parameters, double); dX = 0; q =oor(X ); inf = 1e10; sigma = 0; y = 0; Time Advance Function: return sigma; Internal Transition Function: X = X + sigma dX ; if (dX > 0) { sigma = 1/dX ; q = q + 1; } else { if (dX < 0) { sigma = 1/dX ; q = q 1; } else { sigma = inf ; }; };

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION


External Transition Function: double xv ; xv = *(double*)(x.value); X = X + dX e; if (xv > 0) { sigma = (q + 1 X )/xv ; } else { if (xv < 0) { sigma = (q X )/xv ; } else { sigma = inf ; }; }; dX = xv ; Output Function: if (dX == 0) {y = q ;} else {y = q + dX/fabs(dX );}; return Event(&y ,0);

141

Nuevamente, la traducci on es directa. Sin embargo, en este u ltimo caso agregamos algunos nuevos elementos a la funci on de inicializaci on. Las dos primeras l neas las incluye autom aticamente el editor de modelos at omicos cuando se edita un nuevo modelo. Estas declaran la variable parameters, donde la interface gr aca coloca los par ametros del modelo. En nuestro caso, denimos la condici on inicial en la variable X como un par ametro. Luego, la tercera linea de la funci on de inicializaci on s mplemente toma el primer par ametro del bloque y lo coloca en X . De esta manera, en la interface gr aca, podemos s mplemente hacer doble click en el bloque y cambiar el valor de dicho par ametro (o sea, podemos cambiar la condici on inicial sin cambiar la denici on del modelo at omico). en que ver con la El otro cambio con respecto al modelo MF tiene tambi inclusi on de las condiciones iniciales. Al principio de la simulaci on, forzamos al modelo a provocar un evento, de manera tal que el valor inicial de la variable cuanticada correspondiente q sea conocida por el resto del sistema. El modelo PowerDEVS generado utilizando el modelo gr aco del editor se muestra en la Fig.9.8. En este modelo, adem as de los modelos at omicos STATIC1 y NHINTEGRATOR, incluimos tres bloques m as: un bloque STEP que produce un evento con valor 10 en el instante t = 1.76, y dos modelos adicionales que graban y muestran los resultados de simulaci on. Estos u ltimos tres modelos est an incluidos en las librer as est andares de la distribuci on de PowerDEVS. Utilizando el modelo PowerDEVS de la Fig.9.8, obtuvimos los datos mostrados en la Fig.9.1. La gr aca de dicha gura fue generada por MATLAB, utilizando los datos grabados en un archivo por el bloque iss2dsk.

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

142

iss2disk1

Step1

Static1

NHIntegrator

Scope1

Figura 9.8: Modelo PowerDEVS Acoplado de las Eqs.(9.49.5). El subsistema de la Ec.(9.4) corresponde al integrador junto con el bloque en forma de escalera del diagrama de la Fig.9.7. Dicho subsistema es equivalente al modelo DEVS MQI representado por el modelo NHINTEGRATOR en PowerDEVS. Esto es lo que Zeilger llam o integrador cuanticado. Aqu , la funci on oor act ua como una funci on de cuanticaci on. En general, una funci on de cuanticaci on mapea un dominio continuo de n umeros reales en un conjunto discreto de los reales. Un sistema que relacione su entrada y su salida mediante cualquier tipo de funci on de cuanticaci on ser a entonces llamado cuanticador. Luego, nuestro bloque con forma de escalera es un caso particular de cuaticador con cuanticaci on uniforme. Un integrador cuanticado es entonces un integrador concatenado con un cuanticador. on est atica con su De manera similar, el modelo MF representa una funci vector de entrada en 2 . El modelo STATIC1 de PowerDEVS implementa un caso particular de dicha funci on est atica, esto es, la funci on f (u0 , u1 ) = u0 u1 . Un modelo DEVS para una funci on est atica gen erica con su vector de entrada acilmente construirse y programarse en PowerDEVS. en n puede f As mismo, podemos obtener un modelo DEVS que represente un integrador cuanticado general (con cualquier funci on de cuanticaci on). Luego, si tenemos un sistema general invariante en el tiempo1 : x a1 x a2 x an = = . . . = f1 (xa1 , xa2 , , xan , u1 , , um ) f2 (xa1 , xa2 , , xan , u1 , , um ) fn (xa1 , xa2 , , xan , u1 , , um )

(9.6)

con trayectorias de entrada seccionalmente constantes uj (t), podemos transfor1 Utilizaremos x para referirnos a las variables de estado del sistema original, tal que x (t) a a sea la soluci on anal tica.

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION marlo en: x 1 x 2 x n = = . . . = f1 (q1 , q2 , , qn , u1 , , um ) f2 (q1 , q2 , , qn , u1 , , um ) fn (q1 , q2 , , qn , u1 , , um )

143

(9.7)

on de cuanticaci on. donde qi (t) se relaciona con xi (t) mediante alguna funci Las variables qi se llaman variables cuanticadas. Este sistema de ecuaciones puede representarse mediante el diagrama de bloques de la Fig.9.9, donde q y u son los vectores formados por las variables cuanticadas y por las variables de entrada respectivamente.

u f1 . . . xn fn q x1 q1

qn

Figura 9.9: Diagrama de Bloques de la Ec.(9.7). Cada subsistema en la Fig.9.9 puede representarse exactamente por un modelo DEVS, ya que todos los subsistemas son funciones est aticas o integradores cuanticados. Estos modelos DEVS pueden acoplarse, y, debido a la clausura bajo acoplamiento, el sistema completo formar a tambi en un modelo DEVS. Entonces, cuando un sistema se modica agregando cuanticadores en la salida de todos los integradores, el sistema resultante es equivalente a un modelo DEVS acoplado que puede simularse, siempre y cuando todas las entradas sean seccionalmente constantes. Esta idea constituye la primer aproximaci on a un m etodo para simular sistemas continuos mediante eventos discretos. Desafortunadamente, esta idea no funciona . . . . Este m etodo nos llevar a en la mayor parte de los casos a un modelo DEVS ileg timo, es decir, un modelo que realiza un n umero innito de transiciones en un intervalo acotado de tiempo. De tal forma, la simulaci on se trabar a luego de cierto tiempo. Podemos observar este problema en el sistema de las Ecs.(9.49.5) s mplemente cambiando la entrada a u(t) = 10.5 (t 1.76) (en realidad el problema

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

144

aparece utilizando cualquier valor constante no entero de u(t)). Las trayectorias hasta t = 1.76 son las mismas que antes (Fig.9.1). Tras aplicar el escalor, las trayectorias crecen un poco m as r apido que antes, pero cuando x(t) = q (t) = 10, la derivada del estado ya no se hace 0. En lugar de eso, contin ua creociendo con una pendiente x (t) = 0.5. Luego, tras 2 unidades de tiempo, tenemos x(t) = q (t) = 11. Entonces, la pendiente se torna negativa. y x(t) decrece con una pendiente x (t) = 0.5. Luego, q (t) inmediatamente retorna a 10, la derivada del estado se torna positiva nuevamente y x(t) comienza a crecer de nuevo. Todo esto ocurre en realidad en tiempo 0, por lo que la frecuencia de las oscilaciones es innita. Como veremos en a continuaci on, este problema se puede resolver con una simple modicaci on en la estrategia de cuanticaci on. Esta nueva estrategia es lo que da lugar al primer m etodo num erico de cuanticaci on, denominado m etodo de los sistemas de estados cuanticados, y abreviado como m etodo de QSS (por Quantized State Systems ).

9.7.

M etodo de los Sistemas de Estados Cuanticados (QSS)

Si analizamos las oscilaciones innitamente r apidas en el sistema de las Ecs.(9.49.5), podemos ver que las mismas se deben a los cambios en q (t). Un cambio innitesimal en x(t) puede producir, debido a la cuanticaci on, una oscilaci on importante con una frecuencia innita en q (t). Una soluci on a esto es utilizar hist eresis en la cuanticaci on. Agregando hist eresis a la relaci on entre x(t) y q (t), las oscilaciones en esta u ltima pueden ser s olo debidas a oscilaciones grandes en x(t). Si la derivada x (t) es nita, una oscilaci on grande en x(t) no puede ocurrir instantaneamente sino que tiene una frecuencia m axima acotada. Entonces, antes de presentar formalmente el m etodo de QSS, deniremos el concepto de funci on de cuanticaci on con hist eresis. Supongamos que x(t) : es una trayectoria continua en el tiempo, y supongamos que q (t) : es una trayectoria seccionalmente constante. Luego, diremos que x(t) y q (t) se relacionan mediante una funci on de cuanticaci on con hist eresis uniforme si se cumple que: oor[x(t0 )/Q] Q si t = t0 (9.8) q (t) = x(t) si |q (t ) x(t)| Q en otro caso q (t ) El par ametro de la cuanticaci on Q se denomina quantum. Las Figuras 9.109.11 muestran una funci on de cuanticaci on con hist eresis y dos variables relacionadas mediante dicha funci on Ahora, podemos denir el m etodo de QSS:

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION q (t)

145

Q x(t) Q

Figura 9.10: Funci on de Cuanticaci on con Hist eresis.

Q x q t Figura 9.11: Variables Relacionadas con una Funci on de Cuanticaci on con Hist eresis. Dado un sistema como el de la Ec.(9.6), el m etodo de QSS lo transforma en un sistema de estados cuanticados de la forma de la Ec.(9.7), donde cada par de variables xi (t) y qi (t) se relaciona mediante funciones de cuanticaci on con hist eresis. Es decir, para utilizar el m etodo de QSS s mplemente deberemos elegir el quantum a utilizar Qi para cada variable de estado. Se puede demostrar que las variables cuanticadas y de estado son siempre seccionalmente constantes y seccionalmente lineales respectivamente. Por esto, la simulaci on con QSS no puede trabarse como ocurr a con la cuanticaci on sin hist eresis. Para llevar a cabo la simulaci on, al igual que antes, podemos construir un modelo DEVS acoplando los subsistemas correspondientes a las funciones est aticas y a los integradores cuanticados con hist eresis.

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

146

Un integrador cuanticado con hist eresis es un integrador cuanticado donde la funci on de cuanticaci on sin memoria es reemplazada por una con hist eresis. Esto es equivalente a cambiar la Ec.(9.4b) por la Ec.(9.8) en el sistema de la Ec.(9.4). Con esta modicaci on, el integrador cuanticado con hist eresis de la Ec.(9.4a) y la Ec.(9.8) puede representarse por el modelo DEVS: ) MHQI = (X, Y, S, int , ext , , ta), donde X=Y = {0} S= 3 + 0 int (s) = int (x, dx , q, ) = (x + dx , dx , x + dx , 1 ) ext (s, e, xu ) = ext (x, dx , q, , e, xv , p) = (x + e dx , xv , q, 2 ) (s) = (x, dx , q, ) = (x + dx , 0) ta(s) = ta(x, dx , q, ) = con: 1 = y: q + Q (x + e dx ) xv (x + e dx ) (q Q) 2 = |xv | if xv > 0 if xv < 0 si xv = 0 Q |dx |

Como dijimos antes, el m etodo de QSS consiste en elegir el quantum en cada variable de estado. Esto dene autom aticamente el modelo DEVS MHQI . Representando las funciones est aticas f1 , . . . , fn con modelos DEVS similares a los de MF y acopl andolos, el sistema de la Ec.(9.7) puede simularse exactamente (ignorando los problemas de redondeo). La Figura 9.12 nos muestra una representaci on de un QSS gen erico. El integrador cuanticado con hist eresis MHQI puede implementarse en PowerDEVS como sigue:
ATOMIC MODEL HINTEGRATOR State Variables and Parameters: double X , dX , q , sigma; //states double y ; //output double dq , inf ; //parameters Init Function: va list parameters; va start(parameters, t);

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

147

u f1 x1 q1

. . . xn fn q qn

Figura 9.12: Diagrama de Bloques de un QSS.


dq = va arg(parameters, double); X = va arg(parameters, double); dX = 0; q =oor(X/dq ) dq ; inf = 1e10; sigma = 0; Time Advance Function: return sigma; Internal Transition Function: X = X + sigma dX ; if (dX > 0) { sigma = dq/dX ; q = q + dq ; } else { if (dX < 0) { sigma = dq/dX ; q = q dq ; } else { sigma = inf ; }; }; External Transition Function: double xv ; xv = *(double*)(x.value); X = X + dX e;

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION


if (xv > 0) { sigma = (q + dq X )/xv ; } else { if (xv < 0) { sigma = (q dq X )/xv ; } else { sigma = inf ; }; }; dX = xv ; Output Function: if (dX == 0) {y = q ;} else {y = q + dq dX/fabs(dX);}; return Event(&y ,0);

148

A continuaci on, veremos como funciona el m etodo con un ejemplo muy simple, lineal, y de segundo orden: x a1 (t) x a2 (t) con condiciones iniciales: xa1 (0) = 0, xa2 (0) = 0 (9.10) = = xa2 (t) 1 xa1 (t) xa2 (t) (9.9)

Utilizaremos un quantum Q = 0.05 en ambas variables. Luego, el QSS resultante es: x1 (t) = x2 (t) = q2 (t) 1 q1 (t) q2 (t) (9.11)

Este sistema puede simularse utilizando un modelo DEVS acoplado, compuesto por dos modelos at omicos del tipo MHQI (integradores cuanticados) y dos aticas f1 (q1 , q2 ) = modelos at omicos similares a MF que calculen las funciones est q2 y f2 (q1 , q2 ) = 1 q1 q2 . La Figura 9.13 representa el sistema acoplado. on no es necesaria. M as En realidad, como f1 no depende de q1 , esta conexi a un, como f1 (q1 , q2 ) = q2 el subsistema F1 puede reemplazarse por una conexi on directa desde QI2 hacia QI1 . Estas simplicaciones pueden reducir considerablemente el costo computacional de la simulaci on. De hecho, al dibujar el diagrama de bloques en PowerDEVS, autom aticamente hacemos estas simplicaciones (ver Fig.9.14). Los resultados de la simulaci on se muestran en la Fig.9.15. Esta simulaci on se complet o tras 30 transiciones internas en cada integrador cuanticado, lo que da un total de 60 pasos. En la Fig.9.15 pueden verse las trayectorias seccionalmente lineales de x1 (t) y x2 (t), y las trayectorias seccionalmente constantes de q1 (t) y q2 (t).

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION

149

QI1 F1

QI2 F2

Figura 9.13: Diagrama de Bloques de la Ec.(9.11).

iss2disk1

iss2disk2

Step1

WSum1

Integrator2 Integrator1

Scope1

Figura 9.14: Modelo de PowerDEVS. La presencia de la hist eresis se puede notar cuando las pendientes de las variables de estado cambian de signo, ya que cerca de estos puntos tenemos distintos valores de q para el mismo valor de x. Las simplicaciones que mencionamos respecto a las conexiones pueden aplicarse a sistemas generales, donde muchas de las funciones pueden depender de s olo algunas variables de estado. De esta manera, QSS puede explotar las propiedades estructurales de los sistemas para reducir el costo computacional. Cuando el sistema es ralo, las simulaciones suelen ser muy ecientes porque cada paso involucra c alculos en pocos integradores y en pocas funciones. Los m etodos de tiempo discreto (que vimos en los cap tulos anteriores) tambi en pueden explotar las propiedades de raleza. Sin embargo, para esto, hay que aplicar t ecnicas espec cas de manejo de matrices ralas. En el caso de QSS, el aprovechamiento de la raleza es intr nseco al m etodo.

9.8.

Problemas Propuestos

[P9.1] Aquiles y la Tortuga Considerar el sistema de segundo orden:

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION QSSSimulation Results


1.2

150

0.8

x1 (t), q1 (t)

qi (t), xi (t)

0.6

0.4

0.2

x2 (t), q2 (t)
0

0.2

10

Time Figura 9.15: Trayectorias del sistema de la Ec.(9.11).

x a1 x a2

= 0.5 xa1 + 1.5 xa2 = xa1

(P9.1a)

Aplicar la funci on de cuanticaci on sin memoria: xi 1 )+1 (P9.1b) 2 en ambas variables de estado, y estudiar las soluciones del sistema cuanticado: qi = 2 oor( x 1 x 2 = 0.5 q1 + 1.5 q2 = q1 (P9.1c)

desde la condici on inicial xa1 = 0, xa2 = 2. 1. Demostrar que el tiempo de simulaci on no puede avanzar m as de 5 segundos. 2. Dibujar la trayectoria de estado x1 (t) vs. x2 (t).

[P9.2] Funci on Est atica Lineal Obtener un modelo DEVS at omico de una funci on est atica lineal fi : n denida como

POR EVENTOS DISCRETOS CAP ITULO 9. SIMULACION


n1

151

f (u0 , u1 , , un1 ) =
k=0

ak u k

(P9.2a)

donde a0 , , an1 son constantes conocidas. Luego, programar el modelo en PowerDEVS de manera tal que las constantes y el n umero de entradas sean par ametros. [P9.3] Funci on de retarde DEVS Considerar una funci on que represente un retarde jo de tiempo T . f (u(t)) = u(t T ) (P9.3a)

Suponiendo que la entrada u(t) es seccionalmente constante, obtener un modelo DEVS de esta funci on. Crear un bloque PowerDEVS de esta funci on, donde el tiempo de retardo T sea un par ametro. Ayuda: Suponer que el n umero m aximo de cambios en u(t) est a acotado en el per odo T por un n umero jo (10000 por ejemplo). [P9.4] Aquiles y la Tortuga Revisitados Modicar el modelo at omico PowerDEVS NHINTEGRATOR, tal que el cuanticador verique la Ec.(P9.1b), y corroborar por simulaci on lo que se predice en el Problema [P9.1]. [P9.5] Varying Quantum and Hysteresis Obtener la soluci on exacta del sistema de la Ec.(9.9), y luego repetir las simulaciones con QSS utilizando los siguiente valores de quantum: 1. Q1 = Q2 = 0.01 2. Q1 = q2 = 0.05 3. Q1 = q2 = 0.1 4. Q1 = Q2 = 1 Comparar los resultados, y conjeturar sobre los efectos del tama no de la cuanticaci on sobre el error, la estabilidad y el costo computacional (n umero de pasos).

Cap tulo 10

M etodos de Integraci on por Cuanticaci on


Este cap tulo es una traducci on resumida del Cap tulo 12 del libro Continuous System Simulation [2]. De todas maneras, en estas notas hay varios ejemplos diferentes, sobre todo en lo referente al manejo de discontinuidades.

10.1.

Introducci on

En los primeros cap tulos del curso, vimos dos propiedades b asicas de los m etodos num ericos: la precisi on de la aproximaci on y la estabilidad num erica. Para estudiar estos problemas, lo que hac amos era tomar un sistema lineal y analizar la relaci on entre los autovalores de la matriz F de la ecuaci on en diferencias resultantes y los de la matriz A del sistema continuo original. En el contexto del m etodo de QSS que vimos al nal del cap tulo anterior, esto no tiene ning un sentido ya que ni siquiera tenemos una ecuaci on en diferencias. En este caso, para analizar las propiedades mencionadas, es conveniente comparar directamente los sistemas (9.6) y (9.7). Para esto, comenzaremos escribiendo ambas representaciones en notaci on vectorial. El sistema continuo original tiene la forma: x a (t) = f (xa (t), u(t)) y el sistema de estados cuanticados que simula el m etodo de QSS es: x (t) = f (q(t), u(t)) (10.2) (10.1)

donde x(t) y q(t) est an relacionados componente a componente mediante funciones de cuanticaci on con hist eresis. Deniendo x(t) = q(t) x(t), la Ec.(10.2) puede reescribirse como: x (t) = f (x(t) + x(t), u(t)) 152 (10.3)

POR CUANTIFICACION 153 CAP ITULO 10. METODOS DE INTEGRACION y ahora, el modelo de simulaci on de la Ec.(10.2) puede verse como una versi on perturbada del sistema original. Una funci on de cuanticaci on con hist eresis uniforme tiene una propiedad: an relacionadas por dicha funci on, las mismas si dos variables qi (t) y xi (t) est no pueden diferir entre s en m as del quantum. Es decir: |qi (t) xi (t)| Q (10.4)

Esta propiedad implica que cada componente de la perturbaci on x est a acotada por el quantum. En virtud de esto, el an alisis de estabilidad y de precisi on puede basarse en estudiar los efectos de perturbaciones acotadas. Como veremos luego, esto nos permitir a no s olo estudiar la estabilidad, sino tambi en establecer cotas de error global. A pesar de esta ventaja, aparecer a un nuevo problema en QSS, que veremos a continuaci on con un ejemplo. Consideremos el sistema de primer orden: x a (t) = xa (t) + 9.5 (10.5)

con la condici on inicial xa (0) = 0. El resultado de simular este sistema con el m etodo de QSS usando un quantum Q = 1 se muestra en la Fig.10.1 Solution of Eq.(10.5)
11 10 9

QSS Analytical

8 7

xa (t), x(t)

6 5 4 3 2 1 0

10

12

14

16

18

20

Time Figura 10.1: Simulaci on con QSS de la Ec.(10.5). Aunque el sistema de la Ec.(10.5) es asint oticamente estable, la simulaci on con QSS naliza en un ciclo l mite. El punto de equilibrio x = 9.5 no es m as un

POR CUANTIFICACION 154 CAP ITULO 10. METODOS DE INTEGRACION punto de equilibrio estable y luego no podemos armar que el m etodo conserva la estabilidad del sistema. Sin embargo, la soluci on que da QSS nunca se desv a lejos de la soluci on exacta. Incluso, esta naliza con oscilaciones en torno al punto de equilibrio. Teniendo en cuenta que nuestra meta era simular el sistema y obtener trayectorias aproximadas, el resultado obtenido no est a mal. La trayectoria encontrada por el m etodo de QSS se denomina nalmente acotada. En general, los m etodos de integraci on por cuanticaci on no aseguran estabilidad de acuerdo a la denici on cl asica. por lo tanto, hablaremos de estabilidad en t erminos de cota nal de las soluciones obtenidas.

10.2.

Precisi on y Estabilidad en QSS

Para estudiar las propiedades fundamentales de Precisi on y Estabilidad del m etodo de QSS, introduciremos primero algo de notaci on. Utilizaremos el s mbolo | | para denotar el m odulo por componentes de un vector o matriz. Por ejemplo, si G es una matriz de j k con componentes a tambi en una matriz de j k con complejos g1,1 , . . . , gj,k , entonces |G| ser componentes reales positivos |g1,1 |, . . . , |gj,k |. De manera similar, utilizaremos el s mbolo para realizar comparaciones por componentes entre vectores reales de id entica longitud. As , la expresi on x y implica que x1 y1 , . . . , xn yn . Con estas deniciones, llamemos xa (t) a la soluci on del sistema lineal y estacionario (SLE): x a (t) = A xa (t) + B u(t) (10.6)

Sea x(t) la soluci on, comenzando de la misma condici on inicial, de su QSS asociado: x (t) = A q(t) + B u(t) que puede reescribirse como: x (t) = A [x(t) + x(t)] + B u(t) (10.8) (10.7)

Denamos el error e(t) x(t) xa (t). Restando la Ec.(10.6) de la Ec. (10.8), resulta que e(t) satisface la ecuaci on: e (t) = A [e(t) + x(t)] (10.9)

con e(t0 ) = 0 ya que ambas trayectorias, xa (t) y x(t), comienzan desde condiciones iniciales id enticas. Comencemos analizando el caso escalar: e (t) = a [e(t) + x(t)] (10.10)

POR CUANTIFICACION 155 CAP ITULO 10. METODOS DE INTEGRACION Por motivos que pronto se aclarar an, asumiremos que a, e, y x pertenecen a C. Requeriremos tambi en que Re{a} sea negativo. Tambi en supondremos que |x| w, siendo w alguna constante positiva. e(t) puede escribirse en notaci on polar como: e(t) = (t) ej(t) donde (t) = |e(t)|. Luego la Ec.(10.10) queda: (t) = a [(t) ej(t) + x(t)] (t) ej(t) + (t) ej(t) j o: (t) = a [(t) + x(t) ej(t) ] (t) + (t) j Tomando s olo la parte real de la u ltima ecuaci on: (t) = Re{a} (t) + Re{a x(t) ej(t) } Re{a} (t) + |a| |x(t)| Re{a} (t) a w Re { a } (10.14) (10.13) (10.11)

(10.12)

Entonces, como Re{a} es negativo y (0) = 0, ser a siempre cierto que: |e(t)| = (t) a w Re { a } (10.15)

ya que, cuando alcanza el l mite superior, la derivada ser torna negativa (o cero). Veamos ahora el caso desacoplado. Supongamos que la matriz A en la Ec.(10.9) es diagonal, con componentes ai,i complejos con parte real negativa. Supongamos tambi en que |x(t)| w (10.16)

Repitiendo el an alisis escalar para cada componente de e(t), resulta que: |e| |Re{A}1 A| w (10.17)

Finalmente, volvamos nuevamente a la Ec.(10.9), esta vez suponiendo que la matriz A es Hurwitz y diagonalizable. Asumamos que el quantum es tal que: |x| = |q x| Q (10.18)

Llamemos a la matriz diagonal de autovalores de A, y sea V una matriz de autovectores correspondiente. Luego

POR CUANTIFICACION 156 CAP ITULO 10. METODOS DE INTEGRACION

A = V V 1 es la descomposici on espectral de la matriz A. Consideremos el cambio de variables: z(t) = V1 e(t) Usando la nueva variable z, la Ec.(10.9) puede reescribirse como: Vz (t) = A [V z(t) + x(t)] y luego: z (t) = V1 A [V z(t) + x(t)] = [z(t) + V De la Ec.(10.18), resulta que: |V1 x| |V1 | Q
1

(10.19)

(10.20)

(10.21)

(10.22) (10.23)

x(t)]

(10.24)

Teniendo en cuneta que la matriz es diagonal, resulta que la Ec.(10.23) es el caso diagonal que analizamos antes. Luego, de la Ec.(10.17), resulta que: |z(t)| |Re{}1 | |V1 | Q y entonces: |e(t)| |V| |z(t)| |V| |Re{}1 | |V1 | Q Podemos entonces concluir que: |x(t) xa (t)| |V| |Re{}1 | |V1 | Q (10.27) (10.26) (10.25)

La desigualdad de la Ec.(10.27) tiene implicancias te oricas y pr acticas muy importantes. Puede verse que la cota de error es proporcional al quantum y, para cualquier quantum utilizado, el error est a siempre acotado. Es tambi en importante notar que la desigualdad Ec.(10.27) es la expresi on anal tica de la cota de error global. Los m etodos de tiempo discreto no tienen tales f ormulas. El hecho que la Ec.(10.27) sea independiente de las condiciones iniciales y las trayectorias de entrada tendr a tambi en aparejada sus ventahas. De alguna manera, el m etodo de QSS ofrece un control de error intr seco, sin necesidad de ninguna regla de adaptaci on de paso. Mas a un: El m etodo de QSS es siempre estable, sin utilizar ninguna f ormula impl cita.

POR CUANTIFICACION 157 CAP ITULO 10. METODOS DE INTEGRACION

10.3.

Elecci on del Quantum

El m etodo de QSS requiere elegir un quantum apropiado. Aunque los resultados sean siempre estables, el quantum debe ser el adecuado para obtener resultados de simulaci on decentes. En sistemas lineales y estacionarios, la desigualdad de la Ec.(10.27) puede usarse para dise nar la cuanticaci on. Dado un error m aximo admitido, puede encontrarse f acilmente el valor de Q que satisface dicha desigualdad. De todas formas, para evitar calcular autovalores y autovectores, y teniendo en cuenta la posibilidad de simular sistemas no lineales, podemos dar una regla emp rica para elegir el quantum. Una buena opci on es tomarlo proporcional (por ejemplo 100 veces menor) a la m axima amplitud que tomar a la variable correspondiente. Esto obviamente requiere conocer de antemano el orden de magnitud de las variables de la simulaci on.

10.4.

Se nales de Entrada en el M etodo de QSS

Ya mencionamos que el m etodo de QSS permite simular sistemas estacionarios con entradas seccionalmente constantes. Para incorporar dichas se nales a una simulaci on, todo lo que debemos hacer es agregar un modelo DEVS que genere secuencias de eventos que representen dichas se nales seccionalmente constantes, y luego acoplar estos generadores con las funciones est aticas que calculan las derivadas. Supongamos que tenemos una se nal de entrada escalar seccionalmente constante u(t) que toma los valores v1 , v2 , . . . , vj , . . . en los instantes t1 , t2 , . . . , tj , . . . , respectivamente. Un modelo DEVS que produce eventos de acuerdo a esta se nal de entrada puede especicarse como sigue: MIN = (X, Y, S, int , ext , , ta), donde X= Y = N S =N + 0 int (s) = int (j, ) = (j + 1, tj +1 tj ) (s) = (j, ) = (vj , 0) ta(s) = ta(j, ) = Una ventaja interesante del m etodo de QSS es que trata las trayectorias de entrada de manera asincr onica. El evento que indica un cambio en una se nal siempre se procesa en el instante de tiempo correcto, provocando cambios en las pendientes de las variables de estado afectadas directamente. Esta es una caracter stica intr nseca del m etodo, que se obtiene sin modicar para nada los modelos DEVS de los integradores cuanticados ni de las funciones est aticas. En otras palabras, los eventos temporales se resuelven de

POR CUANTIFICACION 158 CAP ITULO 10. METODOS DE INTEGRACION forma autom atica sin necesidad de agregar nada al c odigo (a diferencia de los m etodos de tiempo discreto donde ten amos que ajustar el paso). Hasta aqu consideramos s olamente entradas seccionalmente constantes. Sin embargo, en la mayor parte de las aplicaciones las se nales de entrada toman formas m as generales. En estos casos, podemos aproximar estas se nales por trayectorias seccionalmente constantes y luego generarlas mediante modelos DEVS. Al hacer esto, debemos tener en cuenta que estamos agregando una nueva fuente de error. En el caso particular de los SLE, la presencia de este nuevo error de cuanticaci on de la entrada transforma la Ec.(10.27) en: |x(t) xa (t)| |V| |Re{}1 | |V1 | Q +|V| |Re{}1 V1 B| u

(10.28)

donde u es el vector con el m aximo error de cuenticaci on en cada se nal de entrada (ver Prob.[P10.2]).

10.5.

Arranque e Interpolaci on

El arranque del m etodo de QSS consiste en asignar condiciones iniciales apropiadas a los modelos at omicos DEVS que realizan la simulaci on. El estado del integrador cuanticado puede escribirse como s = (x, dx , q, ) (ver modelo MHQI en la p agina 146), donde x es la variable de estado, dx su derivada, q es la variable cuanticada y el avance de tiempo. Es claro de debemos elegir x = xi (t0 ) y q = |DeltaQi = oor(xi (t0 )/Qi ). Una manera sencilla de inicializar todas las dem as variables (incluyendo las de las funciones est aticas), es colocando = 0, de modo tal que todos los integradores cuanticados realicen un paso en t = t0 en el cual muestren el valor de salida que tienen, de forma tal que las funciones est aticas calculen correctamente las derivadas iniciales. Esto, de todas formas, puede conllevar un problema. Como todos los integradores intentar an provocar un evento al mismo tiempo, el simulador elegir a uno de ellos para comenzar (de acuerdo a las prioridades ). Tras esto, algunas funciones est aticas recibir an el primer evento y tambi en colocar an su en cero. Por lo tanto, es posible que el simulador escoja alguna de estas funciones para producir la salida y entonces algunos integradores recibir an un evento antes de sacar el suyo correspondiente. Si ocurriera esto, tras las transiciones externas de dichos integrador, los sigma correspondientes se modicar an y ya no ser an 0 y nadie ver a cu ales eran los estados iniciales. Por lo tanto, hay que vericar en la transici on externa de los integradores la condici on = 0. En tal caso, se deber a dejar = 0 para forzar el evento de salida. Por u ltimo, los generadores de se nales tambi en deber an tener iniciamente su valor de sigma = 0 para que las funciones est aticas calculen las derivadas correctamente desde el instante inicial.

POR CUANTIFICACION 159 CAP ITULO 10. METODOS DE INTEGRACION En cuanto a la interpolaci on de valores de salida, como sabemos, las trayectorias de estado en QSS son seccionalmente lineales y continuas. Por lo tanto, el problema es trivial: podemos conocer el valor del estado en cualquier instante de tiempo. Es importante tener en cuenta que las Ecs.(10.27) y (10.28) son v alidas para todo t, por lo que los valores interpolados se mantienen tambi en dentro de la cota te orica de error global.

10.6.

M etodo de QSS de Segundo Orden

M as all a de las propiedades te oricas importantes del m etodo de QSS, el principal problema del mismo es que realiza s olo una aproximaci on de primer orden y no puede obtenerse una buena precisi on. De hecho, la Ec.(10.27) nos muestra que la cota de error crece linealmente con el quantum y entonces para disminuir 100 veces el error debemos disminuir 100 veces el quantum, lo que aumentar a aproximadamente en 100 veces el n umero de pasos. Para mejorar esta situaci on, existe un m etodo de segundo orden denominado m etodo de cuanticaci on de estados de segundo orden, o s mplemente QSS2, que como veremos, tendr a propiedades muy similares a QSS. La idea b asica de QSS2 es la utilizaci on de cuanticadores de primer orden, que reemplazan las funciones de cuanticaci on con hist eresis de QSS. En un cuanticador con hist eresis, la variable seccionalmente constante q (t) cambia cada vez que diere de x(t) en el quantum Q. La idea del cuanticador de primer orden es la misma, s olo que ahora la salida del cuanticador q (t) es seccionalmente lineal, como se muestra en la Fig.10.2. First Order Quantizer

Input Output

Figura 10.2: Entrada y salida en un cuanticador de primer orden.

POR CUANTIFICACION 160 CAP ITULO 10. METODOS DE INTEGRACION Formalmente, diremos que las trayectorias x(t) y q (t) se relacionan con una funci on de cuanticaci on de primer orden si satisfacen: x(t) si t = t0 |q (t ) x(t )| = Q en otro caso q (tj ) + mj (t tj )

q (t) =

(10.29)

con la secuencia t0 , . . . , tj , . . . denida como: n(t), tj +1 = m y las pendientes: m0 = 0; mj = x (t j ), j = 1, . . . , k, . . . t > tj |x(tj ) + mj (t tj ) x(t)| = Q

Puede notarse que la funci on de cuanticaci on de primer orden tiene hist eresis (debido a la presencia de la funci on valor absoluto). El m etodo de QSS2 entonces simula un sistema con el de la Ec.(10.2), donde las componentes de q(t) y de x(t) se relacionan componente a componente mediante funciones de cuanticaci on de primer orden. En consecuencia, las variables cuanticadas qi (t) son seccionalmente lineales. En QSS, tanto las variables cuanticadas como las derivadas del estado eran seccionalmente constantes. En QSS2, las variables cuanticadas ser an seccionalmente lineales, pero no puede garantizarse que las derivadas del estado tambi en lo sean. El problema es que al aplicar una funci on no lineal a una trayectoria seccionalmente lineal el resultado no es seccionalmente lineal. En el caso lineal, sin embargo, si las trayectorias de entrada tambi en son seccionalmente lineales, las derivadas de las variables de estado ser an tambi en seccionalmente lineales y las trayectorias de estado ser an seccionalmente parab olicas. En los casos no lineales, lo que haremos ser a aproximar las derivadas de los estados por funciones seccionalmente lineales, y obtendremos tambi en trayectorias de estado seccionalmente parab olicas. Para construir los modelos DEVS utilizaremos la misma idea de QSS, pero ahora, como las trayectorias ser an seccionalmente lineales, deberemos tener en cuenta no s olo los valores sino tambi en las pendientes de las mismas. Por lo tanto, los eventos deber an llevar dos n umeros, uno indicando el valor instant aneo y el otro la pendiente de cada segmento lineal de la trayectoria. Al igual que en QSS, tendremos modelos de integradores cuanticados (ahora de segundo orden) y funciones est aticas. Para obtener el modelo DEVS de un integrador cuanticado de segundo orden, supondremos que la derivada del estado se describe, en un intervalo [tk , tk+1 ], mediante: x (t) = dx (tk ) + mdx (tk ) (t tk ) (10.30)

donde dx (tk ) es la derivada del estado en tk , y mdx (tk ) es la pendiente correspona, en general, diferente diente. La pendiente de la derivada del estado, mdx , ser

POR CUANTIFICACION 161 CAP ITULO 10. METODOS DE INTEGRACION a la pendiente de la variable cuenticada, mq . Luego, la trayectoria del estado se puede escribir como: x(t) = x(tk ) + dx (tk ) (t tk ) + mdx (tk ) (t tk )2 2 (10.31)

Si tk es un instante en el cual ocurre un cambio en la variable cuanticada, a el mismo es decir, es el instante de una transici on interna, entonces q (tk ) tomar valor y pendiente que x(tk ): q (t) = x(tk ) + dx (tk ) (t tk ) = q (tk ) + mq (tk ) (t tk ) (10.32)

y luego, el instante de tiempo en que x(t) y q (t) diferir an entre s en Q puede calcularse como: t = tk + 2 Q |mdx (tk )| (10.33)

Si tk es otro instante de tiempo, o sea, el tiempo de una transici on externa, el tiempo en el cual |q (t) x(t)| = Q deber a recalcularse. Ahora, la trayectoria cuanticada puede escribirse como: q (t) = q (tk ) + mq (tk ) (t tk ) (10.34)

y deberemos calcular el valor de t en el cual |q (t) x(t)| = Q hallando las ra ces de un polinomio cuadr atico. Siguiendo estas ideas, un modelo DEVS que representa el comportamiento de un integrador cuanticado de segundo orden puede ser el siguiente. MQI 2 = (X, S, Y, int , ext , , ta), donde: X = 2N S= Y =
5

+ 0 2 N

int (dx , mdx , x, q, mq , ) = (dx + mdx , mdx , q , q , dx + mdx , 1 ) , q + mq e, mq , 2 ) ext (dx , mdx , x, q, mq , , e, xv , mxv , p) = (xv , mxv , x (dx , mdx , x, q, mq , ) = ( q , dx + mdx , 0) ta(dx , mdx , x, q, mq , ) = con: q = x + dx + 1 = md x md x 2 2 ; x e = x + dx e + 2 2 2 Q |mdx | si mdx = 0 en otro caso (10.35)

POR CUANTIFICACION 162 CAP ITULO 10. METODOS DE INTEGRACION on positiva de: y 2 debe calcularse como la menor soluci mx v 2 (q + mq e + mq 2 )| = Q (10.36) 2 2 Este modelo MQI 2 representa exactamente un integrador cuanticado de segundo orden con entrada seccionalmente lineal. El modelo atomico PowerDEVS correspondiente puede ponerse como: |x + xv 2 +
ATOMIC MODEL QSS2INT State Variables and Parameters: double dx, mdx, X, q, mq, sigma; //states double y [2]; //output double inf, dq ; //parameters Init Function: va list parameters; va start(parameters, t); dq = va arg(parameters, double); X = va arg(parameters, double); inf = 1e10; q = X; dx = 0; mdx = 0; mq = 0; sigma = 0; Time Advance Function: return sigma; Internal Transition Function: X = X + dx sigma + mdx/2 sigma sigma; q = X; dx = dx + mdx sigma; mq = dx; if (mdx == 0) { sigma = inf ; } else sigma = sqrt(2 dq/fabs(mdx)); }; External Transition Function: double xv ; double a, b, c, s; xv = (double)(x.value); X = X + dx e + mdx/2 e e; dx = xv [0]; //input value mdx = xv [1]; //input slope if (sigma ! = 0) { q = q + mq e;

POR CUANTIFICACION 163 CAP ITULO 10. METODOS DE INTEGRACION


a = mdx/2; b = dx mq ; c = X q + dq ; sigma = inf ; if (a == 0) { if (b ! = 0) { s = c/b; if (s > 0) {sigma = s;}; c = X q dq ; s = c/b; if ((s > 0) && (s < sigma)) {sigma = s;}; }; } else { s = (b + sqrt(b b 4 a c))/2/a; if (s > 0) {sigma = s;}; s = (b sqrt(b b 4 a c))/2/a; if ((s > 0) && (s < sigma)) {sigma = s;}; c = X q dq ; s = (b + sqrt(b b 4 a c))/2/a; if ((s > 0) && (s < sigma)) {sigma = s;}; s = (b sqrt(b b 4 a c))/2/a; if ((s > 0) && (s < sigma)) {sigma = s;}; };

};

Output Function: y [0] = X + dx sigma + mdx/2 sigma sigma; y [1] = u + mdx sigma; return Event(&y [0], 0);

En QSS, adem as de integradores cuanticados, utilizamos tambi en modelos DEVS de funciones est aticas. Para QSS2 tambi en necesitaremos estas funciones, pero las mismas deber an tambi en tener en cuenta las pendientes. on est atica f (q, u) recibe las trayectorias Cada componente fj de una funci seccionalmente lineales de las variables cuanticadas y de entrada. Deniendo v [q; u], cada componente de v es seccionalmente lineal: vj (t) = vj (tk ) + mvj (tk ) (t tk ) Luego, la salida de la funci on est atica se puede escribir: x i (t) = fi (v(t)) = fi (v1 (tk ) + mv1 (tk ) (t tk ), . . . , vl (tk ) + mvl (tk ) (t tk )) donde l es el n umero de componentes de v(t). Deniendo mv [mv1 , . . . , mvl ]T , la u ltima ecuaci on puede reescribirse como: x i (t) = fi (v(t)) = fi (v(tk ) + mv (tk ) (t tk ))

POR CUANTIFICACION 164 CAP ITULO 10. METODOS DE INTEGRACION que puede desarrollarse en serie de Taylor: fj (v(tk )) v
T

x i (t) = fi (v(t)) = fi (v(tk )) +

mv (tk ) (t tk ) + . . . (10.37)

Luego, una aproximaci on seccionalmente lineal de la salida puede obtenerse truncando la serie de Taylor tras los dos primeros t erminos de la Ec.(10.37). En el caso lineal, tenemos f (v(t)) = A v(t), y luego: fi (v(t)) = ai T v(t) donde ai l . Luego: x i (t) = ai T v(tk ) + ai T mv (tk ) (t tk ) lo que implica que el valor de salida y su pendiente se obtienen como combinaciones lineales de sus valores de entrada y sus pendientes respectivas. La construcci on del modelo DEVS correspondiente se deja como ejercicio (Prob. [P10.3]). El caso no lineal requiere conocer las derivadas parciales de fi . En caso que no conozcamos la expresi on de las mismas, deber amos calcularlas de manera num erica. Un modelo DEVS que sigue esta idea para una fuci on no lineal gen erica fi (v) = f (v1 , . . . , vl ) es el que sigue: MF 2 = (X, S, Y, int , ext , , ta), donde: X = 2N S= Y =
3l

+ 0 2 N

int (v, mv , c, ) = (v, mv , c, ) , m v, c, 0) ext (v, mv , c, , e, xv , mxv , p) = (v (v, mv , c, ) = (fi (v), mf , 0) ta(v, mv , c, ) = Los coecientes c = (c1 , . . . , cl )T y c = ( c1 , . . . , c l )T son estimas de las fi derivadas parciales vj utilizadas para calcular la pendiente de salida de acuerdo a:
n

mf =
j =1

cj mvj

Tras una transici on externa, las entradas, sus pendientes y las derivadas se actualizan seg un: v j = xv vj + mvj e si p + 1 = j en otro caso

POR CUANTIFICACION 165 CAP ITULO 10. METODOS DE INTEGRACION

m vj =

mx v mvj

si p + 1 = j en otro caso

) fi (v + mv e) fi (v vj + mvj e v j c j = c j

si p + 1 = j vj + mvj e v j = 0 en otro caso

(10.38) donde p denota el n umero del puerto correspondiente a la entrada que cambia. Siempre que sea posible, convendr a reemplazar la Ec.(10.38) por la expresi on anal tica de la derivada parcial correspondiente. El modelo PowerDEVS de esta funci on est atica no lineal general es el que sigue:
ATOMIC MODEL STFUNCTION2 State Variables and Parameters: double sigma, v [10], mv [10], c[10]; //states double y [2]; //output double inf ; int l; Init Function: va list parameters; va start(parameters, t); l = va arg(parameters, double); inf = 1e10; sigma = inf ; for (int i = 0; i < l; i + +) { v [i] = 0; mv [i] = 0; }; Time Advance Function: return sigma; Internal Transition Function: sigma = inf ; External Transition Function: double xv ; double f v, vaux; xv = (double)(x.value); for (int i = 0; i < l; i + +) { v [i] = v [i] + mv [i] e; }; f v = fj (v );//put your function here vaux = v [x.port]; v [x.port] = xv [0]; mv [x.port] = xv [1];

POR CUANTIFICACION 166 CAP ITULO 10. METODOS DE INTEGRACION


y [0] = fj (v ); //put your function here if (vaux ! = v [x.port]) { c[x.port] = (f v y [0])/(vaux v [x.port]); }; y [1] = 0; for (int i = 0; i < l; i + +) { y [1] = y [1] + mv [i] c[i]; }; sigma = 0; Output Function: return Event(&y [0], 0);

El problema de este modelo de PowerDEVS es que debe denirse un modelo at omico nuevo para cada funci on distinta. Sin embargo, en PowerDEVS hay un ametro, bloque que permite ingresar la expresi on de la funci on fj como un par y que luego hace uso de un parser de expresiones algebraicas. Adem as, en PowerDEVS hay modelos de distintas funciones no lineales ya denidas (mutiplicadores, senos, cosenos, funciones cuadr aticas, c ubicas, etc.) que dieren del modelo mostrado en que utilizan la expresi on anal tica de las derivadas parciales. En cuanto a las se nales de entrada, el principio es exactamente el mismo que en QSS, s olo que ahora podemos tambi en representar trayectorias seccionalmente lineales en forma exacta. PowerDEVS cuenta con varios modelos de generadores de se nales para QSS2. Utilizando los modelos MQI 2 , MF 2 y eventualmente modelos para generar trayectorias de entrada, y acoplando de la misma forma que en QSS, podemos simular cualquier sistema mediante el m etodo de QSS2. Respecto a las propiedades de estabilidad y precisi on, recordemos que en QSS deducimos las mismas a partir de considerar que el QSS era una versi on perturbada del sistema original, y que las perturbaciones eran acotadas (ya que an entre s m as que Qi ). Es muy f acil de ver que en QSS2 xi y qi nunca difer pasa exactamente lo mismo, ya que la denici on de la funci on de cuanticaci on de primer orden tambi en implica que cada t ermino de perturbaci on estar a acotado por el quantum correspondiente. En denitiva, la Ec.(10.27) tendr a validez tambi en en QSS2. Una pregunta que puede surgir aqu es la siguiente: para qu e usar QSS2 si tiene el mismo error que QSS?. La respuesta es simple: en QSS el n umero de pasos aumenta linealmente al disminuir el quantum, en cambio en QSS2 el n umero de pasos aumenta s olo con la ra z cuadrada, como puede verse en la Ec.(10.35). Adem as, mirando la Fig.10.2 queda claro que QSS2 utilizar a en general menos pasos que QSS cuando ambos tengan el mismo quantum. Como ejemplo de todo esto, veamos un caso de simulaci on con QSS2: El circuito de la Fig.10.3 representa una linea de transmisi on RLC similar a la que vimos en el cap tulo 8 del curso.

POR CUANTIFICACION 167 CAP ITULO 10. METODOS DE INTEGRACION R Vin L C R L C R L C Vout

Figura 10.3: L nea de transmisi on RLC. Considerando cinco secciones, se obtiene un modelo lineal de orden 10 cuya matriz de evoluci on es: A= R/L 1/L 0 0 0 1/C 0 1/C 0 0 0 1/L R/L 1/L 0 0 0 1/C 0 1/C . . . . . . . . . . . . . . . 0 0 0 0 0 0 0 0 0 . . . 0 0 0 0 0 . . . 0 0 0 0 0 . . . 0 0 0 0 . . . 0 0 0 0 . . . 0

0 1/C

Considerando que esta l nea representa una pista de un circuito digital, una forma t pica de trayectoria de entrada es una onda trapezoidal, que puede representarse exactamente en QSS2 mediante un modelo DEVS (la trayectoria es seccionalmente lineal). Dado que la representaci on es exacta, tiene validez la ecuaci on de la cota de error Ec.(10.27). Para simular este ejemplo, usamos los par ametros R = 80 , C = 0.2 pF , y L = 20 nH . La entrada trapezoidal tiene tiempos de subida y bajada de T1 = T3 = 10 psec, mientras que la duraci on de los estados alto y bajo es T0 = T2 = 1 nsec. Los niveles bajo y alto son 0 V y 2.5 V , respectivamente. Tomamos un quantum v = 4 mV para las variables que representan voltajes (xj con j par) y i = 10 A para las corrientes (xj con j impar). De acuerdo a la Ec.(10.27), esta cuanticaci on garantiza que el error en la variable Vout = x10 es menor que 250 mV . Las trayectorias de entrada y salida se muestran en la Fig.10.4. La simulaci on tom o un total de 2536 pasos (entre 198 y 319 transiciones internas en cada integrador) para obtener los primeros 3.2 nsec de las trayectorias. Repetimos el experimento usando un quantum 100 veces menor en todas las variables, lo que asegura que el error en Vout es menor que 2.5 mV . Esta nueva simulaci on consumi o un total de 26.883 pasos (aproximadamente 10 veces m as, corroborando lo que dijimos antes de que el n umero de pasos crece con la ra z cuadrada). Aunque el n umero de pasos es grande, no debemos olvidar que cada paso involucra s olamente c alculos escalares en tres integradores (el que realiza la

POR CUANTIFICACION 168 CAP ITULO 10. METODOS DE INTEGRACION QSS2 Simulation
3.5 3

Vin
2.5

Vin (t), Vout (t)

1.5

0.5

0.5

Vout
0 0.5 1 1.5 2 2.5 3 x 10
9

Time

Figura 10.4: Simulaci on con QSS2 de una l nea de transmisi on RLC. transici on y los dos que est an directamente conectados al mismo). Esto se debe a la raleza de la matriz A.

10.7.

Simulaci on de DAEs con los m etodos de QSS

La Figura 10.5 muestra la l nea de transmisi on de la Fig.10.3, modicada con el agregado de una carga. R Vin L C Line R L C R L C Load Rp vz Rl

Figura 10.5: L nea de transmisi on con protecci on para sobretensi on. La carga tiene una resistencia Rl , y un circuito de protecci on formado por on: un diodo Zener y un resistor Rp . El diodo Zener satisface la siguiente relaci iz = I0 1 (vz /vbr )m (10.39)

donde m, vbr e I0 son par ametros. Considerando cinco secciones de la l nea de transmisi on, se obtienen las siguientes ecuaciones:

POR CUANTIFICACION 169 CAP ITULO 10. METODOS DE INTEGRACION

dx1 dt dx2 dt dx3 dt dx4 dt

= = = = . . . = =

1 L 1 C 1 L 1 C

1 vin R L x1 L x2 1 x x1 C 3 1 x2 R L x3 L x4 1 x x3 C 5

(10.40)

dx9 dt dx10 dt

1 R 1 L x8 L x9 L x10 1 1 C x9 Rp C (x10 vz )

Aqu , la variable de salida, vz , es una variable algebraica que satisface: 1 x10 Rp 1 1 + Rp Rl vz I0 =0 1 (vz /vbr )m (10.41)

El sistema completo es evidentemente una DAE y cualquier m etodo de los que vimos en los cap tulos anteriores deber a iterar sobre la Ec.(10.41) durante cada paso para encontrar el valor de vz . Si en cambio intentamos aplicar QSS o QSS3, deber amos reemplazar xi por qi en las ecuaciones Ec.(10.40) y Ec.(10.41):
dx1 dt dx2 dt dx3 dt dx4 dt

= = = = . . . = =

1 L 1 C 1 L 1 C

1 vin R L q1 L q2 1 q q1 C 3 R 1 q q2 L q3 L 4 1 q q3 C 5

(10.42)

dx9 dt dx10 dt

1 R 1 L q8 L q9 L q10 1 1 C q9 Rp C (q10 vz ) vz I0 =0 1 (vz /vbr )m (10.43)

1 q10 Rp

1 1 + Rp Rl

Notar que la Ec.(10.42) parece un QSS, excepto por la presencia de vz . Esta variable vz est a acoplada a q10 , y por lo tanto, cada vez que haya una transici on amos iterar en la Ec.(10.43) para encontrar el nuevo valor de vz , en q10 , deber y luego utilizar este nuevo valor en la Ec.(10.42). Podemos construir un diagrama de bloques de las Ecs.(10.42)(10.43) como sigue: Representamos la Ec.(10.42) mediante integradores cuanticados y funciones est aticas, tratando a vz como si fuera una entrada externa.

POR CUANTIFICACION 170 CAP ITULO 10. METODOS DE INTEGRACION Agregamos un nuevo modelo at omico que compute vz como funci on de q10 . En consecuencia, este bloque tiene a q10 como entrada y a vz como salida. Este u ltimo bloque estar a en cargo de la iteraci on para determinar el nuevo valor de vz , cada vez que q10 cambie. Ignorando errores de redondeo y asumiendo que el bloque de iteraci on pueda calcular vz de forma correcta, el modelo DEVS resultante simular a exactamente la DAE denida por las Ecs.(10.42)(10.43). Notar que el bloque de iteraci on s olo se activa por los cambios en q10 . En todos los otros pasos (cuando cambian las otras nueve variables cuanticadas), no se realiza ninguna iteraci on. De esta manera, los m etodos de QSS explotan intr nsecamente la raleza de las DAEs. El sistema original de las Ecs.(10.40)(10.41) es un caso particular del modelo impl cito que vimos en el Cap tulo 6 del curso: f (x a , xa , u) = 0 (10.44)

En el caso de los m etodos de QSS, conviene reescribir este sistema en la forma semiexpl cita: x a = f (xa , u, za ) g(xar , ur , za ) (10.45a) (10.45b)

0 =

donde za es un vector de variables algebraicas de dimensi on menor o igual que n. Los vectores xar y ur son versiones reducidas de xa y u, respectivamente, que expresan el hecho que no todas las variables de estado y de entrada inuyen directamente en las ecuaciones impl citas del modelo. Una forma directa de transformar el sistema de la Ec.(10.44) en el sistema a , de donde xar = xa , ur = u, y g = f za . de la Ec.(10.45) es deniendo za x Sin embargo, en muchos casos (como en el de la linea de transmisi on), la dimensi on de xar y de ur puede ser efectivamente mucho menor que n. El uso de los m etodos de QSS entonces transforma la Ec.(10.45) en: x 0 = = f (q, u, z) g(qr , ur , z) (10.46a) (10.46b)

y entonces las iteraciones s olo deben ser realizadas en los pasos en los que qr o ur cambien. Todo lo que debemos agregar para simular una DAE con QSS o QSS2 ser a un modelo DEVS que reciba como entradas qr o ur y que tenga como salidas a z. En los hechos, ser a un modelo muy similar al de una funci on est atica s olo que un m etodo iterativo. deber a calcular las componentes zi utilizando alg La Figura 10.6 muestra el nuevo esquema de acoplamiento con el agregado de un nuevo modelo DEVS que calcula z.

POR CUANTIFICACION 171 CAP ITULO 10. METODOS DE INTEGRACION

u(t) f1 . . . xn qn x1 q1

fn q (t)

q (t) qr (t)
Iteration

z (t)

ur (t) Figura 10.6: Esquema de acoplamiento para la simulaci on con QSS de la Ec.(10.45). Aqu no desarrollaremos el modelo gen erico de una funci on est atica impl cita. De todas formas, aclaramos que PowerDEVS tiene un modelo gen erico que resuelve una restricci on algebraica de la forma g (v, z ) = 0, tanto para el m etodo de QSS como para QSS2 (y luego veremos que tambi en lo hace para QSS3).

10.8.

Manejo de Discontinuidades

En los m etodos de tiempo discreto deb amos detectar exactamente los instantes en los cuales ocurr an las discontinuidades, ya que no pod amos integrar pasando a trav es de una discontinuidad. En el caso de los eventos temporales s mplemente deb amos ajustar el paso para que este coincida con el tiempo de ocurrencia del evento. Frente a eventos de estado, en cambio, deb amos iterar para encontrar el instante preciso en el que ocurr a dicho evento. En el caso de los m etodos de QSS, todos estos problemas desaparecer an. Para ver esto, comencemos analizando un ejemplo sencillo. El circuito de la Fig. 10.7 es el elevador de tensi on, que ya vimos en el Cap tulo 7 del curso. Recordemos que en este circuito, la llave se cierra y se abre peri odicamenon entre el tiempo que te, y la tensi on sobre la carga Rl depende de la relaci est a cerrada y el tiempo que permanece abierta. Hab amos visto tambi en el siguiente modelo simplicado de la din amica del circuito:

POR CUANTIFICACION 172 CAP ITULO 10. METODOS DE INTEGRACION L

+
U

C sw (t)

Rl

Figura 10.7: Circuito Elevador.

1 x 1 (t) = (U sw (t) x2 (t)) L 1 x2 (t) ) x 2 (t) = (sw (t) x1 (t) C Rl

(10.47a) (10.47b)

on en el capacitor, U es la donde x2 es la corriente por la bobina, x1 es la tensi tensi on continua de alimentaci on y sw (t) vale 1 (llave abierta) o 0 (llave cerrada). La se nal sw (t) estaba representada por: sw (t) = 0 si t f int(t f ) < 1 en otro caso (10.48)

donde 0 1 era el ciclo activo de la llave, es decir, la fracci on de per odo que permanece cerrada y f es la frecuencia de conmutaci on. Notar que la llave permanece cerrada entre 0 y /f , abierta entre /f y 1/f , nuevamente cerrada entre 1/f y (1 + )/f , etc. Para aplicar el m etodo de QSS o de QSS2, s mplemente haremos lo siguiente: 1 x 1 (t) = (U sw (t) q2 (t)) L 1 q2 (t) x 2 (t) = (sw (t) q1 (t) ) C Rl (10.49a) (10.49b)

Mirando esta u ltima ecuaci on, si nadie nos dice que sw (t) viene de un subsistema discreto, podr amos pensar que se trata de una simple entrada seccionalmente constante. De hecho, los m etodos de QSS lo tratar an as . El hecho de que una se nal sea seccionalmente constante era un problema en los m etodos de tiempo discreto. QSS en cambio trata todas las se nales como seccionalmente constantes. Tanto los integradores como las funciones est aticas pueden recibir eventos en cualquier momento (de hecho, funcionan as a un con los sistemas sin discontinuidades). Por eso, una se nal de entrada seccionalmente constante como sw (t) no trae ning un problema y no requiere ning un tratamiento especial.

POR CUANTIFICACION 173 CAP ITULO 10. METODOS DE INTEGRACION Para corroborar esto, s mplemente construimos el modelo PowerDEVS de la Ec.(10.49). El mismo puede verse en la Fig.10.8.

Figura 10.8: Modelo PowerDEVS del circuito elevador. Para dicho modelo utilizamos los par ametros C = 220106; L = 150106; Rl = 30; U = 5; f = 25000 y = 0.63. La simulaci on desde condiciones iniciales nulas con tiempo nal tf = 0.1 con el m etodo de QSS2 usando un quantum aca que se muestra en Qi = 0.01 en ambas variables da como resultado la gr la Fig.10.9.
12

10

x2 (t)

0.01

0.02

0.03

0.04

Tiempo

0.05

0.06

0.07

0.08

0.09

0.1

Figura 10.9: Tensi on de salida en el circuito elevador. El n umero de pasos fue de 5518 en el integrador que calcula x1 y 4134 en el de x2 . Adem as, hubo 5000 eventos en la variable sw (t). Adem as de haber muy pocos pasos en comparaci on con la frecuencia a la que ocurren las discontiunidades, la principal ventaja de esta simulaci on es que no tuvimos que hacer ning un tipo de tratamiento de discontinuidades. Los m etodos de QSS se las arreglan por s solos.

POR CUANTIFICACION 174 CAP ITULO 10. METODOS DE INTEGRACION Veamos ahora que ocurre en presencia de eventos de estado. Para eso, retomaremos el ejemplo de la pelotita que rebota contra el piso del Cap tulo 7 del curso: x 1 (t) =x2 (t) 1 x 2 (t) = g sw (t) (k x1 (t) + b x2 (t)) m donde sw = 0 1 si x1 (t) > 0 en otro caso (10.51) (10.50a) (10.50b)

Si aplicamos aqu QSS o QSS2, transformaremos la Ecs.(10.50) en: x 1 (t) =q2 (t) x 2 (t) = g sw (t) 1 (k q1 (t) + b q2 (t)) m (10.52a) (10.52b)

En cuanto a la Ec.(10.51) podr amos dejarla como est a (y en ese caso calcuamos cambiarla lar amos sw (t) a partir de la variable de estado x1 ), o podr por: 0 si q1 (t) > 0 (10.53) sw = 1 en otro caso lo que dice que calculamos la variable sw (t) a partir de la variable cuanticada alida. q1 . Cualquiera de las dos opciones es v El u nico cambio respecto a lo que ven amos haciendo es que ahora, sw (t) es una funci on discontinua del estado. Todo lo que necesitamos es un bloque que tenga como entrada q1 (o x1 ) y como salida sw (t). El resto son simples integradores cuanticados y funciones est aticas. El bloque que calcula sw (t) es de hecho una funci on est atica, pero cuando la entrada sea seccionalmente lineal o parab olica, la salida ser a seccionalmente constante y los instantes de las discontinuidades en la salida ser an distintos a los de las discontinuidades de la entrada. Por lo tanto, dicho bloque deber a tener la capacidad de detectar sus propias discontinuidades (o sea, los cruces por 0 de q1 o de x1 ). La Fig.10.10 muestra un modelo PowerDEVS del sistema. En dicho modelo, aparece una funci on discontinua (Comparador), que es el modelo DEVS correspondiente a la Ec.(10.53). Este bloque compara dos entradas (pueden ser hasta seccionalmente parab olicas) y produce eventos cuando las mismas se cruzan. En nuestro caso, una es constante e igual a cero (altura del piso) y la otra es la altura de la pelotita (q1 ). La salida en este caso es entonces la variable sw (t). El bloque Comparador que mencionamos, s mplemente calcula en forma exacta el tiempo para el pr oximo cruce resolviendo una ecuaci on cuadr atica (en caso que alguna entrada sea seccionalmente parab olica, sino es m as simple a un) cada vez que recibe un nuevo evento.

POR CUANTIFICACION 175 CAP ITULO 10. METODOS DE INTEGRACION

Figura 10.10: Modelo PowerDEVS de la pelotita rebotando. Como podemos ver en este ejemplo, el manejo de las discontinuidades en los m etodos de QSS se hace en la propia implementaci on de las funciones est aticas. El resto de los bloques (integradores cuanticados, generadores, y dem as funciones est aticas) no se modican para nada. PowerDEVS cuenta con varios bloques h bridos que manejan discontinuidades y que pueden utilizarse con los m etodos de QSS. Para corroborar el funcionamiento correcto de este modelos simulamos el sistema con el m etodo de QSS2 durante 5 segundos. En este caso, consideramos par ametros m = 1, b = 30, k = 1 106 y g = 9.81. Las condiciones iniciales fueron x(0) = 1 y v (0) = 0. Utilizamos un quantum Qi = 1 104 en ambas variables. Los resultados se muestran en la Fig.10.12. Esta manera tan simple y eciente de tratar las discontinuidades es de hecho la principal ventaja pr actica de los m etodos de QSS.

10.9.

Problemas Propuestos

[P10.1] Cota de Error en Sistemas Lineales Dado el sistema Lineal y Estacionario: x a1 x a2 = = xa2 2 xa1 3 xa2

con condiciones iniciales, xa1 (0) = xa2 (0) = 1. 1. Calcular la soluci on anal tica, xa1 (t) y xa2 (t). etodo de QSS 2. Obtener una soluci on aproximada, x1 (t) y x2 (t), con el m usando Q = 0.05 en ambas variables.

POR CUANTIFICACION 176 CAP ITULO 10. METODOS DE INTEGRACION


1.2

0.8

0.6

x1 (t)

0.4

0.2

0.2

0.5

1.5

Tiempo

2.5

3.5

4.5

Figura 10.11: Simulaci on con QSS2 de la pelotita rebotando. 3. Dibujar las trayectorias de error, ei (t) = xi (t) xai (t), y compararlas con la cota te orica de error dada por la Ec.(10.27).

[P10.2] Error de Cuanticaci on de Entrada Demostrar la validez de la Ec.(10.28). [P10.3] Funci on Lineal Est atica en QSS2 Obtener el modelo DEVS (o PowerDEVS) de una funci on est atica lineal:
l

fi (z) =
j =1

ai,j zj

(P10.3a)

que tenga en cuenta los valores y sus pendientes. [P10.4] Circuito Elevador con Diodos Repetir el Problema [P7.5] utilizando el m etodo de QSS2. [P10.5] Neurona Pulsante Repetir el Problema [P7.6] utilizando el m etodo de QSS2.

Bibliograf a
[1] Fran cois Cellier. Continuous System Modeling. Springer, New York, 1991. [2] Fran cois Cellier y Ernesto Kofman. Continuous System Simulation. Springer, New York, 2006. [3] Donald Erdman. Study of Kinetics: The Estimation and Simulation of Systems of First-Order Dierential Equations. En SUGI Proceedings, 1995. [4] Eugene Izhikevich. Simple Model of Spiking Neurons. IEEE Transactions on Neural Networks, 14(6):15691572, 2003. [5] H. Khalil. Nonlinear Systems. Prentice-Hall, New Jersey, 3rd edici on, 2002. [6] Alexei Sharov. Quantitative Population Ecology. On-line Lecture Course. Department of Entomology Virginia Tech, Blacksburg, VA, 1996. http://www.gypsymoth.ento.vt.edu/sharov/PopEcol/popecol.html.

177

You might also like