Reading Time: 12 minutes

Le choix d’une méthode d’intégration temps est l’une des décisions les plus importantes d’une simulation scientifique. La méthode détermine comment la solution numérique passe d’un niveau à l’autre, la taille du pas de temps, le coût de chaque étape et si les processus physiques rapides sont résolus ou supprimés.

La distinction commune entre les méthodes explicites et implicites est utile, mais elle ne fournit pas de règle de sélection complète. Une méthode implicite n’est pas automatiquement plus précise et une méthode explicite n’est pas automatiquement adaptée aux simulations sérieuses. La stabilité, la précision, le coût de calcul, la rigidité, l’amortissement numérique et les échelles de temps physiques du problème doivent être envisagées ensemble.

Le principe central est simple : la stabilité numérique nous indique seulement si les erreurs restent maîtrisées. Il ne nous dit pas si la solution calculée est proche de la véritable solution physique.

Qu’est-ce que l’intégration du temps ?

Une fois qu’une PDE a été discrétisée dans l’espace, elle devient souvent un système d’équations différentielles ordinaires :

du/dt = F(u, t)

Un intégrateur de temps se rapproche de la façon dont le vecteur u change au cours d’une étape finie :

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

L’évolution exacte n’est généralement pas disponible, de sorte que l’algorithme construit une approximation à partir de valeurs connues, d’évaluations dérivées ou d’un système impliquant l’état futur inconnu.

Une méthode explicite calcule le nouvel état directement à partir des informations déjà disponibles. Une méthode implicite définit le nouvel état à travers une équation qui doit être résolue.

Intégration explicite du temps

Forward Euler est la méthode explicite la plus simple :

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

Tout sur le côté droit est connu. Aucun système linéaire ou non linéaire n’est requis. Cela rend chaque étape peu coûteuse et facile à paralléliser.

Les méthodes Runge-Kutta explicites d’ordre supérieur calculent plusieurs étapes intermédiaires. La méthode classique du quatrième ordre utilise quatre évaluations dérivées :

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

Les méthodes explicites sont attractives lorsque chaque évaluation dérivée est abordable et que la limite de stabilité ne force pas un nombre excessif d’étapes.

Intégration implicite du temps

Backward Euler évalue le dérivé à l’état futur inconnu :

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

La nouvelle valeur apparaît des deux côtés. Un problème linéaire peut nécessiter une résolution matricielle, tandis qu’un problème non linéaire peut nécessiter des itérations de Newton ou un autre algorithme non linéaire.

Crank–Nicolson fait la moyenne du dérivé entre les états actuels et futurs :

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

Les méthodes implicites coûtent plus cher par étape, mais les schémas appropriés peuvent rester stables pour les pas de temps qui feraient diverger une méthode explicite. Ceci est particulièrement utile pour les systèmes rigides et les grilles spatiales fines.

La stabilité n’est pas la précision

Un calcul stable ne fournit pas nécessairement une trajectoire physique précise. La distinction peut être étudiée avec l’équation de test linéaire :

dy/dt = λy

La solution exacte après un pas de temps est :

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

Une méthode numérique produit plutôt :

yⁿ⁺¹ = R(z)yⁿ

z = λΔt

La fonction R(z) est le facteur d’amplification. La stabilité absolue nécessite :

|R(z)| ≤ 1

Cette condition empêche la croissance numérique non limitée pour un problème de test de décroissance. Cela ne garantit pas que R(z) se rapproche de exp(z) de près.

Une méthode implicite peut rester limitée à un pas de temps très important tout en reproduisant mal le taux de décroissance, la phase ou la réponse transitoire. Le rapport de la NASA Méthodes explicites, implicites et hybrides discute de la nécessité de prendre en compte la précision plutôt que d’utiliser la stabilité seule pour justifier une méthode.

Comprendre les régions de stabilité

La région de stabilité est l’ensemble de valeurs de z = λΔt pour laquelle le facteur d’amplification reste limité.

avant Euler

L’attaquant Euler a :

R(z) = 1 + z

Sa région de stabilité satisfait :

