42 Simulacion de sistemas dinamicos Métodos de integración de un solo paso 1

Preview:

Citation preview

/42

Simulacion de sistemas dinamicos

Métodos de integración de un solo paso

1

/42

Contenido

Sistemas Stiff

Sistemas marginalmente estables

Metodos de Interpolacion hacia atras

2

/42

SISTEMAS STIFF

3

/42

Sistemas Stiff lineales

4

modos muy rapidos

modos muy lentos

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10

5

10

15

20

25

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 0.10

5

10

15

20

25

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 12

4

6

8

10

12

Un sistema linealse dice que es stiff cuando:

es estable,

y sus autovalores tienen partes reales muy distintas

/42

Sistemas Stiff lineales

5

Simulados con cualquier algoritmo explícito, la presencia de los modos rapidos en los sistemas stiff obliga a utilizar un paso de integracion muy pequeño

para llevar los valores propios al dominio de estabilidad numérica

¿Cuándo un sistema es stiff?

/42

Definicion de un sistema stiff

6

Las ecuaciones diferenciales de tipo rígido son aquellas ecuaciones donde ciertos métodos implícitos, en particular los métodos BDF (Backward Differentiation Formulae), funcionan mejor, normalmente mucho mejor, que los métodos explícitos (Curtiss y Hirschfelder, 1985).

Se dice que una EDO es rígida si su solución numérica para algunos métodos requiere (quizás en una porción del intervalo donde está definida la solución) una disminución del tamaño de paso para evitar la inestabilidad ([Iser98]).

No existe una definición como tal del concepto stiff (“rígido” en español) en la resolución numérica de EDOsDos aproximaciones:

/42

El concepto de sistema stiff existe para el caso no lineal:

Sistemas Stiff no lineales

7

Un sistema de Ecuaciones Diferenciales Ordinarias se dice stiff si,

Definicion:

al integrarlo con un metodo de orden n y tolerancia de error local de 10−n,

el paso de integracion del algoritmo debe hacerse mas pequeño que el valor indicado por la estimacion del error localdebido a las restricciones impuestas por la region de estabilidad numerica.”

Según Cellier y Kofman

/42

Integración de sistemas stiff

8

Dominio de estabilidad numérica del algoritmo de Euler inverso

Para integrar sistemas stiff es necesario buscar metodos que incluyan en su region estable el semiplano izquierdo completo del plano (λ·h), o al menos una gran porcion del mismo.

/42

Metodos de integracion A–estables

9

Un metodo de integracion que contiene en su region deestabilidad a todo el semiplano izquierdo del plano (λ·h) se denomina absolutamente estable, o, mas simplemente, A–estable.

Definicion:

Si un metodo es A-estable podemos elegir la longitud de paso h (al menos para sistemas lineales) solo por motivos de precision, sin

restricciones debidas a la inestabilidad.

Los metodos A–estables son metodos implicitos

/42

Los algoritmos Runge-Kutta explícitos general pueden ser descritos como sigue:

Los metodos explicitos de Runge–Kutta

10

La matriz β es una matriz triangular

etapa 0

etapa j

última etapa ( l )

11

1

1

0 0 0

0 0

0

j ji

l jl ll

Sólo se usan las derivadas de los pasos anteriores: j

/42

Una forma de obtener metodos A–estables es modificar la receta para desarrollar algoritmos RK:

Los metodos implicitos de Runge–Kutta

11

permitiendo elementos no nulos por encima de la diagonal de la matriz β

equivalentemente, sobre y por encima de la diagonal de la tabla de Butcher

/42

Metodos implicitos de Runge–Kutta

12

En especial, los que solo permiten elementos no nulos sobre la diagonal de la tabla de Butcher se denominan:

metodos de Runge–Kutta diagonalmente implicitos o DIRK

Metodos explicitos

/42

SISTEMAS MARGINALMENTE ESTABLES

13

/42

Sistemas marginalmente estables

14

Si algun valor propio (no repetido) de un sistema lineal está localizado sobre el eje imaginario, se dice que el sistema es marginalmente estable

Estable Inestable

Im{l}

Re{l}

Marginalmenteestable

Semi-plano izquierdo

Semi-plano derecho

El metodo de Euler directo no funciona ya que ningun paso de integracion mostrara el comportamiento oscilatorio no amortiguado.

/42

Aproximación lineal de un sistema no lineal

15

Considerando el sistema no-lineal autónomo:

( )x f x

Entonces, cerca del origen,

0x

fx

x

Cerca del origen, la dinámica del sistema esta dada en términos de la matriz Jacobiana del sistema dinámico

/42

Aproximación lineal de un sistema no lineal

16

Denotando A =

