TL; DR – Schlüsselübergaben
- Divergenz und Instabilität fallen in vier Kategorien: Zeitliche (CFL / Mesh), räumliche (Mesh-Qualität), Grenz- / Anfangsbedingungen und Solver-Einstellungen.
- Residuals allein beweisen keine Konvergenz. Monitorpunkte (Kräfte, Temperaturen, Geschwindigkeiten) müssen ebenfalls überprüft werden. Residuen können flache Linie, während eine lokalisierte Variable explodiert.
- Diagnose jeweils eine Variable. Ändere nur eine Einstellung und führe sie erneut aus. Wenn Sie zwei Dinge ändern und sich die Simulation stabilisiert, wissen Sie nicht, welcher Fix tatsächlich funktioniert hat.
- Der Boundary-Swap-Trick (zeitweise alle Grenzen auf fest oder voreingestellt) ist die schnellste Methode, um zu isolieren, ob die Divergenz von Randbedingungen oder von der Zeitschrittstabilität herrührt.
- Negative Eigenwerte in FEA signalisieren oft ein Knicken, keinen Solverfehler. Die richtige Lösung ist eine bogenförmige Methode (Riks) oder implizite Dynamik, keine engere Toleranz.
Warum divergieren Simulationen – und warum Diagnose wichtig ist
Jede numerische Simulation hat die gleiche schreckliche Signatur: Bei einem bestimmten Zeitschritt oder einer Iteration explodieren Werte in Richtung NaN oder Infinity, der Solver stoppt den Fortschritt und Sie starren auf ein Terminalfenster voller Inf-Nachrichten.
Wenn Sie mit einem kleineren Zeitschritt sofort neu starten und die Simulation gut läuft, haben Sie Glück. Wenn Sie etwas ändern und die Simulation immer noch abstürzt, debuggen Sie jetzt mit weniger Informationen als zuvor.
Das Problem ist nicht, dass Simulationen unzuverlässig sind. Sie folgen gut verstandenen mathematischen Regeln. Das Problem ist, dass die Fehlermeldung Ihnen fast nie sagt, dass was schief gelaufen ist – sie sagt nur, dass etwas schief gelaufen ist.
Das Verständnis der Taxonomie des numerischen Versagens ist der erste Schritt zur systematischen Diagnose. Numerische Fehler gliedern sich in vier Wurzelkategoritorien:
- Zeitliche Instabilität – Der Zeitschritt ist zu groß, der CFL-Zustand wird verletzt oder der Solver tritt außerhalb seines Stabilitätsbereichs.
- Spatial (Mesh) Pathologie – Stark verzerrte Zellen, extreme Seitenverhältnisse oder negative Volumina erzeugen unphysische Gradienten.
- Grenz- oder Anfangszustandsfehler – Konflikte, fehlende Referenzwerte oder inkonsistente Startwerte erzeugen numerische Widersprüche.
- Probleme der Löserkonfiguration – Falsche Diskretisierungsschemata, aggressive Unterrelaxationsfaktoren oder unangemessene Toleranzen.
Wenn Sie wissen, zu welcher Kategorie Ihr Fehler gehört, wird die Diagnose zu einem Prozess der Beseitigung. Wenn Sie dies nicht tun, raten Sie am Ende – und raten, wie Sie Stunden Rechenzeit verschwenden.
Die vier Grundursachenkategorien
1. Zeitliche Instabilität
Die zeitliche Instabilität ist die häufigste Ursache für Divergenz in zeitabhängigen Simulationen. Der primäre Schuldige ist die Bedingung CFL (Courant-Friedrichs-Lewy) , die besagt, dass der Zeitschritt für ein explizites Schema befriedigen muss:
$$
c = frac{u delta t}{delta x} leq 1
$$
Wenn $ C > 1 $, Informationen breiten sich schneller aus, als das numerische Schema sie verfolgen kann, und Fehler werden exponentiell zusammengesetzt. Dies ist keine geringfügige numerische Belästigung – es ist eine grundlegende mathematische Einschränkung.
Worauf Sie achten sollten:
- Die Simulation divergiert unmittelbar nach den ersten Zeitschritten
- Die Fehlermeldung bezieht sich auf „Zeitschritt zu klein“ oder „Stabilitätsgrenze überschritten“
- Die gleichen Netz- und Randbedingungen konvergieren, wenn Sie den Zeitschritt reduzieren
Was zu beheben:
- Reduzieren Sie den Zeitschritt, bis die CFL-Nummer als sicherer Ausgangspunkt unter 0,5 fällt
- Verwenden Sie eine adaptive Zeitschrittstrategie, die auf der Grundlage lokaler Courant-Nummern skaliert wird
- Überprüfen Sie die Konsistenz der Materialeigenschaft – Eine Flüssigkeit mit hoher Geschwindigkeit in einem dichten Medium hat möglicherweise eine viel engere CFL-Grenze als erwartet
2. Räumliche (Mesh) Pathologie
Die Mesh-Qualität ist die zweithäufigste Ursache für Divergenz. Im Gegensatz zur zeitlichen Instabilität, die sich typischerweise frühzeitig manifestiert, kann die Netzpathologie in jedem Stadium zu Divergenz führen – insbesondere bei nichtlinearen oder multiphysikalischen Simulationen, bei denen das Netz mit dem Solver iterativ interagiert.
Problemindikatoren:
- Hohe Zellschräge (> 0,9 auf einer Skala von 0–1)
- Extreme Seitenverhältnisse (> 100:1)
- Negative Zellvolumina (der schwerste Fehler)
Die von Netzen erzeugte Divergenz ist besonders heimtückisch, da das Netz normalerweise für Ihre Physik korrekt ist – es ist nur die numerische Diskretisierung, die unglücklich ist. Ein Netz, das in einem Vorprozessor gut aussieht, kann Zellen mit extremen Seitenverhältnissen in Bereichen mit schneller Gradientenänderung aufweisen, was unphysische Diffusionsbegriffe verursacht.
Was zu beheben:
- Überprüfen Sie die Metriken der Netzqualität vor dem ersten Lauf, nicht danach
- Verwenden Sie ein Mesh-Dashboard (die meisten CFD-Präprozessoren enthalten eines) und überprüfen Sie die Schiefe < 0,7, Seitenverhältnis < 50 für die meisten Solver
- Verfeinern oder restrukturieren Sie das Netz in hochgradienten Bereichen
- Ignorieren Sie niemals negative Warnungen des Zellvolumens – es handelt sich um mathematische Unmöglichkeiten, die der Solver nicht auflösen kann
3. Grenz- und Anfangszustandsfehler
Randbedingungsfehler sind die Kategorie, in der erfahrene Forscher den gleichen Fehler machen wie Anfänger: Das Setup sieht richtig aus, aber die Physik widerspricht sich selbst.
Stellen Sie sich ein gemeinsames CFD-Szenario vor. Sie stellen einen Druckeingang und einen Druckausgang ein. Beide haben feste Druckwerte. Der Solver benötigt einen Referenzdruck, um das absolute Druckfeld festzulegen. Ohne eine Druckreferenz versucht der Solver zwei inkompatible Einschränkungen auszugleichen – er divergiert.
In strukturellen Simulationen erzeugt eine physikalisch unmögliche Randbedingung – wie die Einschränkung eines Knotens, der ebenfalls frei verschoben werden muss – einen Widerspruch, den der Solver nicht lösen kann.
Allgemeine Randbedingungsfehler:
- Widersprüchliche Druckwerte am Ein- und Auslass (fehlender Referenzdruck)
- Rückfluss an einem Auslass (Solver erwartet die Durchflussrichtung entspricht dem BC-Typ)
- Fehlende Referenzwerte (Temperatur, Druck, elektrisches Potential)
- Inkonsistente Anfangsbedingungen (Anfangsgeschwindigkeit stimmt nicht mit Grenzgeschwindigkeit überein)
Was zu beheben:
- Überprüfen Sie jede Randbedingung mit der Physik – stimmt der Grenztyp der erwarteten Strömungsrichtung über?
- Fügen Sie beim Arbeiten mit Druckgrenzen einen Druckreferenzknoten hinzu
- Stellen Sie sicher, dass die Anfangsbedingungen mit den Randbedingungen und dem erwarteten physikalischen Zustand übereinstimmen
4. Probleme bei der Solver-Konfiguration
In der Kategorie Solver Settings können Sie versehentlich eine perfekte Simulation mit dem falschen Werkzeug des Jobs destabilisieren. Diese Kategorie umfasst:
- Falsche Diskretisierungsschemata – Aufwärtswind zweiter Ordnung auf einem groben Netz erzeugt Oszillationen; Schemata erster Ordnung sind stabiler, aber weniger genau
- Aggressive Unterentspannung – Faktoren unter 0,1 können zu Divergenz führen. Typische Werte sind je nach Gleichung 0,1–0,7
- Unangemessene Toleranzen — Zu enge Toleranzen verursachen übermäßige Iterationen; Zu lockere Toleranzen akzeptieren unphysische Ergebnisse
- Falscher Solver-Typ – Verwendung eines druckbasierten Solvers für inkompressiblen Durchfluss im Vergleich zu einem auf Dichte basierenden Solver für komprimierbaren Durchfluss
Was zu beheben:
- Beginnen Sie mit der Diskretisierung erster Ordnung und steigen Sie dann auf die zweite Ordnung, sobald sich die Lösung stabilisiert
- Verwenden Sie anfänglich die Standard-Unterrelaxationsfaktoren und stimmen Sie dann bei Bedarf ab
- Prüfen Sie den Solver-Typ gegen Ihr Physik-Regime (komprimierbar gegen inkomprimierbar, turbulent gegen laminar)
Systematischer Diagnose-Workflow
Wenn Ihre Simulation abweicht, Ändern Sie nicht mehrere Einstellungen gleichzeitig. Dies ist das wichtigste Debugging-Prinzip für CFD, FEA und jeden numerischen Solver.
Folgen Sie diesem Workflow:
Schritt 1: Lassen Sie die Simulation schneller fehlschlagen
Wenn Ihre Simulation 1000 Iterationen vor der Divergierung abläuft, verschwenden Sie Zeit. Verwenden Sie stattdessen einen größeren Zeitschritt oder weniger Iterationen pro Schritt, um einen Fehler schnell zu erzwingen. Dies gibt Ihnen eine engere Schleife für die Diagnose.
Schritt 2: Ausfall isolieren
Identifizieren Sie, welche Variable zuerst divergiert – Geschwindigkeit, Druck, Temperatur, Kraft. Verwenden Sie die Restüberwachung und Monitorpunkte (bestimmte Mengen, die Sie bei jeder Iteration verfolgen). Die Variable, die divergiert, sagt Ihnen, welche Gleichung und welcher Teil der Domäne problematisch ist.
Kritische Erkenntnisse: Residuen allein können die Divergenz verbergen. Wie der Leitfaden zur Fehlerbehebung bei LEAP Australia betont, kann ein Solver konvergierte Residuen melden, während Überwachungspunkte (Kräfte, Geschwindigkeiten, Temperaturen) weiter treiben. Überprüfen Sie immer Monitorpunkte neben Residuen.
Schritt 3: Ändern Sie eine Sache, überprüfen Sie und ändern Sie dann eine andere
Ändern Sie nach der Identifizierung der Fehlerkategorie nur eine Einstellung. Führen Sie die Simulation erneut aus. Wenn es sich stabilisiert, haben Sie eine Lösung gefunden – aber Sie wissen nicht, ob es die richtige Lösung war. Dokumentieren Sie, was Sie geändert haben und das Ergebnis.
Dann ändern Sie nur eine zweite Einstellung. wiederholen Mit diesem kontrollierten Ansatz können Sie isolieren, welche Änderung tatsächlich wichtig ist.
Schritt 4: Überprüfen Sie mit der richtigen Diagnose
Unterschiedliche Simulationstypen erfordern unterschiedliche Diagnosewerkzeuge:
Für CFD:
- Überwachen Sie Residuen, Überwachungspunkte und Geschwindigkeits-/Druckprofile
- Verwenden Sie die Residuen-Konturvisualisierung, um zu sehen, wo sich Residuen räumlich ansammeln (Expertenmodus aktivieren:
solve set expert yes yes yes, dann eine Iteration ausführen:solve iterate 1) - Überprüfen Sie die Kontinuitäts- und Momentum-Balance an Domänengrenzen
Für FEA:
- Überprüfen Sie die Newton-Raphson-Konvergenzpläne
- Suchen Sie nach negativen Eigenwertwarnungen (die häufig eher ein Knicken als einen Löserfehler anzeigen)
- Überprüfen Sie die Kraft-Ablenkungskurven auf nicht-monotones Verhalten
- Verwenden Sie Arc-Länge-Methoden (Riks) für Probleme mit Durchschnapp- oder Knicken
Für den allgemeinen numerischen Code:
- Führen Sie einen Unit-Test mit einer hergestellten Lösung (Methode der hergestellten Lösungen, MMS)
- Überprüfen Sie bei Diffusions- oder Konvektionsbegriffen auf Vorzeichenfehler – die einfachste Ursache für katastrophale Divergenz ist oft ein fehl am Platz liegendes Minuszeichen
- Verfolgen Sie NAN oder INF auf den genauen Zeitschritt, in dem sie zuerst erscheinen
Fallstudien
Fall 1: Der Single-Sign-Fehler
Ein Forscher, der eine Advektions-Diffusionssimulation debuggte, stellte fest, dass die Lösung vollständig divergierte – Geschwindigkeitswerte oszillierten und wuchsen exponentiell. Das Netz war in Ordnung, die CFL-Nummer war konservativ und die Randbedingungen waren Standard.
Die Hauptursache war ein Einzelzeichenfehler im Diffusionsbegriff. Die Diskretisierung hatte +D anstelle von -D und kehrte so die Diffusionsrichtung um. Anstatt Störungen zu dämpfen, verstärkte die Gleichung sie.
Lektion: Überprüfen Sie zuerst die Diskretisierungszeichen. Vergewissern Sie sich vor der Überprüfung der Netzqualität oder der Solvereinstellungen, dass die mathematische Form Ihrer Gleichungen korrekt ist. Ein Vorzeichenfehler in einem Diffusionsterm ist numerisch äquivalent zu einer negativen Diffusion – die Simulation divergiert durch das Design.
Fall 2: Randbedingungs-Swap (der FDTD-Diagnose-Trick)
In einer FDTD-Simulation berichtete ein Benutzer, dass sich ändernde Randbedingungen die Divergenz korrigierten. Der Diagnose-Workflow aus der ANSYS FDTD-Dokumentation veranschaulicht:
Schritt 1: Setzen Sie alle Randbedingungen vorübergehend auf „Metall“ (fest) und führen Sie die Simulation erneut aus. Wenn die Simulation stabil wird, ist die Divergenz mit PML verbunden.
Schritt 2: Wenn die Simulation immer noch mit Metallgrenzen divergiert, ist die Divergenz auf die Stabilität von $ dt $ zurückzuführen – der Zeitschritt ist zu groß, als dass der Solver behandelt werden könnte.
Dieser Boundary-Swap-Trick ist ein praktischer Diagnose-Workflow, der den Suchbereich sofort einschränkt. Anstatt gleichzeitig Mesh, Solver-Einstellungen, Materialeigenschaften und Randbedingungen zu überprüfen, isolieren Sie die Randbedingungen als Kategorie und legen die tatsächliche Ursache fest.
Fall 3: Restkonturdiagnose
Der Expert TUI-Workflow von Leap Australia zeigt eine leistungsstarke Visualisierungstechnik. Anstatt skalare Restwerte zu betrachten, generieren Sie Restkonturdiagramme und ISO-Oberflächen, die genau anzeigen, wo sich in der Domäne hohe Residuen-Cluster befinden.
In einem Fall lagen die Residuen bei $ 10 ^ {-3} $, während die Simulation in einer lokalisierten Region tatsächlich divergierte. Die Restkonturen zeigten extreme Werte nahe einer Einlassgrenze, bei der die Maschenqualität schlecht war (Schied > 0,85). Der skalare Rest maskierte das lokalisierte Problem, da es über die gesamte Domäne gemittelt wurde.
Lektion: Visualisieren Sie Residuen immer räumlich, nicht nur numerisch. Konturdiagramme zeigen, woher die Divergenz stammt.
Fall 4: Nicht monotone Steifheit in FEA
Die nichtlineare FEA-Fallstudie von EnterFea deckt einen gemeinsamen Fehlermodus ab. Eine strukturelle Simulation divergierte am Gleichgewichtspunkt, an dem die Steifheit stark abnahm. Ein kraftgesteuerter Solver kann den Gleichgewichtspunkt nicht verfolgen – er oszilliert und scheitert.
Der Fix wechselte von der Kraftsteuerung zur Verschiebungssteuerung oder mit einem Arc-Länge-Verfahren (Riks). Dies ist kein Solver-Einstellungsproblem – es ist eine grundlegende Nichtübereinstimmung zwischen der Solver-Strategie und der Physik.
Lektion: Verwenden Sie bei nichtlinearen Problemen beim Durchschnappen, Knicken oder Kontakt die Bogenlängen- oder Verschiebungssteuerungsmethoden. Kraftgesteuerte Löser scheitern an Gleichgewichtspunkten, an denen die Steifigkeit nicht monoton ist.
Häufige Fallstricke – was zu Divergenz führt
Diese Fehler sind bei CFD-, FEA- und allgemeinen numerischen Lösern gut dokumentiert. Sie alle haben ein Merkmal: Die Simulation sieht richtig aus, bis sie divergiert.
1. Mehrere Einstellungen gleichzeitig ändern
Wenn Sie den Zeitschritt, das Diskretisierungsschema und den Unterrelaxationsfaktor auf einmal ändern und sich die Simulation stabilisiert, haben Sie keine Ahnung, welche Änderung tatsächlich funktioniert hat. Ändern Sie immer jeweils eine Einstellung. Dies ist die goldene Regel des numerischen Debuggens.
2. Blind vertrauensvolle Residuen
Residuen können flachlineieren, während eine lokalisierte Variable divergiert. Wie die Leap Australia-Checkliste warnt, müssen Sie auch Überwachungspunkte < überprüfen – bestimmte Größen wie Kräfte, Geschwindigkeiten und Temperaturen. Residuen messen den Gleichungsfehler, nicht die physikalische Korrektheit Ihrer Lösung.
3. Verwenden von Schemata zweiter Ordnung auf groben Gittern
Die Diskretisierung zweiter Ordnung führt zu Oszillationen auf groben Gittern. Beginnen Sie mit der Diskretisierung erster Ordnung, stabilisieren Sie die Lösung und steigen Sie dann auf die zweite Ordnung. Dies ist nicht theoretisch – es ist ein praktischer Workflow, der von erfahrenen CFD-Praktikern verwendet wird.
4. Negative Zellvolumina ignorieren
Negative Zellvolumina sind mathematische Unmöglichkeiten. Sie treten auf, wenn eine Mesh-Zelle invertiert oder kollabiert ist. Wenn Ihr Vorprozessor oder Mesh-Generator negative Volumina meldet, korrigieren Sie das Netz, bevor Sie eine Simulation versuchen. Kein Solver kann negative Volumina auflösen.
5. Angenommen, negative Eigenwerte sind Solver-Fehler
Bei Abaqus und anderen FEA-Solvern weisen anhaltende negative Eigenwertbotschaften häufig auf ein Knickverhalten und nicht auf eine numerische Instabilität. Die richtige Lösung ist eine Arc-Länge- (Riks)-Methode oder ein impliziter Dynamiklöser – kein engerer Toleranz- oder andere Solver-Algorithmus.
Diagnosewerkzeuge und -techniken
Restüberwachung
Die meisten Solver melden Restwerte für jede Gleichung (Kontinuität, Impuls, Energie, Turbulenz). Überwachen Sie Residuen über Iterationen. Ein gut konvergierter Rest sinkt normalerweise um 3–4 Größenordnungen von $ 10 ^ {-1} $ auf $ 10 ^ {-4} $ oder weniger.
Wichtig: Wenn die Residuen anfänglich abfallen, aber dann ein Plateau ohne das Ziel erreichen, kann die Simulation numerisch konvergiert sein, ohne die physikalische Genauigkeit zu erreichen. Überprüfen Sie die Monitorpunkte für diesen Fall.
Punkte überwachen
Monitorpunkte sind bestimmte Mengen, die Sie bei jeder Iteration verfolgen. In CFD sind dies typischerweise Kräfte (Lift, Luftwiderstand), Temperaturen, Geschwindigkeiten oder Drücke an bestimmten Orten. Bei FEA sind dies Reaktionskräfte, Verschiebungen oder Kontaktdrücke.
Überwachungspunkte weisen eine Abweichung auf, die Residuen verbergen. Wie der Leap Australia-Leitfaden betont, kann eine Simulation mit Flatline-Residuen immer noch unterschiedliche Monitorpunkte aufweisen. Führen Sie immer Residuen aus und überwachen Sie Punkte zusammen.
Löserdiagnose
Verschiedene Löser bieten unterschiedliche Diagnosetools:
- Newton-Raphson-Konvergenz-Plots (FEA) – Zeigen Sie, ob der Solver Fortschritte in Richtung Gleichgewicht oder Schwingung macht
- Eigenwert-Tracking (FEA) — Negative Eigenwerte deuten auf Knicken oder instabilen Kontakt hin
- Diagnostik von Tree- und R-Hat-Diagnostik (MCMC/Bayesian Solver) — Identifizieren Sie divergente Übergänge in Hamiltonian Monte Carlo
- BFMI (Basal Information) Monitoring (STAN/MCMC) – Erkennt Regionen pathologischer Krümmung
Residual-Konturvisualisierung
Aktivieren Sie den Expertenmodus in Ihrem Solver und führen Sie eine einzelne Iteration aus. Die meisten Solver erzeugen Restkonturdiagramme, die zeigen, wo sich Residuen räumlich ansammeln. Dies zeigt die Domänenregion, in der die Divergenz entsteht – eine Einlassgrenze, eine Netzübergangszone oder eine lokalisierte Region mit hohem Gradienten.
Nan- und INF-Verfolgung
Identifizieren Sie den genauen Zeitschritt oder die Iteration, in der NAN- oder INF-Werte zuerst angezeigt werden. Verfolgen Sie dann den vorherigen Schritt und untersuchen Sie die Werte, die zum NAN geführt haben. Dies ist besonders nützlich, um festzustellen, ob die Divergenz räumlich (ein Bereich der Domäne) oder zeitlich (der Solver tritt außerhalb seines Stabilitätsbereichs) ist.
Wann eskalieren
Manchmal divergiert eine Simulation trotz korrekter Netz-, Randbedingungen und Solver-Einstellungen. In diesen Fällen kann das Problem sein:
- Physikalische Unmöglichkeit — Die Randbedingungen oder Anfangsbedingungen beschreiben ein Szenario, das für die Annahmen des Solvers physikalisch unmöglich ist (z. B. inkompressible Strömung mit kompressiblen Materialien)
- Solver-Begrenzung — Der Solver kann das spezifische Physik-Regime nicht bewältigen (z. B. mehrphasige Strömung mit extremen Dichteverhältnissen)
- Bug auf Code-Ebene – ein Diskretisierungsfehler
Wann eskalieren:
- Sie haben die Netzqualität, Randbedingungen, Zeitschritte und Solver-Einstellungen überprüft
- Die Simulation divergiert auch bei konservativem Zeitschritt und Diskretisierung erster Ordnung
- Überwachen von Punkten divergieren, während Residuen konvergieren (oder umgekehrt)
- Sie vermuten einen Diskretisierungszeichenfehler, können ihn aber nicht finden
Erwägen Sie in diesen Fällen, sich an den Solver-Support zu wenden, die Literatur für ähnliche Fälle zu konsultieren oder die Methode der hergestellten Lösungen zu verwenden, um Ihren Diskretisierungscode zeilenweise zu überprüfen.
Zusammenfassung und nächste Schritte
Beim Debuggen von numerischen Simulationen geht es nicht darum, die richtige Einstellung zu finden – es geht darum, einen systematischen Diagnose-Workflow zu befolgen. Die vier Ursachenkategorien (zeitlich, räumlich, Grenz- / Anfangsbedingungen, Solver-Einstellungen) geben Ihnen eine Taxonomie, um den Suchraum einzuengen. Der Boundary-Swap-Trick, die Visualisierung der Residual-Konturen und die Monitorpunktinspektion bieten Ihnen praktische Werkzeuge, mit denen erfahrene Praktiker die tatsächliche Ursache isolieren.
Ihre nächsten Schritte:
- Wenn Ihre Simulation divergiert, beginnen Sie damit, den Fehler schneller zu erzwingen (größerer Zeitschritt, weniger Iterationen)
- Isolieren Sie, welche Variable zuerst mithilfe von Monitorpunkten divergiert
- Ändern Sie jeweils eine Einstellung, überprüfen und dokumentieren Sie
- Verwenden Sie die Residuen-Konturvisualisierung, um herauszufinden, wo die Divergenz räumlich entsteht
- Wechseln Sie bei nichtlinearer FEA zu Bogenlängenmethoden, wenn die Kraftsteuerung an Gleichgewichtspunkten fehlschlägt
Wenn Sie speziell mit steifen Problemen arbeiten, deckt die Anleitung zu steife Probleme und steife Solver ab, wann und warum explizite Methoden fehlschlagen. Allgemeine Code-Debugging-Workflows, die über die numerische Diagnose hinausgehen, finden Sie in der Python-Debugging-Handbuch für wissenschaftlichen Code.
Verwandte Anleitungen
- Python-Debugging für wissenschaftlichen Code — Druckaussagen, PDB, Profiling und Test-Workflows
- Steife Probleme und steife Löser – Wenn explizite Methoden fehlschlagen und warum steife Probleme lösen Solver
- Reproduzierbarkeit und ihre Rolle beim Debuggen — versionierte Workflows für reproduzierbares Simulationsdebuggen
- In-situ-Visualisierung — In-situ-Visualisierung als Frühwarnsystem für numerische Divergenz
- Mesh-Qualitäts- und Konvergenzstudien — Netzdiagnostik, die Stabilität und Konvergenz beeinflussen
Praktische Checkliste: Was Sie zuerst versuchen sollten
Verwenden Sie diese Checkliste, wenn Ihre Simulation abweicht. Arbeiten Sie jeden Schritt durch, bevor Sie zum nächsten übergehen.
- [ ] Netzqualität überprüfen — Schiefe < 0,7, Seitenverhältnis < 50, keine negativen Volumina
- [ ] Überprüfen Sie die CFL-Nummer – Reduzieren Sie den Zeitschritt, bis $c < 0,5 $
- [ ] Randbedingungen überprüfen — Ein-/Auslasskonsistenz, Referenzdruck, Strömungsrichtung
- [ ] Anfangsbedingungen festlegen – Stellen Sie sicher, dass die Randbedingungen und der erwartete physikalische Zustand übereinstimmen
- [ ] Verwenden Sie Diskretisierungen erster Ordnung – nach Stabilisierung auf zweiter Ordnung steigen
- [ ] Prüfen Sie die Faktoren für die Unterentspannung – verwenden Sie die Standardeinstellungen und stimmen Sie dann bei Bedarf ab
- [ ] Residuen und Überwachungspunkte überwachen — Flatline-Residuen garantieren keine Konvergenz
- [ ] Residual-Contour-Plots generieren – Visualisieren Sie, wo sich Residuen räumlich gruppieren
- [ ] für FEA: Eigenwerte prüfen – Negative Eigenwerte weisen oft auf Knicken, nicht auf Solverfehler
- [ ] für FEA: Umschalten auf die Arc-Länge-Methode (Riks), wenn der kraftgesteuerte Solver im Gleichgewicht ausfällt
- [ ] Diskretisierungszeichen überprüfen – Ein Einzelzeichenfehler kann katastrophale Divergenz verursachen
- [ ] Ändern Sie jeweils nur eine Einstellung – immer, niemals zwei gleichzeitig
Untere Linie: Divergenz ist diagnostizierbar. Die vier Kategorien (zeitliche, räumliche, Grenz- / Anfangsbedingungen, Solver-Einstellungen) bieten einen Rahmen. Die Techniken (Boundary-Swap, Restkonturen, Überwachungspunkte, Einmalwechsel) stellen die Werkzeuge bereit. Verwenden Sie sie systematisch und Sie werden die Ursache finden – nicht nur das Symptom.
Externe Quellen
Während der Recherche wurden folgende externe Quellen konsultiert und zur weiteren Lektüre empfohlen:
- Spring Australien — CFD Checkliste zur Fehlerbehebung — Systematischer CFD-Diagnose-Workflow und Monitorpunkt-Setup
- ANSYS FDTD — Fehlerbehebung divergierende Simulationen — Grenz-Swap-Diagnose- und DT-Stabilitätsleitfaden
- ANSYS FLUENT — Fehler in Simulationen — Umfassende Fehlerkategorisierungs- und Solver-Einstellungen
- Enterfea — Nichtlineare Analyse Konvergenz — Bogenlängenmethoden und Kraft- vs-Verdrängungslenkung
- Abaqus-Modell-Debugging — Newton-Raphson-Debugging und Eigenwertanalyse
- Scicomp StackExchange — Debuggen von numerischem Code — Diskretisierungszeichen Fehler und Methode hergestellter Lösungen
- NASA-Wind — CFD-Fehlerklassifizierung — CFD-Unsicherheit und Fehlertaxonomie