|1 + z| ≤ 1

Cela forme un disque centré sur −1 avec un rayon. Le long de l’axe réel négatif, l’intervalle stable est :

−2 ≤ z ≤ 0

RK4 classique

La méthode classique de Runge-Kutta du quatrième ordre a une région de stabilité plus grande mais toujours bornée. Le long de l’axe réel négatif, il reste stable approximativement jusqu’à :

z ≈ −2.785

Ceci est considérablement plus grand que l’intervalle d’Euler vers l’avant, mais aucune méthode explicite de Runge-Kutta ne peut inclure toute la moitié gauche du plan complexe.

Une introduction pratique à la stabilité absolue, la stabilité A et la L-stabilité est disponible dans le Crash Course sur les ODE numériques.

Euler à l’envers

Euler à l’envers a :

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

Sa région de stabilité contient le demi-plan complet gauche. Il est donc stable.

Au fur et à mesure que z devient de plus en plus négatif, le facteur d’amplification se rapproche de zéro. Les modes fortement décroissants sont rapidement supprimés. Cela rend Euler L-Stable à l’envers, bien qu’il ne soit que précis au premier ordre.

Crank – Nicolson

Crank – Nicolson a :

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

Il est également stable car sa région de stabilité comprend le demi-plan gauche. Cependant, comme z → −∞ :

R(z) → −1

Les modes très rigides ne sont pas entraînés à zéro. Au lieu de cela, ils peuvent alterner en signe tout en conservant une ampleur presque constante. Crank – Nicolson n’est donc pas stable en L et peut produire des oscillations temporelles non physiques lorsque de très grandes étapes sont appliquées à des systèmes rigides.

A-stabilité et L-stabilité

Une méthode A-Stable est stable pour chaque valeur propre de test-équation avec une partie réelle non positive, quelle que soit la taille du pas de temps.

Une méthode L-stable est A-stable et satisfait également :

R(z) → 0 as z → −∞

Cette distinction est importante pour les systèmes rigides. La stabilité A empêche la croissance explosive, tandis que la stabilité en L garantit que les modes de décroissance rapide non résolus sont fortement amortis.

Toutes les méthodes implicites ne sont pas stables et toutes les méthodes A-stables ne sont pas stables. Les propriétés appartiennent au schéma individuel plutôt qu’à toute la catégorie implicite.

ordre de précision

L’ordre d’une méthode détermine la rapidité avec laquelle son erreur diminue à mesure que le pas de temps devient plus petit.

Pour une méthode de commande p :

Local truncation error = O(Δt^(p+1))
Global error           = O(Δt^p)
Méthode Tapez Ordre Erreur locale Erreur globale
avant Euler Explicite 1 O(Δt²) O(Δt)
Euler à l’envers Implicite 1 O(Δt²) O(Δt)
Crank – Nicolson Implicite 2 O(Δt³) O(Δt²)
BDF2 Multi-étape implicite 2 O(Δt³) O(Δt²)
RK4 classique Explicite 4 O(Δt⁵) O(Δt⁴)
Dormand-Prince 5(4) RK intégré explicite 5 avec un estimateur de quatrième ordre dépendant de la méthode Environ O(Δt⁵) pour la solution du cinquième ordre

Euler vers l’avant et vers l’arrière a la même commande formelle, même si leurs propriétés de stabilité diffèrent considérablement. RK4 peut être beaucoup plus précis qu’Euler arrière à la même taille de marche lorsque la stabilité le permet.

L’étiquette explicite ou implicite décrit principalement comment une étape est calculée. Il ne détermine pas la commande formelle.

Qu’est-ce que la rigidité ?

Un système est rigide lorsqu’il contient des échelles de temps fortement séparées et des exigences de stabilité explicites forcent des étapes beaucoup plus petites que celles nécessaires pour résoudre le comportement d’intérêt.

Pensez à :

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

La solution souhaitée peut varier sur une échelle de temps d’une commande, mais une composante à décroissance rapide a une échelle de temps proche de 0.001. Une méthode explicite peut avoir besoin de résoudre le mode rapide pour la stabilité même après que ce mode est devenu physiquement sans importance.

