Une simulation CFD qui diverge a une cause, et baisser la sous-relaxation la trouve rarement. Sept vérifications dans l’ordre, des unités et des limites au numérique.

Illustration DEEB-FLOW d’un champ de vitesse dans une chambre de séchage par atomisation
Illustration conceptuelle issue de la bibliothèque de cas DEEB-FLOW. Elle ne constitue pas un résultat de cet article.

Pourquoi brider le solveur trouve rarement la cause

Itération 214. Les résidus, qui baissaient régulièrement, repartent à la hausse. À l’itération 230 ils atteignent 10⁵, et la console affiche un avertissement de divergence, une exception en virgule flottante ou, dans OpenFOAM, une colonne de nombres qui se termine par « nan ».

Le réflexe est d’ouvrir les réglages du solveur et de tout baisser. Réduire les facteurs de sous-relaxation, diviser le pas de temps par deux, relancer. Parfois cela fonctionne. Le plus souvent, cela retarde l’arrêt de quelques centaines d’itérations et ne vous apprend rien.

Une simulation CFD qui diverge est un symptôme qui a une cause, et cette cause se trouve en général plus vite en regardant la solution qu’en ajustant des réglages. Voici l’ordre dans lequel je fais mes vérifications. Les contrôles peu coûteux viennent d’abord, et chacun resserre le suivant.

1. Trouver où cela a commencé

Avant de modifier un réglage, trouvez les cellules où la solution a d’abord dérapé. Chargez les dernières données enregistrées avant l’arrêt, ou relancez avec des sauvegardes fréquentes. Regardez le minimum et le maximum de la pression, de la vitesse, de la température et, en écoulement compressible, du nombre de Mach. Une température de 5 000 K dans une gaine d’air ou une vitesse cinquante fois supérieure à celle de l’entrée se trouve à un endroit précis. Allez voir cet endroit.

La plupart des solveurs peuvent aussi indiquer les cellules aux résidus les plus élevés. Toute la suite est plus simple une fois que vous savez si le problème se situe à une entrée, à une sortie, dans un jeu étroit ou dans une couche limite.

2. Vérifier les unités et l’échelle

Cela paraît trop simple, et c’est pourtant la cause plus souvent qu’on ne l’admet. Une géométrie dessinée en millimètres et lue en mètres est mille fois trop grande dans chaque direction. Votre tube de 50 mm mesure maintenant 50 m de diamètre, le nombre de Reynolds est mille fois plus élevé, et un maillage qui convenait devient inutilisable. Comparez les dimensions du domaine indiquées par le solveur à celles que vous attendez.

Profitez-en pour vérifier les propriétés des matériaux et la pression de référence. Une confusion entre pression relative et pression absolue dans un cas compressible donne des masses volumiques physiquement absurdes.

3. Vérifier les conditions aux limites

Demandez-vous si le problème que vous avez posé admet une solution.

  • La conservation de la masse. Une vitesse imposée à chaque entrée et à chaque sortie surcontraint un écoulement incompressible. Au moins une frontière doit laisser la pression s’ajuster.
  • Le retour d’écoulement à une sortie. Si une zone de recirculation traverse une sortie en pression, le solveur doit inventer les propriétés du fluide qui rentre. Éloignez la sortie vers l’aval ou définissez des valeurs de retour réalistes.
  • La position de l’entrée. Une entrée placée juste en amont d’un coude ou d’une marche impose un profil uniforme là où l’écoulement réel est loin de l’être.
  • Des conditions cohérentes avec le modèle. Une entrée turbulente dont l’intensité de turbulence est restée à zéro, ou une entrée supersonique sans pression statique, se comportera mal.

Un écoulement inversé signalé à une entrée est presque toujours une erreur de mise en données et mérite d’être traité avant tout le reste.

4. Regarder le maillage là où le calcul a cédé

Vient ensuite le maillage, et précisément celui de l’endroit repéré à l’étape 1. Vérifiez la distorsion, l’orthogonalité et le rapport d’aspect. Quelques cellules mal formées dans un jeu étroit ou à un bord de fuite aigu suffisent, car des cellules très distordues faussent les flux entre voisines et injectent des oscillations dans la solution. Vérifiez aussi les sauts brusques de taille de cellule. Si la divergence est partie des pires cellules du maillage, réparez le maillage à cet endroit. Un réglage du solveur ne ferait que masquer le problème.

