La definición de sistema rígido ODE

17

Considere un IVP para el sistema ODE , y ( x 0 ) = y 0 . Más comúnmente, este problema se considera rígido cuando la matriz de Jacobi fy=f(x,y)y(x0)=y0tienedosvalores propios con gran parte real negativa y valores propios con parte real negativa muy pequeña (que considero sólo el caso estable).fy(x0,y0)

Por otro lado, en el caso de una sola ecuación, por ejemplo, la ecuación de Prothero-Robinson , se llama rígida cuando λ - 1 .y=λy+g+λgλ1

Entonces hay dos preguntas:

  1. ¿Por qué se incluyen pequeños valores propios en la definición de rigidez para los sistemas ODE? Creo que la presencia de solo partes reales negativas muy grandes es suficiente para que el sistema sea rígido, porque esto nos hace usar pequeños pasos de tiempo para métodos explícitos.

  2. Sí, sé que los problemas rígidos más comunes (por ejemplo, derivados de PDE parabólicas) tienen valores propios tanto grandes como pequeños. Entonces, la segunda pregunta: ¿hay un buen ejemplo natural de un sistema rígido grande sin valores propios muy pequeños (o alternativamente con una relación leve )?λmax/λmin


OK, modifiquemos la pregunta. Considere dos sistemas ODE lineales bidimensionales: primero con valores propios {-1000000, -0.00000001} y segundo con {-1000000, -999999}. En cuanto a mí, ambos están rígidos. Pero si consideramos la definición de la relación de rigidez, el segundo sistema no lo es. La pregunta principal: ¿por qué se considera la razón de rigidez?

Y la segunda parte de la pregunta sigue siendo importante, parafraseémoslo: estoy buscando un sistema ODE grande "natural" con grandes valores propios negativos y una relación de rigidez leve (no mayor que, digamos, 100).

faleichik
fuente
2
Bienvenido a scicomp.se. Sus preguntas se responden a fondo en wikipedia: en.m.wikipedia.org/wiki/Stiff_equation
David Ketcheson el
Creo que entre el comentario de @DavidKetcheson y las diversas fuentes que cité, verá que la relación de rigidez es solo una guía. No es perfecto; Por eso no está en la definición. Resulta ser una característica de muchos, pero no todos, los sistemas rígidos. Y en cuanto a la segunda parte, creo que será difícil encontrarlo a menos que tenga una estructura especial o surja en una aplicación. Te di un ejemplo de una aplicación de este tipo donde la relación de rigidez no siempre es grande, y te animo a que mires el libro de Hairer y Wanner.
Geoff Oxberry
1
@David: No puedo estar de acuerdo contigo. Tomemos, por ejemplo, el problema unidimensional y '= - 50 (y-cos x). El "valor propio" es -50. Uno no puede resolver este problema con Euler explícito con pasos de más de 2/50. Si reemplazamos -50 con -50000, la restricción en el paso de tiempo se convierte en 2/50000. ¿Qué "unidades" podemos elegir aquí para superar esta barrera?
faleichik
2
@faleichik La parte de su ejemplo fija la escala de tiempo de la "variedad lenta" (que es probablemente la escala de tiempo que le interesa, aunque es concebible que le interesen escalas de tiempo mucho más cortas). No creo que sea posible definir la rigidez sin elegir una escala de tiempo de observación (tal vez implícitamente al indicar las propiedades que desea conservar durante períodos más largos). La relación de rigidez solo cuantifica la separación de escala entre las escalas de tiempo más rápidas y más lentas del sistema autónomo . cosX
Jed Brown
1
Hay una nueva y mejor respuesta a esta pregunta en este documento .
David Ketcheson el

Respuestas:

10

La rigidez implica cierta separación de escamas. En general, si está interesado en la fase del modo más rápido del sistema, debe resolverlo y el sistema no es rígido. Pero con frecuencia, le interesa la dinámica a largo plazo de un "múltiple lento" en lugar de la velocidad precisa a la que se acerca una solución fuera del múltiple lento.

Las reacciones químicas y los flujos de reacción son ejemplos comunes de sistemas rígidos. El oscilador van der Pol es un problema de referencia común para los integradores ODE que tiene un parámetro de rigidez ajustable.