Une méthode implicite appropriée peut dépasser la décroissance rapide et suivre la solution la plus lente. C’est la principale raison pour laquelle les méthodes implicites sont utilisées pour les systèmes de réaction rigides, les équations de diffusion, les circuits électriques et les modèles multiphysiques étroitement couplés.

Amortissement numérique

L’implicite n’implique pas automatiquement un fort amortissement. L’amortissement est contrôlé par le facteur d’amplification de la méthode.

Euler arrière supprime fortement les modes lorsque |λΔt| est grand. Cela peut être souhaitable lorsque ces modes représentent une rigidité non résolue. Cela peut être indésirable lorsqu’ils représentent des ondes ou des transitoires qui doivent être mesurés.

Crank–Nicolson introduit un amortissement beaucoup moins haute fréquence. Cela préserve certains comportements oscillatoires, mais cela peut également permettre de rester des oscillations numériques rigides indésirables.

La discussion Flow-3D de méthodes numériques implicites et explicites illustre comment les grandes étapes implicites peuvent déformer le comportement transitoire. L’effet ne doit pas être interprété comme un facteur de sous-relaxation fixe universel. Son amplitude dépend du schéma d’intégration, du pas de temps, de l’équation et du solveur itératif.

La sous-relaxation est une question distincte

La sous-relaxation est souvent utilisée dans les solveurs itératifs non linéaires ou couplés :

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

Le paramètre α est généralement compris entre zéro et un. Des valeurs plus petites peuvent stabiliser une résolution itérative mais ralentir sa convergence et modifier le transitoire apparent lorsque les itérations sont arrêtées avant la convergence complète.

La sous-relaxation n’est pas une propriété inévitable de chaque intégrateur de temps implicite. Il s’agit d’un choix algorithmique supplémentaire qui peut apparaître dans le processus de solution non linéaire.

Restrictions de LFC pour les méthodes explicites

Pour une équation d’advection, les méthodes explicites suivent généralement une condition de cours :

Δt ≤ C Δx / |v|

La constante C dépend de la méthode spatiale et de l’intégrateur de temps.

Pour une équation de diffusion explicitement intégrée, la limite évolue généralement comme suit :

Δt ≤ C Δx² / D

Cette dépendance quadratique peut devenir coûteuse sur les mailles fines. La réduction de moitié de la taille de la cellule peut nécessiter environ quatre fois plus de pas de temps pour un schéma explicite contrôlé par la diffusion.

Ces restrictions ne signifient pas que les méthodes explicites sont inexactes. Ils définissent une plage de stabilité. Dans les simulations hyperboliques, le besoin physique de résoudre les déplacements des vagues peut déjà nécessiter une étape similaire à la limite de LFC.

Coût par pas

Les méthodes explicites nécessitent généralement des évaluations de fonctions, des calculs de flux ou des produits à matrice clairsemée. Leurs étapes sont relativement peu coûteuses et sont souvent bien adaptées à un matériel parallèle.

Les méthodes implicites peuvent nécessiter :

  • Assemblage de la matrice
  • Construction jacobienne
  • Solution de système linéaire
  • Configuration du préconditionneur
  • Itérations de Newton non linéaires
  • Contrôles de convergence

Une méthode implicite n’est efficace que lorsque l’étape utilisable plus grande compense le coût supplémentaire de chaque solution.

La comparaison devrait donc utiliser le coût total à un niveau d’erreur fixe plutôt qu’à un nombre de pas à lui seul.

Intégration explicite adaptative

Les paires Runge-Kutta intégrées estiment l’erreur sans effectuer deux intégrations entièrement indépendantes.

Dormand-Prince 5(4), souvent appelé RK45, partage un ensemble d’étapes intermédiaires pour construire à la fois une approximation du cinquième ordre et une estimation d’erreur d’ordre inférieur.

L’erreur normalisée peut être évaluée comme suit :

error_ratio =
    estimated_error
    / (
        absolute_tolerance
        + relative_tolerance
          * solution_scale
      )