entonces, el sistema

es denominado la linealizacion (o aproximación lineal) del sistema no lineal original en el punto de equilibrio 0.

0x

f

x

x Ax

/42

Teorema de Lyapunov

17

CASO 1: El sistema linealizado es estrictamente estable

Si el sistema linealizado es estrictamente estable

entonces el punto de equilibrio es asintóticamente estable (para el sistema no lineal real).

(todos los valores propios de A están estrictamente en el semi plano izquierdo complejo)

/42

Teorema de Lyapunov

18

CASO 2: El sistema linealizado es inestable

Si el sistema linealizado es inestable

entonces el punto de equilibrio es inestable (para el sistema no lineal real).

(esto es, si al menos un valor propio de A está estrictamente en el semi plano derecho complejo)

/42

Teorema de Lyapunov

19

CASO 3: El sistema linealizado es marginalmente estable

Si el sistema linealizado es marginalmente estable

entonces no se puede concluir nada de la aproximación lineal

(todos los valores propios de A están en el semi plano izquierdo complejo, pero al menos uno de ellos está sobre el eje j )

(el punto de equilibrio puede ser estable, asintóticamente estable, o inestable para el sistema no lineal).

/42

Un sistema dinamico cuyo Jacobiano tiene sus autovalores dominantes sobre o muy cerca del eje imaginario se denomina Marginalmente Estable.

Sistemas marginalmente estables

20

Para atacar estos problemas, son necesarios algoritmos de integración que aproximen bien sobre

el eje imaginario.

Definicion:

/42

Un método de integración numérica cuyo dominio de estabilidad numérica consiste exclusivamente del semiplano izquierdo completo del plano (λ · h) se denomina fielmente estable, o simplemente, F–estable.

Métodos de integración numérica F-estables

21

Definicion:

Estable

Im{l}

Re{l}

Semi-plano izquierdo

Semi-plano derecho

/42

Cuando un autovalor tiende a − ∞, el modo correspondiente tiende a cero en un tiempo muy

pequeño.

Métodos de integración numérica F-estables

22

Los algoritmos de integración F-estables aproximan bien sobre el eje imaginario.

Desafortunadamente, los algoritmos F–estables no funcionan bien con los sistemas stiff.

Cuando un autovalor tiene su parte real muy negativa se dice que tiene un gran amortiguamiento.

/42

Métodos de integración numérica L-estables

23

Al utilizar un metodo F–estable a un sistema con amortiguamiento infinito , resulta que el amortiguamiento de la solucion numerica no es infinito.

Un metodo numerico de integracion que es A–estable

y, ademas, sus propiedades de amortiguamiento tienden a infinito cuando Re{λ} → −∞, se denomina L–estable

Definicion:

/42

Un sistema que es a la vez marginalmente estable y stiff es dificil de tratar

Conclusión

24

Al tratar con sistemas stiff, no es suficiente utilizar algortimos A–estables, sino que tambien deben ser L–estables.

Todos los algoritmos F–estables son A–estables pero nunca L–estables.

En consecuencia:

/42

METODOS DE INTERPOLACION HACIA ATRAS

25

/42

Los metodos de Interpolacion hacia atrás, o métodos de backinterpolation, son una clase especial de algoritmos Runge-Kutta implicitos (IRK)

Metodos de Interpolacion hacia Atras

26

Los metodos BI, (por BackInterpolation) pueden hacerse F–estables, L–estables, o algo en el medio de ambas caracteristicas de acuerdo a la necesidad del

usuario.

Para tratar los problemas stiff y marginalmente estables. Son algoritmos A–estables.

/42

Veamos nuevamente el metodo de Euler Inverso (BE):

Metodos de Interpolacion hacia Atras

27

Luego, un paso hacia adelante utilizando BE puede interpretarse como un paso hacia atras de valor −h

utilizando FE.

Es posible reformular el algoritmo BE de la siguiente manera

/42

Una manera de implementar BE entonces:

Metodos de Interpolacion hacia Atras

28

Estimar un valor inicial de xk +1,

Integrar hacia atras en el tiempo

Iterar, luego, sobre la condicion “inicial” desconocida xk +1

hasta acertar el valor “final” conocido xk .

Esta idea puede tambien extenderse a cualquier algoritmo RK

Los metodos resultantes se denominan Backward Runge–Kutta o metodos de Runge–Kutta hacia atrás.

Se abrevian BRK.

/42

Por ejemplo, podemos obtener un metodo BRK2 integrando hacia atras con el metodo de Heun:

Ejemplo: un metodo BRK2

29

Integrando hacia adelante con el metodo de Heun:

/42

Por ejemplo, podemos obtener un metodo BRK2 integrando hacia atras con el metodo de Heun:

