Reading Time: 11 minutes

Elegir un método de integración de tiempo es una de las decisiones más importantes en una simulación científica. El método determina cómo se mueve la solución numérica de un nivel de tiempo al siguiente, qué tan pequeño debe ser el paso de tiempo, cuánto cuesta cada paso y si se resuelven o suprimen los procesos físicos rápidos.

La distinción común entre métodos explícitos e implícitos es útil, pero no proporciona una regla de selección completa. Un método implícito no es automáticamente más preciso, y un método explícito no es automáticamente inadecuado para simulaciones serias. Deben considerarse juntas la estabilidad, la precisión, el costo computacional, la rigidez, la amortiguación numérica y las escalas de tiempo físicas del problema.

El principio central es simple: la estabilidad numérica sólo nos dice si los errores permanecen controlados. No nos dice si la solución calculada está cerca de la verdadera solución física.

¿Qué es la integración del tiempo?

Después de que una PDE ha sido discretizada en el espacio, a menudo se convierte en un sistema de ecuaciones diferenciales ordinarias:

du/dt = F(u, t)

Un integrador de tiempo se aproxima a cómo cambia el vector u en un paso finito:

tⁿ → tⁿ⁺¹ = tⁿ + Δt

La evolución exacta generalmente no está disponible, por lo que el algoritmo construye una aproximación a partir de valores conocidos, evaluaciones derivadas o un sistema que involucre el estado futuro desconocido.

Un método explícito calcula el nuevo estado directamente a partir de la información ya disponible. Un método implícito define el nuevo estado a través de una ecuación que debe ser resuelta.

Integración de tiempo explícita

Forward Euler es el método explícito más simple:

uⁿ⁺¹ = uⁿ + Δt F(uⁿ, tⁿ)

Todo lo que está en el lado derecho es conocido. No se requiere ningún sistema lineal o no lineal. Esto hace que cada paso sea económico y fácil de paralelizar.

Los métodos explícitos de Runge-Kutta de orden superior calculan varias etapas intermedias. El método clásico de cuarto orden utiliza cuatro evaluaciones derivadas:

k₁ = F(uⁿ, tⁿ)

k₂ = F(
    uⁿ + 0.5 Δt k₁,
    tⁿ + 0.5 Δt
)

k₃ = F(
    uⁿ + 0.5 Δt k₂,
    tⁿ + 0.5 Δt
)

k₄ = F(
    uⁿ + Δt k₃,
    tⁿ + Δt
)

uⁿ⁺¹ = uⁿ
      + Δt(k₁ + 2k₂ + 2k₃ + k₄) / 6

Los métodos explícitos son atractivos cuando cada evaluación de derivados es asequible y el límite de estabilidad no obliga a un número excesivo de pasos.

Integración de tiempo implícita

Euler hacia atrás evalúa la derivada en el estado futuro desconocido:

uⁿ⁺¹ = uⁿ + Δt F(uⁿ⁺¹, tⁿ⁺¹)

El nuevo valor aparece en ambos lados. Un problema lineal puede requerir una solución de matriz, mientras que un problema no lineal puede requerir iteraciones de Newton u otro algoritmo no lineal.

Crank-Nicolson promedia la derivada entre los estados actuales y futuros:

uⁿ⁺¹ = uⁿ
      + 0.5 Δt [
          F(uⁿ, tⁿ)
          + F(uⁿ⁺¹, tⁿ⁺¹)
        ]

Los métodos implícitos cuestan más por paso, pero los esquemas adecuados pueden permanecer estables en los pasos de tiempo que harían que un método explícito divergiera. Esto es especialmente valioso para sistemas rígidos y finas cuadrículas espaciales.

La estabilidad no es precisión

Un cálculo estable no proporciona necesariamente una trayectoria física precisa. La distinción se puede estudiar con la ecuación de prueba lineal:

dy/dt = λy

La solución exacta después de un paso de tiempo es:

y(t + Δt) = exp(λΔt)y(t)

En cambio, un método numérico produce:

yⁿ⁺¹ = R(z)yⁿ

z = λΔt

La función R(z) es el factor de amplificación. La estabilidad absoluta requiere:

|R(z)| ≤ 1