Si le ratio est inférieur à un, l’étape peut être acceptée. S’il dépasse un, l’étape est rejetée et répétée avec un Δt plus petit.

Une mise à jour typique a le formulaire :

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

Les implémentations pratiques limitent également la rapidité avec laquelle l’étape peut se développer ou se rétrécir.

Intégration implicite adaptative

Les solveurs implicites peuvent estimer l’erreur grâce à des formules embarquées, à des méthodes BDF d’ordre variable, à des estimations de défauts ou à un doublement par étapes.

Le doublage par étapes compare :

  • Une étape de longueur Δt
  • Deux étapes de longueur Δt/2

La différence estime l’erreur temporelle. Cela peut nécessiter plusieurs résolutions implicites, bien que des factorisations matricielles ou des préconditionneurs puissent parfois être réutilisées lorsque l’opérateur reste similaire.

Les grands modèles de production peuvent combiner plusieurs restrictions indépendantes. Le Documentation de pas de temps de PISM montre comment les LFC, Les limites spécifiques à la diffusivité, à la sortie et au modèle interagissent dans un vrai code de simulation.

Méthodes IMEX

Les méthodes implicites et explicites divisent le côté droit en composants rigides et non rigides :

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

Le terme non raide peu coûteux est évalué explicitement, tandis que le terme rigide est traité de manière implicite.

Pour un problème de convection-diffusion :

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

Le terme d’advection peut être explicite et le terme de diffusion implicite. Cela évite une solution non linéaire globale pour l’équation complète tout en supprimant la restriction de diffusion explicite sévère.

Les schémas IMEX nécessitent des formules explicites et implicites compatibles. Leur ordre et leur stabilité dépendent de la méthode appariée complète, pas seulement de chaque composant isolément.

Comparaison explicite, implicite et IMEX

Propriété Explicite Implicite iMex
Calcul d’étape Directement des états connus Nécessite une résolution pour l’état futur Combine les étapes directes et implicites
Coût par pas Généralement faible généralement plus élevé entre explicite et totalement implicite
région de stabilité Limité pour les méthodes RK explicites peut être très grand; dépendant de la méthode Dépend des deux composants
Systèmes rigides souvent inefficace généralement approprié approprié lorsque la rigidité peut être séparée
problèmes de vague Souvent efficace et à faible dissipation Nécessite un choix prudent des propriétés d’amortissement et de phase Utile pour les termes mixtes et rigides
Exécution relativement simple Nécessite des solveurs linéaires ou non linéaires Nécessite la séparation des opérateurs et les formules appariées

Sélection d’une méthode par physique

Type de problème Point de départ commun Raison
Ode non rigide Méthode RK explicite adaptative Faible coût de pas et contrôle d’erreur intégré fiable
Propagation des ondes RK explicite ou méthode de préservation de la structure La résolution physique impose souvent déjà un petit pas
Diffusion explicite sur un maillage fin Méthode implicite ou IMEX Évite la restriction sévère Δx²
Système de réaction fortement raide BDF, Radau ou un autre solveur rigide Les exigences de stabilité explicites peuvent ne pas être pratiques
Système d’advection-diffusion IMEX ou fractionnement d’un opérateur Différents termes ont des propriétés numériques différentes
Système légèrement raide avec des oscillations importantes Schéma de type RK implicite ou Crank – Nicolson soigneusement sélectionné Nécessite une stabilité sans amortissement excessif
Calcul de l’état d’équilibre par pseudo-temps itération implicite ou accélérée La fidélité transitoire peut être moins importante que la convergence

L’ordre de méthode compte toujours

Une méthode implicite du premier ordre peut nécessiter un petit pas de temps pour la précision même lorsque la stabilité en permet une grande. Une méthode explicite du quatrième ou du cinquième ordre peut être beaucoup plus efficace pour un problème non raide.

À l’inverse, une méthode explicite d’ordre élevé ne peut pas surmonter une rigidité sévère si sa région de stabilité exclut les valeurs propres pertinentes.