Un océano es otro ejemplo que quizás sea útil para visualizar. Los tsunamis (ondas de gravedad en la superficie) viajan a la velocidad de un avión y producen una estructura de onda compleja, pero se disipan en escalas de tiempo prolongadas y en su mayoría no son importantes para la dinámica a largo plazo del océano. Los remolinos, o por otro lado, viajan aproximadamente 100 veces más despacio a velocidades bastante peatonales, pero causan temperatura de mezcla y transporte, salinidad y trazadores biogeoquímicos que son relevantes. Pero la misma física que propaga una onda de gravedad superficial también es compatible con un remolino (una estructura de cuasi equilibrio), por lo que la velocidad del remolino, la trayectoria debajo de Coriolis y la velocidad de disipación dependen de la velocidad de la onda de gravedad. Esto presenta una oportunidad para un esquema de integración de tiempo diseñado para que los sistemas rígidos superen la escala de tiempo de la onda de gravedad y solo resuelvan las escalas de tiempo dinámicas relevantes. VerMousseau, Knoll y Reisner (2002) para discutir este problema con una comparación de esquemas de división de tiempo e integración totalmente implícitos.

Relacionado: ¿ Cuándo deben usarse métodos implícitos en la integración de PDE hiperbólicas?

Tenga en cuenta que los procesos difusivos generalmente se consideran rígidos porque la escala de tiempo más rápida en el sistema discreto depende de la malla, escalando con , pero la escala de tiempo de la física relevante es independiente de la malla. De hecho, las escalas de tiempo más rápidas para una malla dada representan la relajación espacialmente local para la variedad más lenta en la que evolucionan las escalas espaciales más largas, por lo que los métodos implícitos pueden ser muy precisos incluso en normas fuertes a pesar de no resolver las escalas más rápidas.(Δx)2

Jed Brown
fuente
10

Parte 1

Los valores propios pequeños no se incluyen en la definición de rigidez para los sistemas ODE (problema de valor inicial). No conozco ninguna definición satisfactoria de rigidez, pero las mejores definiciones que he encontrado son:

Si un método numérico con una región finita de estabilidad absoluta, aplicado a un sistema con cualquier condición inicial, se ve obligado a usar en un cierto intervalo de integración una longitud de paso que es excesivamente pequeña en relación con la suavidad de la solución exacta en ese intervalo , se dice que el sistema es rígido en ese intervalo. (Lambert, JD (1992), Métodos numéricos para sistemas diferenciales ordinarios , Nueva York: Wiley.)

[0,b]

Las ecuaciones rígidas son ecuaciones en las que ciertos métodos implícitos, en particular BDF, funcionan mejor, generalmente tremendamente mejor, que los explícitos. (CF Curtiss y JO Hirschfelder (1952): Integración de ecuaciones rígidas. PNAS, vol. 38, p. 235-243)

El artículo de Wikipedia sobre ecuaciones rígidas continúa atribuyendo las siguientes "declaraciones" a Lambert:

  1. Un sistema de coeficiente constante lineal es rígido si todos sus valores propios tienen una parte real negativa y la relación de rigidez es grande.

  2. La rigidez ocurre cuando los requisitos de estabilidad, en lugar de los de precisión, limitan la longitud del paso. [Tenga en cuenta que esta "observación" es esencialmente la definición de Ascher y Petzold.]

  3. La rigidez ocurre cuando algunos componentes de la solución se descomponen mucho más rápidamente que otros.

Cada una de estas observaciones tiene contraejemplos (aunque es cierto que no pude producir uno fuera de mi cabeza).

Parte 2

Probablemente, el mejor ejemplo que podría encontrar sería integrar cualquier tipo de sistema de reacción de combustión grande en la cinética química en condiciones que provoquen la ignición. El sistema de ecuaciones será rígido hasta el encendido, y luego ya no será rígido porque el sistema ha pasado un transitorio inicial. La relación entre el valor propio más grande y el más pequeño no debe ser grande, excepto alrededor del evento de encendido, aunque tales sistemas tienden a confundir a los integradores rígidos a menos que establezca tolerancias de integración extremadamente estrictas.

El libro de Hairer y Wanner también ofrece varios otros ejemplos en su primera sección (Parte IV, sección 1) que ilustran muchos otros ejemplos de ecuaciones rígidas. (Wanner, G., Hairer, E., Resolviendo Ecuaciones Diferenciales Ordinarias II: Problemas Algebraicos Rígidos y Diferenciales (2002), Springer.)

Finalmente, vale la pena señalar la observación de CW Gear:

Aunque es común hablar de "ecuaciones diferenciales rígidas", una ecuación per se no es rígida, un problema de valor inicial particular para que la ecuación puede ser rígido, en algunas regiones, pero los tamaños de estas regiones depende de los valores iniciales y la tolerancia a errores (CW Gear (1982): Detección automática y tratamiento de ecuaciones diferenciales ordinarias oscilatorias y / o rígidas. En: Integración numérica de ecuaciones diferenciales, Lecture notes in Math., Vol. 968, p. 190-206.)