Esta condición evita el crecimiento numérico ilimitado para un problema de prueba de decaimiento. No garantiza que R(z) se aproxime de cerca a exp(z).

Un método implícito puede permanecer limitado con un paso de tiempo muy grande mientras se reproduce mal la tasa de decaimiento, la fase o la respuesta transitoria. El informe de la NASA métodos explícitos, implícitos e híbridos analiza la necesidad de considerar la precisión en lugar de usar la estabilidad solo para justificar un método.

Comprender las regiones de estabilidad

La región de estabilidad es el conjunto de valores de z = λΔt para los cuales el factor de amplificación permanece acotado.

Euler hacia adelante

Euler delantero tiene:

R(z) = 1 + z

Su región de estabilidad satisface:

|1 + z| ≤ 1

Esto forma un disco centrado en −1 con radio uno. A lo largo del eje real negativo, el intervalo estable es:

−2 ≤ z ≤ 0

Clásico RK4

El método clásico de Runge-Kutta de cuarto orden tiene una región de estabilidad más grande pero aún acotada. A lo largo del eje real negativo, permanece estable aproximadamente hasta:

z ≈ −2.785

Esto es considerablemente mayor que el intervalo de Euler hacia adelante, pero ningún método de Runge-Kutta explícito puede incluir la mitad izquierda del plano complejo.

Una introducción práctica a la estabilidad absoluta, la A-estabilidad y la L-estabilidad está disponible en el Curso de choque sobre ODES numéricas.

Euler hacia atrás

Euler hacia atrás tiene:

R(z) = 1 / (1 - z)

Su región de estabilidad contiene el semiplano izquierdo completo. Por lo tanto, es estable.

A medida que z se vuelve cada vez más negativo, el factor de amplificación se acerca a cero. Los modos de decaimiento fuerte se suprimen rápidamente. Esto hace que Euler L-estable esté al revés, aunque solo es preciso de primer orden.

manivela-Nicolson

Crank-Nicolson tiene:

R(z) = (1 + z/2) / (1 - z/2)

También es estable porque su región de estabilidad incluye el semiplano izquierdo. Sin embargo, como z → −∞:

R(z) → −1

Los modos altamente rígidos no se mueven a cero. En cambio, pueden alternar en signo mientras conservan una magnitud casi constante. Por lo tanto, la manivela-Nicolson no es estable en L y puede producir oscilaciones temporales no físicas cuando se aplican pasos muy grandes a sistemas rígidos.

A-estabilidad y L-estabilidad

Un método A-estable es estable para cada valor propio de la ecuación de prueba con una parte real no positiva, independientemente del tamaño del paso de tiempo.

Un método L-estable es A-estable y también satisface:

R(z) → 0 as z → −∞

Esta distinción es importante para los sistemas rígidos. La estabilidad A evita el crecimiento explosivo, mientras que L-estabilidad asegura que los modos de decaimiento rápido no resueltos se vean fuertemente amortiguados.

No todos los métodos implícitos son estables, y no todos los métodos A-estables son L-estable. Las propiedades pertenecen al esquema individual más que a toda la categoría implícita.

Orden de precisión

El orden de un método determina qué tan rápido disminuye su error a medida que el paso de tiempo se reduce.

Para un método de orden p:

Local truncation error = O(Δt^(p+1))
Global error           = O(Δt^p)
Método Tipo Pedido error local error global
Euler hacia adelante Explícito 1 O(Δt²) O(Δt)
Euler hacia atrás Implícito 1 O(Δt²) O(Δt)
manivela-Nicolson Implícito 2 O(Δt³) O(Δt²)
bdf2 Multipaso implícito 2 O(Δt³) O(Δt²)
Clásico RK4 Explícito 4 O(Δt⁵) O(Δt⁴)
Príncipe 5(4) RK integrado explícito 5 con estimador de cuarto orden dependiente del método Aproximadamente O(Δt⁵) para la solución de quinto orden

Euler hacia adelante y hacia atrás tienen el mismo orden formal aunque sus propiedades de estabilidad difieren mucho. RK4 puede ser mucho más preciso que Euler hacia atrás con el mismo tamaño de paso cuando la estabilidad permite su uso.