La sélection implique donc deux questions distinctes :

  1. La région de stabilité est-elle adaptée au système et à la taille d’étape prévue ?
  2. La commande est-elle suffisamment élevée pour répondre à l’erreur requise à un coût abordable ?

Vérification grâce au raffinement du pas de temps

Un intégrateur de temps doit être testé en répétant la simulation avec des étapes plus petites. Comparez des quantités physiquement pertinentes telles que :

  • amplitude maximale
  • Heure d’onde
  • Phase d’oscillation
  • Masse ou énergie totale
  • rendement de réaction
  • Position d’interface
  • Valeur de régime permanent

Si le résultat change de manière significative après la réduction de moitié du pas de temps, l’étape d’origine n’était pas convergée temporellement.

Les tests temporels doivent être séparés de la convergence du maillage. Le raffinage simultané de l’espace et du temps rend difficile la détermination de la source d’erreur qui a causé le changement.

Erreurs de sélection courantes

Une erreur courante consiste à prendre une très grande étape implicite simplement parce que la méthode reste stable.

D’autres erreurs fréquentes incluent :

  • Une commande locale et globale déroutante
  • En supposant que chaque méthode implicite est A-stable
  • En supposant que chaque méthode A-Stable amortit fortement les modes rigides
  • Utiliser une diffusion explicite sur un maillage fin sans estimer sa limite de stabilité
  • Utilisation d’Euler en arrière lorsque la précision des phases est importante
  • Utilisation de Crank – Nicolson pour une rigidité sévère sans vérifier les oscillations temporelles
  • Ignorer les tolérances non linéaires des solveurs dans une méthode implicite
  • Comparaison d’algorithmes à différents niveaux de précision
  • Rapport de stabilité sans effectuer de tests de convergence de temps
  • Application d’une règle générique explicite contre implicite à chaque PDE

Un flux de travail de sélection pratique

  1. Identifiez les échelles de temps physiques importantes.
  2. Déterminez si le système semi-discret est rigide.
  3. Estimez l’advection, la diffusion, la réaction et les restrictions basées sur les ondes.
  4. Décidez si les modes rapides doivent être résolus ou peuvent être amortis.
  5. Sélectionnez une méthode avec une région de stabilité appropriée.
  6. Sélectionnez une commande qui peut atteindre la cible de précision.
  7. Inclure le coût des résolutions matricielles et non linéaires.
  8. Utilisez le pas adaptatif, le cas échéant.
  9. Répétez la simulation avec des tolérances plus serrées ou des étapes plus petites.
  10. Comparez le temps d’exécution total à la même erreur mesurée.

Guides connexes

Lectures complémentaires

Conclusion

Les intégrateurs de temps explicites et implicites résolvent différents problèmes numériques. Les méthodes explicites fournissent des étapes peu coûteuses et sont efficaces pour les équations, les ondes et les problèmes non raides dont la résolution physique nécessite déjà de petits incréments de temps. Les méthodes implicites peuvent éviter les limites de stabilité restrictives et sont souvent nécessaires pour les réactions raides, les modèles dominés par la diffusion et les systèmes étroitement couplés.

La stabilité ne garantit pas la précision. Un calcul implicite peut rester borné tout en manquant des transitoires rapides, en introduisant une erreur de phase ou en utilisant un pas de temps trop important pour reproduire la trajectoire physique.

La méthode individuelle compte plus que son large label. Euler arrière est fortement amortissant et précis du premier ordre. Crank – Nicolson est du second ordre et stable mais ne supprime pas les modes extrêmement rigides. RK4 offre une grande précision pour les systèmes non raides mais a une région de stabilité délimitée. Les méthodes IMEX combinent des traitements explicites et implicites lorsque les opérateurs peuvent être séparés.

La bonne méthode est celle qui répond à l’erreur requise au coût de calcul crédible le plus bas. Cette décision doit être démontrée par une analyse de stabilité, un contrôle adaptatif des erreurs et un raffinement des pas de temps plutôt que supposés à partir des mots « explicite » ou « implicite ».