Ejemplo: un metodo BRK2

30

Integrando hacia atras con el metodo de Heun:

Es posible expresar k1 y k2 solo en terminos de k1 y k2

/42

Implementación del algoritmo:

Ejemplo: un metodo BRK2

31

Tabla de Butcher:

Del metodo solo se recoge la idea. Normalmente no se implementa

/42

Siguiendo esta idea, podemos obtener una serie de algoritmos de orden creciente para el sistema lineal

Algoritmos BRK de orden 1…4

32

Con matrices F:

/42

Algoritmos BRK de orden 1…4

33

Los dominios de estabilidad de los metodos BRK son imagenes en espejo de los dominios de estabilidad de los

metodos explicitos de RK.

Dominios de estabilidad de los metodos BRK de orden 1…4

/42

La idea de la interpolacion hacia atras se puede implementar de manera diferente:

Los algoritmos de interpolacion hacia atras

34

Metodo ciclico:

Medio paso de RK directo (FRK)

Iterar hasta que la diferencia entre los dos valores de xk + 1/2 obtenidos sea cero

Primera etapa:

Segunda etapa: Medio paso de RK hacia atrás (BRK)

Iteracion:

xk + ½ xk xk + 1

Left Right

/42

El algoritmo de interpolacion hacia atras con RK1 (BI1) puede ser implementado asi:

El algoritmo BI con RK1

35

Usando la iteracion de Newton:

Primera etapa:

Segunda etapa:

Iteracion:

Este algoritmo es tambien conocido con el nombre de regla trapezoidal

/42

Podemos obtener una serie de algoritmos de orden creciente para el caso lineal

Los algoritmo BI con RK1…4

36

Todos los algortimos BI son F-estables

/42

Implementacion del algoritmo BI1

37

Primera etapa:

Medio paso de RK directo (FRK)

Primera etapa:

xk + ½ xk

Left

Primera estimacion de xk + 1

/42

Implementacion del algoritmo BI1

38

Segunda etapa: Medio paso de RK hacia atrás (BRK)

xk + ½ xk + 1

Right

Calculo del Jacobiano

/42

Implementacion del algoritmo BI1

39

:Primera iteracion de

Newton

Matriz Hessiana

Jacobiana

inversión

En cada iteración de Newton, en general, es necesario calcular la matriz Jacobiana, así como invertir la matriz Hessiana

Control del error

/42

Implementacion del algoritmo BI1

40

Primera etapa:

:Primera iteracion

:Segunda iteracion

/42

Implementacion del algoritmo BI2

41

dos

Jacobianas

Hessiana

/42

Si asumimos que el Jacobiano permanece casi sin cambios durante cada paso de integracion (iteracion de Newton modificada), podemos calcular tanto el Jacobiano como el Hessiano al principio del paso,

Implementacion de los algoritmos BI

42

La secuencia para las matrices H de los metodos BI1…4 es:

/42

Es posible intercambiar el orden de ejecucion entre el paso hacia adelante y el paso hacia atrás

Algoritmos One-legged

43

Para el algoritmo BI1 la matriz F es:

Que corresponde al algoritmo

El cual es conocido como regla implícita del punto medio

/42

De igual manera es posible generar algoritmos de mayor orden

Algoritmos One-legged

44

Ambos son idénticos en sus propiedades lineales pero se comportan de manera diferente con respecto

a sus características no lineales

* Los algoritmos originales son un poco más exactos que los one-legged

* Los one-legged tienen mejores propiedades de estabilidad no lineal (contractividad)

/42

Una manera de transformar los metodos BI F–estables en metodos con dominios de estabilidad mas fuertes es romper la simetria entre el paso hacia adelante y el paso hacia atras.

Los metodos – θ

45

xk + θ xk xk + 1

Left θ 1 – θ Right

Con ϑ < 0.5 se produce una serie de metodos de creciente dominio de estabilidad hasta que, con ϑ = 0.0, se obtiene un conjunto de algoritmos L–estables.

/42

Dominios de Estabilidad de los metodos– ϑ BI, con ϑ = 0.4

Los metodos – θ

46

Todos estos algoritmos, con excepción de BI40.4 son estables, pero ninguno es L–estable.

/42

Una manera de transformar los metodos BI en L–estables es incrementar el orden de exactitud del algoritmo BRK en uno.

Los metodos – θ

47

xk + θ xk xk + 1

Left θ 1 – θ Right

FRK4 BRK4

Un metodo muy bueno es el algoritmo BI4/50.45

/42

Fuentes

Cellier, F.E. and E. Kofman (2006), Continuous System Simulation, Springer-Verlag, New York

48

/42

FIN

49