La etiqueta explícita o implícita describe principalmente cómo se calcula un paso. No determina el orden formal.

¿Qué es la rigidez?

Un sistema es rígido cuando contiene escalas de tiempo fuertemente separadas y requisitos de estabilidad explícitos de fuerza mucho más pequeños que los necesarios para resolver el comportamiento de interés.

Considere:

dy/dt = -1000(y - cos(t)) - sin(t)

La solución deseada puede variar en una escala de tiempo del orden uno, pero un componente que se descompone rápidamente tiene una escala de tiempo cercana a 0.001. Es posible que un método explícito deba resolver el modo rápido de estabilidad incluso después de que ese modo haya dejado de ser físicamente poco importante.

Un método implícito adecuado puede pasar por encima de la rápida decadencia y seguir la solución más lenta. Esta es la razón principal por la que se utilizan métodos implícitos para sistemas de reacción rígidos, ecuaciones de difusión, circuitos eléctricos y modelos multifísicos estrechamente acoplados.

Amortiguación numérica

La implícita no implica automáticamente una fuerte amortiguación. La amortiguación se controla por el factor de amplificación del método.

Euler hacia atrás suprime fuertemente los modos cuando |λΔt| es grande. Esto puede ser deseable cuando esos modos representan una rigidez no resuelta. Puede ser indeseable cuando representan ondas o transitorios que deben medirse.

Crank-Nicolson introduce un amortiguamiento mucho menos de alta frecuencia. Esto preserva cierto comportamiento oscilatorio, pero también puede permitir que permanezcan oscilaciones numéricas rígidas no deseadas.

La discusión de Flow-3D de métodos numéricos implícitos y explícitos ilustra cómo grandes pasos implícitos pueden distorsionar el comportamiento transitorio. El efecto no debe interpretarse como un factor de baja relajación fijo universal. Su magnitud depende del esquema de integración, el paso de tiempo, la ecuación y el solucionador iterativo.

La baja relajación es un tema aparte

La baja relaxación se usa a menudo dentro de los solucionadores iterativos no lineales o acoplados:

u(updated) =
    u(old)
    + α [
        u(computed)
        - u(old)
      ]

El parámetro α suele estar entre cero y uno. Los valores más pequeños pueden estabilizar una solución iterativa pero ralentizar su convergencia y alterar el transitorio aparente cuando se detienen las iteraciones antes de la convergencia total.

La relajación insuficiente no es una propiedad inevitable de todo integrador de tiempo implícito. Es una elección algorítmica adicional que puede aparecer dentro del proceso de solución no lineal.

Restricciones CFL para métodos explícitos

Para una ecuación de advección, los métodos explícitos suelen seguir una condición de Courant:

Δt ≤ C Δx / |v|

La constante C depende del método espacial y del integrador de tiempo.

Para una ecuación de difusión explícitamente integrada, el límite suele escalar como:

Δt ≤ C Δx² / D

Esta dependencia cuadrática puede volverse costosa en mallas finas. La reducción a la mitad del tamaño de la celda puede requerir aproximadamente cuatro veces más pasos de tiempo para un esquema explícito controlado por difusión.

Estas restricciones no significan que los métodos explícitos sean inexactos. Definen un rango de estabilidad. En las simulaciones hiperbólicas, la necesidad física de resolver el recorrido de las ondas ya puede requerir un paso similar al límite CFL.

Costo por paso

Los métodos explícitos generalmente requieren evaluaciones de funciones, cálculos de flujo o productos de matriz-vector escasos. Sus pasos son relativamente económicos y, a menudo, se escalan bien en hardware paralelo.

Los métodos implícitos pueden requerir:

  • Conjunto de matriz
  • Construcción jacobiana
  • Solución de sistema lineal
  • Configuración del preacondicionador
  • Iteraciones no lineales de Newton
  • Comprobaciones de convergencia

Un método implícito es eficiente solo cuando el paso más grande y utilizable compensa el costo adicional de cada solución.

Por lo tanto, la comparación debe utilizar el costo total a un nivel de error fijo en lugar de conteo de pasos solo.

Integración explícita adaptativa

Error de estimación de pares de Runge-Kutta integrados sin completar dos integraciones completamente independientes.

