/42 Simulacion de sistemas dinamicos Métodos de integración de un solo paso 1
/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