Im Allgemeinen sollten Sie eine implizite Methode für parabolische Gleichungen (den Diffusionsteil) verwenden - explizite Schemata für parabolische PDE benötigen einen sehr kurzen Zeitschritt, um stabil zu sein. Umgekehrt sollten Sie für den hyperbolischen Teil (Advektion) eine explizite Methode verwenden, da diese billiger ist und die Symmetrie des zu lösenden linearen Systems nicht durch die Verwendung eines impliziten Diffusionsschemas stört. In diesem Fall möchten Sie zentrierte Differenzen wie vermeiden und zu einseitigen Differenzen wechseln. aus Stabilitätsgründen.(uj+1−uj−1)/2Δt(uj−uj−1)/Δt
Ich würde vorschlagen, dass Sie sich Randy Leveques Buch oder Dale Durrans Buch für "von Neumann-Stabilitätsanalyse" ansehen . Dies ist ein allgemeiner Ansatz zur Feststellung der Stabilität Ihres Diskretisierungsschemas, vorausgesetzt, Sie haben periodische Randbedingungen. (Es gibt auch einen guten Wiki - Artikel hier .)
Die Grundidee ist anzunehmen, dass Ihre diskrete Approximation eine Summe von ebenen Wellen , wobei die Wellenzahl und die Frequenz ist. Sie stopfen eine ebene Welle in Ihre Annäherung an die PDE und beten, dass sie nicht explodiert. Wir können die ebene Welle als und wollen sicherstellen, dass .ei(kjΔx−ωnΔt)kωξneikjΔx|ξ|≤1
Betrachten Sie zur Veranschaulichung die gewöhnliche Diffusionsgleichung mit vollständig impliziter Differenzierung:
un+1j−unjΔt=Dun+1j−1−2un+1j+un+1j+1Δx2
Wenn wir in einer ebenen Welle substituieren, dann dividieren durch und , erhalten wir die GleichungξneikjΔx
ξ−1Δt=De−ikΔx−2+eikΔxΔx2ξ
Räumen Sie jetzt ein bisschen auf und wir bekommen:
ξ=11+2DΔtΔx2(1−coskΔx) .
Dies ist immer weniger als eins, so dass Sie im klaren sind. Wenden Sie dies für das explizite, zentrierte Schema für die Advektionsgleichung an:
un+1j−unjΔt=vunj−1−unj+12Δx
und sehen , was Sie erhalten. (Diesmal wird es einen Imaginärteil geben.) Sie werden feststellen, dass , was traurige Zeiten sind. Daher meine Ermahnung, dass du es nicht benutzt. Wenn Sie dies tun können, sollten Sie keine großen Schwierigkeiten haben, ein stabiles Schema für die vollständige Advektions-Diffusions-Gleichung zu finden.ξ|ξ|2>1
Das heißt, ich würde ein vollständig implizites Schema für den Diffusionsteil verwenden. Ändern Sie die Differenzierung im Advektionsteil in wenn und wenn und wählen Sie einen Zeitschritt, sodass . (Dies ist die Courant-Friedrichs-Lewy-Bedingung .) Sie ist nur in erster Ordnung korrekt, daher möchten Sie möglicherweise Diskretisierungsschemata höherer Ordnung nachschlagen, wenn dies Sie betrifft.uj−uj−1v>0uj−uj+1v<0VΔt/Δx≤1