Dormand-Príncipe 5(4), a menudo llamado RK45, comparte un conjunto de etapas intermedias para construir una aproximación de quinto orden y una estimación de error de orden inferior.

El error normalizado puede evaluarse como:

error_ratio =
    estimated_error
    / (
        absolute_tolerance
        + relative_tolerance
          * solution_scale
      )

Si la relación es inferior a uno, el paso puede ser aceptado. Si excede uno, el paso se rechaza y se repite con un Δt.

Una actualización típica tiene el formulario:

Δt(new) =
    safety
    * Δt(old)
    * error_ratio^(-1/(p+1))

Las implementaciones prácticas también limitan la rapidez con que el paso puede crecer o encogerse.

Integración implícita adaptativa

Los solucionadores implícitos pueden estimar el error a través de fórmulas incrustadas, métodos BDF de orden variable, estimaciones de defectos o duplicación de pasos.

Se compara la duplicación de pasos:

  • Un paso de longitud Δt
  • Dos pasos de longitud Δt/2

La diferencia estima el error temporal. Esto puede requerir varias soluciones implícitas, aunque a veces se pueden reutilizar factorizaciones de matriz o preacondicionadores cuando el operador sigue siendo similar.

Los grandes modelos de producción pueden combinar varias restricciones independientes. El Documentación de paso de tiempo de PISM demuestra cómo CFL, La difusividad, la salida y los límites específicos del modelo interactúan en un código de simulación real.

Métodos de Imex

Los métodos implícitos-explícitos dividen el lado derecho en componentes rígidos y no rígidos:

du/dt = Fexplicit(u) + Fimplicit(u)

El término económico no rígido se evalúa explícitamente, mientras que el término rígido se trata implícitamente.

Para un problema de convección-difusión:

∂u/∂t
+ v · ∇u
= D∇²u

El término de advección puede ser explícito y el término de difusión implícito. Esto evita una solución global no lineal para la ecuación completa mientras se elimina la restricción de difusión explícita severa.

Los esquemas IMEX requieren fórmulas explícitas e implícitas compatibles. Su orden y estabilidad dependen del método emparejado completo, no solo de cada componente de forma aislada.

Comparación explícita, implícita e IMEX

Propiedad Explícito Implícito entiendo
Cálculo de pasos directamente de estados conocidos Requiere resolver para el estado futuro Combina etapas directas e implícitas
Costo por paso por lo general bajo por lo general más alto entre explícito y completamente implícito
Región de estabilidad Limitado para métodos RK explícitos puede ser muy grande; dependiente del método Depende de ambos componentes
Sistemas tiesos A menudo ineficiente por lo general apropiado Apropiado cuando se puede separar la rigidez
Problemas de onda A menudo eficiente y de baja disipación Requiere una elección cuidadosa de las propiedades de amortiguación y fase Útil para términos de onda mixta y rígidos
Implementación relativamente simple Requiere solucionadores lineales o no lineales Requiere separación del operador y fórmulas pareadas

Selección de un método por física

Tipo de problema Punto de partida común Razón
Oda no rígida Método RK explícito adaptativo Bajo costo de paso y control de error integrado fiable
Propagación de onda RK explícito o método de preservación de la estructura La resolución física a menudo ya impone un pequeño paso
Difusión explícita en una malla fina Método implícito o imex Evita la restricción severa Δx²
Sistema de reacción fuertemente rígido BDF, Radau u otro solucionador rígido Los requisitos de estabilidad explícitos pueden ser poco prácticos
Sistema de advección-difusión IMEX o división del operador Diferentes términos tienen diferentes propiedades numéricas
Sistema levemente rígido con importantes oscilaciones Esquema de tipo RK implícito o tipo cigüeñal cuidadosamente seleccionado Requiere estabilidad sin amortiguación excesiva
Cálculo de estado estacionario a través de pseudo-tiempo Iteración implícita o acelerada La fidelidad transitoria puede ser menos importante que la convergencia

El orden del método sigue siendo importante

Un método implícito de primer orden puede requerir un pequeño paso de tiempo para la precisión incluso cuando la estabilidad permite uno grande. Un método explícito de cuarto o quinto orden puede ser mucho más eficiente para un problema suave y no rígido.