Geoff Oxberry
fuente
Estimado Geoff, gracias por la tolerancia :-) Quería mantener mi pregunta simple, pero eventualmente me consideraron inexperta. De hecho, sé todas estas definiciones, pero.
faleichik
1. Los valores propios pequeños actúan implícitamente en la definición de la relación de rigidez: es grande cuando el demonizador es pequeño. 2. Para el caso lineal unidimensional, la relación de rigidez es siempre una, incluso para ecuaciones rígidas. 3. ¿Tiene alguna referencia para el problema de cinética química que ha sugerido? Y 4. Trataré de aclarar la pregunta en los comentarios.
faleichik
2
Puede encontrar mecanismos químicos en formato CHEMKIN aquí . Los problemas son lo suficientemente grandes como para que los archivos de entrada sean necesarios, y las ecuaciones se configuran automáticamente mediante un paquete de química. Sugiero usar los archivos de entrada junto con el paquete químico Cantera y el conjunto de soluciones ODE / DAE SUNDIALS , ambos de código abierto. Luego puede resolver estos problemas en C ++ o MATLAB.
Geoff Oxberry
Personalmente, tomo la frase Curtiss-Hirschfelder como mi definición de rigidez en el trabajo; si RK o Adams explícitos están tardando demasiado en resolver su problema, entonces es probable que sea rígido.
JM
2

De hecho, Jed Brown me ha aclarado la pregunta. Lo que estoy haciendo ahora es poner sus palabras en el contexto.

  1. Ambos sistemas de ODE lineales 2d desde arriba son rígidos (es decir, difíciles de resolver con métodos explícitos) en intervalos de tiempo relativamente grandes (por ejemplo, [0,1]).

  2. Los sistemas lineales con una gran relación de rigidez pueden considerarse "más rígidos" porque lo más probable es que sea necesario integrarlos en un intervalo de tiempo grande. Esto se debe a componentes lentos que corresponden a los valores propios más pequeños: la solución tiende lentamente al estado estable, y este estado estable generalmente es importante de alcanzar.

  3. Por otro lado, la integración de sistemas con una pequeña relación de rigidez en intervalos grandes no es interesante: en este caso, el estado estacionario se alcanza muy rápido y simplemente podemos extrapolarlo.

¡Gracias a todos por esta discusión!

faleichik
fuente
1

La magnitud absoluta de los valores propios (en un problema lineal y autónomo) por sí sola no tiene ningún significado; es un artefacto de las unidades en las que eliges expresar el problema.

La cadena de comentarios se está descontrolando, así que estoy respondiendo esto. No voy a responder la pregunta completa; como dije, vea wikipedia u otras respuestas aquí. Solo estoy respondiendo lo que dice

Considere dos sistemas ODE lineales bidimensionales: primero con valores propios {-1000000, -0.00000001} y segundo con {-1000000, -999999}. En cuanto a mí, ambos están rígidos. Pero si consideramos la definición de la relación de rigidez, el segundo sistema no lo es. La pregunta principal: ¿por qué se considera la razón de rigidez?

Bien, consideremos un ejemplo del segundo caso:

y1(t)=-1000000y1(t)
y2(t)=-999999y2(t)

Ahora consideremos una variable de tiempo con diferentes unidades: t=1000000t. Entonces el cálculo revela que

y1(t)=-y1(t)
y2(t)=-0.999999y2(t)

Nota 1: Elegí un sistema diagonal para hacerlo totalmente obvio, pero si lo prueba con otro sistema con esos valores propios, verá el mismo efecto, ya que multiplicar una matriz por una constante multiplica sus valores propios por la misma constante.

Nota 2: Ni siquiera estoy discutiendo aquí si el sistema es rígido. Solo estoy señalando que su definición propuesta de rigidez (es decir, cualquier problema conEl |λEl |1) no tiene sentido, ya que significaría que la rigidez depende de las unidades en las que elijo expresar el problema.

David Ketcheson
fuente
David, no has considerado el intervalo de integración. Deje que sea [0,1] en el primer caso. Suponiendo limitaciones explícitas de estabilidad de Euler, el paso máximo permitido es 2/1000000. Por lo tanto, debemos realizar al menos 500 000 pasos. Cuando escala el tiempo, el tamaño de paso máximo aumenta a 2, pero todo el intervalo de integración se convierte en 1 000 000 y alcanzamos el mínimo de 500 000 pasos nuevamente.
faleichik
@faleichik Sí, ahora lo tienes. La rigidez no tiene que ver con la magnitud absoluta de los valores propios, sino con su tamaño en relación con su escala de tiempo de interés, como señaló Jed anteriormente.
David Ketcheson