Un maillage plus fin peut diverger là où un maillage grossier tournait. Le maillage grossier lissait un phénomène, comme un lâcher de tourbillons ou un choc, que le maillage fin résout. C’est une information sur l’écoulement, et elle signifie en général que le cas doit être calculé en instationnaire.

5. Donner un meilleur départ au calcul

Un solveur qui part d’un champ uniforme à la vitesse d’entrée a un long chemin à parcourir, et les premières itérations sont brutales. Trois mesures adoucissent le départ.

  • Utilisez l’initialisation du solveur à partir d’une solution potentielle ou hybride, si elle existe.
  • Démarrez à une fraction du débit, ou à un rapport de pression plus faible en compressible, puis augmentez progressivement.
  • Faites quelques centaines d’itérations avec une discrétisation du premier ordre, puis passez au second ordre.

6. Ajouter la physique par étapes

Si le cas comporte du transfert thermique, des espèces, de la combustion ou plusieurs phases, évitez de tout activer dès la première itération. Faites d’abord converger l’écoulement à froid. Ajoutez ensuite l’énergie, puis les espèces sans réaction, puis les réactions. Chaque étape part d’un champ raisonnable, et quand quelque chose tourne mal vous savez quel modèle en est la cause.

7. Ajuster maintenant le numérique

C’est seulement ici que les réglages du solveur interviennent, et vous savez désormais ce que vous traitez. Pour les solveurs stationnaires basés sur la pression, baissez modérément les facteurs de sous-relaxation de la pression et de la quantité de mouvement. Pour les solveurs couplés ou basés sur la densité, baissez le nombre de Courant. Une approche pseudo-transitoire est souvent plus stable qu’une simple sous-relaxation.

Pour les calculs instationnaires, vérifiez directement le nombre de Courant. Il donne le nombre de cellules que l’écoulement traverse en un pas de temps. Prenons des cellules de 0,5 mm dans un jet à 40 m/s avec un pas de temps de 10⁻⁴ s.

CFL = u × Δt / Δx = 40 × 0.0001 / 0.0005 = 8

Le fluide traverse huit cellules par pas. Pour un schéma explicite ou une surface libre nette, c’est beaucoup trop. Un pas de temps de 1,25 × 10⁻⁵ s ramène ce nombre à 1.

Si le calcul ne survit qu’avec une relaxation très faible ou un pas de temps minuscule, revenez aux étapes 1 à 4. Le numérique compense quelque chose.

Pourquoi les vérifications suivent cet ordre

Les étapes 1 à 3 prennent quelques minutes et ne demandent aucune relance. L’étape 4 peut exiger un remaillage, d’où l’intérêt de connaître d’abord l’endroit. Les étapes 5 à 7 modifient la façon dont le solveur approche la réponse, ce qui n’aide que si une réponse existe. En pratique l’ordre habituel est inverse, avec le numérique d’abord, le maillage ensuite et la mise en données à la fin, et c’est ainsi qu’un problème de deux heures en prend deux jours.

Erreurs fréquentes

  • Baisser la relaxation jusqu’à ce que le calcul tourne, puis la laisser ainsi. Une solution fortement sous-relaxée converge très lentement et peut sembler terminée alors qu’elle évolue encore.
  • Raffiner tout le maillage en réponse à un problème local. Le nombre de cellules augmente et les cellules mal formées le restent.
  • Interdire le retour d’écoulement à une sortie simplement trop proche. L’avertissement disparaît et l’erreur reste dans la solution.
  • Ignorer les avertissements. Les messages signalant un écoulement inversé sur des centaines de faces ou une viscosité turbulente limitée dans des milliers de cellules vous indiquent où regarder.

Quand le calcul refuse toujours de tourner

Dépouillez le cas. Retirez des modèles jusqu’à ce qu’il tourne, puis remettez-les un par un. Si une version laminaire, isotherme et monophasique de votre géométrie diverge, le problème vient du maillage ou des conditions aux limites, et vous avez beaucoup réduit le champ de recherche. Si vous y avez passé deux jours, montrez le cas à quelqu’un d’autre, car un regard neuf repère souvent une confusion entre millimètres et mètres en quelques minutes.

Sources et lectures

Service associé

Revue de modèles et études sur mesure

Savoir quelles conclusions le modèle étaye, où subsistent les incertitudes et ce qui doit être vérifié.

Découvrir les services
Tous les articles