Por el contrario, un método explícito de orden alto no puede superar la rigidez severa si su región de estabilidad excluye los valores propios relevantes.

Por lo tanto, la selección implica dos preguntas separadas:

  1. ¿La región de estabilidad es adecuada para el sistema y el tamaño de paso previsto?
  2. ¿Es el pedido lo suficientemente alto para cumplir con el error requerido a un costo asequible?

Verificación a través del refinamiento de paso de tiempo

Se debe probar un integrador de tiempo repitiendo la simulación con pasos más pequeños. Compare las cantidades físicamente relevantes como:

  • amplitud máxima
  • Hora de llegada de la ola
  • Fase de oscilación
  • masa total o energía
  • Rendimiento de reacción
  • Posición de interfaz
  • Valor de estado estacionario

Si el resultado cambia significativamente después de que el paso de tiempo se reduce a la mitad, el paso original no convergió temporalmente.

Las pruebas temporales deben separarse de la convergencia de malla. Refinar tanto el espacio como el tiempo hace que sea difícil determinar qué fuente de error causó el cambio.

Errores de selección comunes

Un error común es dar un paso implícito muy grande simplemente porque el método permanece estable.

Otros errores frecuentes incluyen:

  • Confuso orden local y global
  • Suponiendo que cada método implícito es estable
  • Suponiendo que todos los métodos A-estables amortiguan fuertemente los modos rígidos
  • Usar difusión explícita en una malla fina sin estimar su límite de estabilidad
  • Usar Euler hacia atrás cuando la precisión de la fase es importante
  • Uso de manivela-Nicolson para una rigidez severa sin comprobar las oscilaciones temporales
  • Ignorar las tolerancias no lineales del solucionador en un método implícito
  • Comparación de algoritmos en diferentes niveles de precisión
  • Informe de estabilidad sin realizar pruebas de convergencia de pasos en el tiempo
  • Aplicar una regla genérica explícita versus implícita a cada PDE

Un flujo de trabajo de selección práctica

  1. Identificar las escalas de tiempo físicas importantes.
  2. Determine si el sistema semidiscreto es rígido.
  3. Estimar las restricciones de advección, difusión, reacción y basadas en ondas.
  4. Decida si los modos rápidos deben resolverse o pueden amortiguarse.
  5. Seleccione un método con una región de estabilidad adecuada.
  6. Seleccione un pedido que pueda cumplir con el objetivo de precisión.
  7. Incluya el costo de las soluciones matriciales y no lineales.
  8. Use pasos adaptativos cuando corresponda.
  9. Repita la simulación con tolerancias más estrictas o pasos más pequeños.
  10. Compare el tiempo de ejecución total con el mismo error medido.

Guías relacionadas

Lectura adicional

Conclusión

Los integradores de tiempo explícitos e implícitos resuelven diferentes problemas numéricos. Los métodos explícitos proporcionan pasos económicos y son efectivos para ecuaciones, ondas y problemas no rígidos cuya resolución física ya requiere pequeños incrementos de tiempo. Los métodos implícitos pueden evitar los límites de estabilidad restrictivos y, a menudo, son necesarios para reacciones rígidas, modelos dominados por difusión y sistemas estrechamente acoplados.

La estabilidad no garantiza la exactitud. Un cálculo implícito puede permanecer acotado mientras se pierden transitorios rápidos, introduciendo un error de fase o usando un paso de tiempo demasiado grande para reproducir la trayectoria física.

El método individual importa más que su amplia etiqueta. Euler hacia atrás es fuertemente amortiguador y preciso de primer orden. Crank-Nicolson es estable y estable, pero no suprime los modos extremadamente rígidos. RK4 ofrece una alta precisión para sistemas no rígidos pero tiene una región de estabilidad limitada. Los métodos IMEX combinan tratamientos explícitos e implícitos cuando los operadores pueden separarse.

El método correcto es el que cumple con el error requerido con el costo computacional creíble más bajo. Esa decisión debe demostrarse a través del análisis de estabilidad, el control de errores adaptativos y el refinamiento de pasos en lugar de asumirlo a partir de las palabras «explícita» o «implícita».