{"id":905,"date":"2026-07-30T12:23:16","date_gmt":"2026-07-30T12:23:16","guid":{"rendered":"https:\/\/matforge.org\/?p=905","raw":"https:\/\/matforge.org\/?p=905"},"modified":"2026-07-30T12:23:16","modified_gmt":"2026-07-30T12:23:16","slug":"advection-dominated-problems-supg-stabilization","status":"publish","type":"post","link":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/","title":{"rendered":"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung","raw":"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><article>\n<p>Advektionsdominierte partielle Differentialgleichungen sind schwierig, da sich Informationen haupts\u00e4chlich entlang einer Flussrichtung bewegen, w\u00e4hrend die physikalische Diffusion nur wenig Gl\u00e4ttung bietet. Eine numerische Methode, die f\u00fcr ein diffusionsdominiertes Problem gut funktioniert, kann Schwingungen, \u00fcberm\u00e4\u00dfige Schmierung oder nichtphysische Werte erzeugen, wenn die Advektion st\u00e4rker wird.<\/p>\n<p>Die richtige Antwort besteht nicht nur darin, das am weitesten verf\u00fcgbare Schema auszuw\u00e4hlen. \u00dcberm\u00e4\u00dfige numerische Diffusion kann scharfe Fronten verbergen, Konzentrationsspitzen schw\u00e4chen und die Transportraten ver\u00e4ndern. Eine n\u00fctzliche Diskretisierung muss Stabilit\u00e4t, Begrenztheit, Erhaltung und Aufl\u00f6sung ausgleichen.<\/p>\n<p>Die Zellpeclet-Nummer hilft, dieses Gleichgewicht zu beschreiben. Zentrale Differenzierung kann funktionieren, wenn das Netz die physikalische Diffusion aufl\u00f6st. Upwind erster Ordnung bietet Robustheit, schmiert aber die L\u00f6sung. Begrenzte Schemata h\u00f6herer Ordnung reduzieren das Verschmieren, w\u00e4hrend die Schwingungen kontrolliert werden. Bei Finite-Elemente-Methoden f\u00fcgt SUPG eine konsistente Stabilisierung haupts\u00e4chlich entlang der Stromlinien hinzu.<\/p>\n<h2>Die Advektions-Diffusionsgleichung<\/h2>\n<p>Ein g\u00e4ngiges Skalartransportmodell ist:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + \u2207 \u00b7 (v\u03c6) = \u2207 \u00b7 (\u03b1\u2207\u03c6) + S<\/code><\/pre>\n<p>F\u00fcr ein inkompressibles Geschwindigkeitsfeld wird dies oft geschrieben als:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v \u00b7 \u2207\u03c6 = \u03b1\u2207\u00b2\u03c6 + S<\/code><\/pre>\n<p>Hier:<\/p>\n<ul>\n<li><code>\u03c6<\/code> ist der transportierte Skalar, wie Temperatur oder Konzentration.<\/li>\n<li><code>v<\/code> ist das Geschwindigkeitsfeld.<\/li>\n<li><code>\u03b1<\/code> ist die physikalische Diffusivit\u00e4t.<\/li>\n<li><code>S<\/code> ist eine Quelle oder Senke.<\/li>\n<\/ul>\n<p>Die Diffusion verbreitet Informationen in alle Richtungen und gl\u00e4ttet Steigungen. Die Advektion transportiert die Informationen haupts\u00e4chlich entlang der vom Geschwindigkeitsfeld bestimmten Merkmale. Wenn die Diffusion schwach ist, muss die numerische Methode diesen gerichteten Transport respektieren.<\/p>\n<h2>die Zellpeclet-Nummer<\/h2>\n<p>Die Zellpeclet-Zahl vergleicht Advektion und Diffusion auf der Skala einer Mesh-Zelle. Eine weit verbreitete Konvention ist:<\/p>\n<pre><code>Pe\u2095 = |v|h \/ \u03b1<\/code><\/pre>\n<p>F\u00fcr eine eindimensionale stetige Konvektions-Diffusions-Gleichung auf einem einheitlichen Gitter bleiben die klassischen zentralen endlichen Volumenkoeffizienten nicht negativ, wenn:<\/p>\n<pre><code>|Pe\u2095| \u2264 2<\/code><\/pre>\n<p>Einige Referenzen definieren die Zell-Peclet-Nummer mit einem zus\u00e4tzlichen Faktor von zwei:<\/p>\n<pre><code>Pe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Nach dieser Konvention lautet die \u00e4quivalente Bedingung:<\/p>\n<pre><code>|Pe*| \u2264 1<\/code><\/pre>\n<p>Das \u00dcbereinkommen muss daher vor Angabe einer Schwelle angegeben werden. Das Schreiben von <code>|v|h\/(2\u03b1)<\/code>  und der Vergleich mit 2 w\u00fcrde zwei verschiedene Definitionen mischen.<\/p>\n<p>F\u00fcr ein mehrdimensionales Finite-Volumen-Netz ist ein n\u00fctzlicherer lokaler Nennwert:<\/p>\n<pre><code>Pe_f =\n    |v_f \u00b7 n_f| d_PA\n    \/ \u03b1_f<\/code><\/pre>\n<p>Der Wert h\u00e4ngt von der normalen Geschwindigkeit durch eine Fl\u00e4che, dem Abstand benachbarter Zellzentren und der lokalen Diffusionsf\u00e4higkeit ab. Es kann \u00fcber die Dom\u00e4ne variieren, wenn die Netz-, Geschwindigkeits- oder Materialeigenschaften ungleichm\u00e4\u00dfig sind.<\/p>\n<h2>Was das Peclet-Kriterium eigentlich bedeutet<\/h2>\n<p>Die oft zitierte Schwelle in der N\u00e4he von zwei gilt f\u00fcr eine bestimmte stetige eindimensionale Konvektions-Diffusionsdiskretisierung. Es ist ein Begrenzungskriterium f\u00fcr die algebraischen Koeffizienten, die durch zentrale Differenzierung erzeugt werden.<\/p>\n<p>Dies bedeutet nicht, dass jedes zentrale Schema f\u00fcr jedes vor\u00fcbergehende Problem bei gleicher Zahl sofort instabil wird. R\u00e4umliche und zeitliche Diskretisierungen m\u00fcssen zusammen analysiert werden.<\/p>\n<p>Zwei verschiedene Probleme werden oft verwechselt:<\/p>\n<ol>\n<li>In einer stetigen Konvektions-Diffusions-Finite-Volumen-Gleichung kann die zentrale Differenzierung die Positivit\u00e4t des Koeffizienten verlieren, wenn die Zellpeclet-Zahl zu gro\u00df ist. Die L\u00f6sung kann dann \u00dcber- und Unterschwingungen entwickeln.<\/li>\n<li>F\u00fcr reine vor\u00fcbergehende Advektion ist der Vorw\u00e4rts-Euler in der Zeit in Kombination mit dem zentrierten Raum, bekannt als FTCs, f\u00fcr jede Courant-Zahl ungleich Null instabil.<\/li>\n<\/ol>\n<p>Beide Probleme k\u00f6nnen Schwingungen hervorrufen, aber ihre mathematischen Ursachen sind nicht identisch.<\/p>\n<h2>Warum zentrale Differenzierung oszillieren kann<\/h2>\n<p>Zentrale Differenzierung sch\u00e4tzt einen symmetrischen Nennwert:<\/p>\n<pre><code>\u03c6_f \u2248 (\u03c6_P + \u03c6_A) \/ 2<\/code><\/pre>\n<p>Auf einem einheitlichen Gitter ergibt dies eine N\u00e4herung zweiter Ordnung f\u00fcr glatte L\u00f6sungen. Es f\u00fchrt auch sehr wenig numerische Dissipation ein.<\/p>\n<p>Diese geringe Dissipation ist n\u00fctzlich, wenn die physikalische L\u00f6sung glatt und gut aufgel\u00f6st ist. Es wird zu einem Problem in der N\u00e4he von steilen Schichten oder wenn die physikalische Diffusion zu schwach ist, um den Gitterma\u00dfstab zu steuern.<\/p>\n<p>In der stetigen eindimensionalen, endlichen Volumengleichung verringert das Erh\u00f6hen der Zellpeclet-Zahl einen benachbarten Koeffizienten. Sobald dieser Koeffizient das Vorzeichen \u00e4ndert, kann das diskrete Maximalprinzip verloren gehen. Die L\u00f6sung kann Grenzwerte \u00fcberschreiten oder auch dann negativ werden, wenn die physikalische L\u00f6sung begrenzt bleibt.<\/p>\n<p>F\u00fcr die transiente reine Advektion ist eine zentrierte r\u00e4umliche Ableitung in erster Linie dispersiv. Seine Eignung h\u00e4ngt vom Zeitintegrator ab. Die Paarung mit Forward Euler erzeugt eine instabile Methode, w\u00e4hrend andere Zeitintegratoren das Wachstum steuern k\u00f6nnen, aber dennoch Phasenfehler oder Oszillationen in der N\u00e4he von ungel\u00f6sten Gradienten einf\u00fchren.<\/p>\n<h2>Upwind-Differenzierung erster Ordnung<\/h2>\n<p>Bei der Aufwinddifferenzierung werden Informationen aus der Richtung verwendet, in der der Fluss entsteht. F\u00fcr eine positive eindimensionale Geschwindigkeit:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h<\/code><\/pre>\n<p>F\u00fcr eine negative Geschwindigkeit wird der Wert von rechts verwendet:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62) \/ h<\/code><\/pre>\n<p>Diese richtungsbewusste Schablone unterdr\u00fcckt viele der durch eine zentrierte Approximation erzeugten Schwingungen. F\u00fcr die stetige lineare Konvektions-Diffusion werden auch positive benachbarte Koeffizienten \u00fcber einen viel gr\u00f6\u00dferen Bereich von Zell-Peclet-Zahlen erzeugt.<\/p>\n<p>Die r\u00e4umliche Diskretisierung des Aufwindes sollte ohne Qualifikation nicht als bedingungslos beschrieben werden. Wird es mit einem expliziten Zeitintegrator kombiniert, hat die vollst\u00e4ndige Methode immer noch eine Courant-Einschr\u00e4nkung.<\/p>\n<h2>Gegenwind als zentrale Differenzierung plus Diffusion<\/h2>\n<p>F\u00fcr eine positive konstante Geschwindigkeit kann die Upwind-Ableitung erster Ordnung genau wie folgt geschrieben werden:<\/p>\n<pre><code>(\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h\n=\n(\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62\u208b\u2081) \/ (2h)\n-\n(\u03c6\u1d62\u208a\u2081 - 2\u03c6\u1d62 + \u03c6\u1d62\u208b\u2081) \/ (2h)<\/code><\/pre>\n<p>Der Zweitdifferentialausdruck n\u00e4hert sich <code>h\u03c6\u2093\u2093<\/code>. Das Einsetzen des Aufwindoperators in die Advektionsgleichung ergibt die modifizierte Gleichung:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v\u2202\u03c6\/\u2202x\n=\n(|v|h \/ 2) \u2202\u00b2\u03c6\/\u2202x\u00b2\n+ higher-order terms<\/code><\/pre>\n<p>Der f\u00fchrende numerische Diffusionskoeffizient der r\u00e4umlichen Halbdiskretisierung lautet daher:<\/p>\n<pre><code>\u03b1_num = |v|h \/ 2<\/code><\/pre>\n<p>Dies erkl\u00e4rt sowohl die Stabilit\u00e4t als auch das Verschmieren, das mit dem Aufwind erster Ordnung verbunden ist. Es f\u00fcgt einen diffusions\u00e4hnlichen K\u00fcrzungsbegriff hinzu, der kurze Wellen und scharfe Gradienten unterdr\u00fcckt.<\/p>\n<p>Die Formel beschreibt den f\u00fchrenden Fehler des r\u00e4umlichen Operators. Sobald eine Zeitdiskretisierung hinzugef\u00fcgt wird, kann die vollst\u00e4ndige modifizierte Gleichung zus\u00e4tzliche Terme enthalten, die von der Courantzahl und der Zeitschrittgr\u00f6\u00dfe abh\u00e4ngen.<\/p>\n<h2>Reduzieren der numerischen Diffusion<\/h2>\n<p>Da die f\u00fchrende Aufwinddiffusionsskalierung mit Netzabstand verfeinert wird, verringert das Verfeinern das Verschmieren. Wenn nur der Zeitschritt reduziert wird, wird der f\u00fchrende r\u00e4umliche Fehler nicht entfernt.<\/p>\n<p>Weitere Optionen sind:<\/p>\n<ul>\n<li>Verwenden einer Rekonstruktion zweiter Ordnung<\/li>\n<li>Anwenden eines Flussbegrenzers<\/li>\n<li>Verwenden von Quick auf geeigneten strukturierten Netzen<\/li>\n<li>Anwenden von TVD- oder Weno-Methoden<\/li>\n<li>Verwenden von SUPG in einer Finite-Elemente-Formulierung<\/li>\n<li>Ausrichten und Verfeinern des Netzes in der N\u00e4he wichtiger Ebenen<\/li>\n<\/ul>\n<p>Die Erh\u00f6hung der physikalischen Diffusivit\u00e4t ist keine numerische L\u00f6sung. Es \u00e4ndert sich das Modell und sollte nur durchgef\u00fchrt werden, wenn das physikalische Problem einen anderen Koeffizienten erfordert.<\/p>\n<h2>Numerische Diffusion und Dispersion<\/h2>\n<p>Die numerische Diffusion verringert die Amplitude der aufgel\u00f6sten Wellen. Es verbreitet Diskontinuit\u00e4ten und gl\u00e4ttet enge Spitzen.<\/p>\n<p>Die numerische Dispersion \u00e4ndert die Ausbreitungsgeschwindigkeit verschiedener Wellenl\u00e4ngen. Es kann f\u00fchrende oder hintere Schwingungen erzeugen, selbst wenn die Gesamtamplitude nicht stark ged\u00e4mpft ist.<\/p>\n<p>Der Aufwind erster Ordnung ist in erster Linie dissipativ. Viele zentrierte und h\u00f6herwertige Schemata sind weniger dissipativ, aber dispersiver. Ein gutes Transportverfahren muss beide Effekte kontrollieren.<\/p>\n<p>Die richtige Balance h\u00e4ngt von der Anwendung ab. Eine kleine begrenzte Menge an Dissipation kann in einer robusten technischen Berechnung akzeptabel sein. Bei der Wellenausbreitung kann eine \u00fcberm\u00e4\u00dfige D\u00e4mpfung die gemessene Menge zerst\u00f6ren. Beim reaktiven Transport k\u00f6nnen oszillierende Unterschwingungen negative Konzentrationen erzeugen und das Reaktionsmodell brechen.<\/p>\n<h2>Lineare Schemata h\u00f6herer Ordnung<\/h2>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Schema<\/th>\n<th>Nennordnung<\/th>\n<th>Hauptst\u00e4rke<\/th>\n<th>Hauptrisiko<\/th>\n<\/tr>\n<tr>\n<td>Zentraler Unterschied<\/td>\n<td>Zweite Ordnung auf glatten einheitlichen Gittern<\/td>\n<td>Niedrige numerische Diffusion<\/td>\n<td>Verlust der Begrenzung oder dispersive Schwingungen<\/td>\n<\/tr>\n<tr>\n<td>Aufwind erster Ordnung<\/td>\n<td>Erste Bestellung<\/td>\n<td>Robust und richtungsbewusst<\/td>\n<td>Starke numerische Diffusion<\/td>\n<\/tr>\n<tr>\n<td>Linearer Aufwind<\/td>\n<td>Zweite Ordnung auf glatten Gittern<\/td>\n<td>Weniger Diffusion als Aufwind erster Ordnung<\/td>\n<td>Nicht automatisch begrenzt in der N\u00e4he von scharfen Gradienten<\/td>\n<\/tr>\n<tr>\n<td>Schnell<\/td>\n<td>Gesichtsinterpolation dritter Ordnung auf einem einheitlichen Gitter<\/td>\n<td>Gute Genauigkeit f\u00fcr reibungslose Konvektion<\/td>\n<td>kann \u00fcberschreiten und Ordnung in der N\u00e4he von Grenzen oder unregelm\u00e4\u00dfigen Gittern verlieren<\/td>\n<\/tr>\n<tr>\n<td>LAX-WENDROFF<\/td>\n<td>Zweite Ordnung in Raum und Zeit f\u00fcr lineare Advektion<\/td>\n<td>Geringe Dissipation f\u00fcr aufgel\u00f6ste Wellen<\/td>\n<td>Dispersive Oszillationen in der N\u00e4he von Diskontinuit\u00e4ten<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Die Nennordnung gilt in glatten Regionen unter den Annahmen, die zur Ableitung des Schemas verwendet werden. Grenzen, Begrenzer, Netz-Nicht-Orthogonalit\u00e4t, Diskontinuit\u00e4ten und variable Koeffizienten k\u00f6nnen die beobachtete Konvergenzrate verringern.<\/p>\n<h2>Flussbegrenzer und TVD-Schemata<\/h2>\n<p>Ein Flussbegrenzer kombiniert einen robusten Fluss mit niedriger Ordnung mit einer weniger diffusiven Korrektur h\u00f6herer Ordnung. In glatten Bereichen erlaubt der Begrenzer die N\u00e4herung h\u00f6herer Ordnung. Nahe scharfe Steigungen reduzieren die Korrektur, um neue Maxima oder Minima zu vermeiden.<\/p>\n<p>Ein vereinfachter gemischter Nennwert kann wie folgt geschrieben werden:<\/p>\n<pre><code>\u03c6_f =\n\u03c6_f(upwind)\n+\n\u03c8(r) [\n    \u03c6_f(high-order)\n    - \u03c6_f(upwind)\n]<\/code><\/pre>\n<p>Die Begrenzungsfunktion <code>\u03c8(r)<\/code> h\u00e4ngt von benachbarten Gradienten ab. H\u00e4ufige Beispiele sind MinMod, Van Leer, Superbee und monotonisierte zentrale Begrenzer.<\/p>\n<p>Die Verfahren zur Verringerung der Gesamtvariation sind so konzipiert, dass sie die Gesamtvariation einer eindimensionalen L\u00f6sung nicht erh\u00f6hen. Sie bieten einen n\u00fctzlichen Kompromiss zwischen der Robustheit des Aufwindes erster Ordnung und der Aufl\u00f6sung eines Schemas h\u00f6herer Ordnung.<\/p>\n<p>In der N\u00e4he einer echten Diskontinuit\u00e4t reduziert ein nichtlinearer Begrenzer normalerweise die lokale Reihenfolge. Dies wird erwartet: Die Aufrechterhaltung der Monotonie und der hohen linearen Ordnung bei einer Diskontinuit\u00e4t sind widerspr\u00fcchliche Ziele.<\/p>\n<h2>Weno-Methoden<\/h2>\n<p>Bei gewichteten im Wesentlichen nicht oszillierenden Methoden verwenden mehrere Kandidatenschablonen. Gl\u00e4ttungsindikatoren weisen den Schablonen, die eine Diskontinuit\u00e4t kreuzen, ein geringeres Gewicht zu.<\/p>\n<p>Weno-Methoden k\u00f6nnen Genauigkeit in glatten Regionen mit hoher Ordnung bieten und gleichzeitig die st\u00e4rksten Schwingungen eines linearen Schemas h\u00f6herer Ordnung vermeiden. Sie werden weit verbreitet f\u00fcr komprimierbare Str\u00f6mungen, Erhaltungsgesetze und Probleme mit sich bewegenden Schocks verwendet.<\/p>\n<p>Zu ihren Nachteilen geh\u00f6ren h\u00f6here Rechenkosten, umfassendere Datenabh\u00e4ngigkeiten, komplexere Grenzbehandlungen und mehrere Implementierungsoptionen, die sich auf die Dissipation auswirken.<\/p>\n<h2>SUPG-Stabilisierung<\/h2>\n<p>Die Stabilisierung von Upwind \/ Petrov-Galerkin-Stabilisierung ist in erster Linie eine Finite-Elemente-Technik. Es \u00e4ndert den Testraum, so dass die schwache Form einen auf den Fluss ausgerichteten Beitrag auf der Basis von Rest erh\u00e4lt.<\/p>\n<p>F\u00fcr einen Operator mit starkem Rest:<\/p>\n<pre><code>R(\u03c6) =\n\u2202\u03c6\/\u2202t\n+ v \u00b7 \u2207\u03c6\n- \u2207 \u00b7 (\u03b1\u2207\u03c6)\n- S<\/code><\/pre>\n<p>Ein typischer Stabilisierungsbegriff ist:<\/p>\n<pre><code>\u03a3_K \u222b_K\n    \u03c4_K\n    (v \u00b7 \u2207w)\n    R(\u03c6_h)\nd\u03a9<\/code><\/pre>\n<p>Da das starke Residuum in der Formulierung vorkommt, ist der Begriff konsistent: Die genaue L\u00f6sung erf\u00fcllt auch die stabilisierte Gleichung.<\/p>\n<p>Der Faktor <code>v \u00b7 \u2207w<\/code> betont die Richtung der Stromlinien. Dies reduziert Schwingungen, ohne die gleiche Menge an Seitenwindschmierung wie einfache isotrope k\u00fcnstliche Diffusion einzuf\u00fchren.<\/p>\n<h2>Auswahl des SUPG-Parameters<\/h2>\n<p>Der Stabilisierungsparameter ist nicht universell gleich <code>h\/(2|v|)<\/code>. Dieser Ausdruck ist die hohe Peclet-Grenze mehrerer station\u00e4rer Advektionsformeln.<\/p>\n<p>F\u00fcr ein eindimensionales stetiges Advektions-Diffusionsproblem ist eine h\u00e4ufige Form:<\/p>\n<pre><code>\u03c4 =\nh \/ (2|v|)\n[\n    coth(Pe*) - 1\/Pe*\n]\n\nPe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Wenn die Advektion stark dominiert:<\/p>\n<pre><code>\u03c4 \u2192 h \/ (2|v|)<\/code><\/pre>\n<p>Wenn die Diffusion dominiert, n\u00e4hert sich die Expression einer diffusionsskalierten Grenze, anstatt eine \u00fcberm\u00e4\u00dfige Stabilisierung hinzuzuf\u00fcgen.<\/p>\n<p>Transiente und mehrdimensionale Implementierungen k\u00f6nnen Zeit-, Advektions- und Diffusionsskalen kombinieren:<\/p>\n<pre><code>\u03c4 \u2248\n[\n    (c_t \/ \u0394t)\u00b2\n    + (c_v |v| \/ h)\u00b2\n    + (c_d \u03b1 \/ h\u00b2)\u00b2\n]\u207b\u00b9\u141f\u00b2<\/code><\/pre>\n<p>Die Konstanten und die Elementl\u00e4ngendefinition h\u00e4ngen von der Formulierung ab. Der geeignete Ausdruck sollte von der Finite-Elemente-Methode und der verwendeten Softwareimplementierung stammen.<\/p>\n<p>Die <a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Dokumentation von Moose LevelsetAdvectionSupg <\/a> zeigt, wie SUPG als Teil einer vollst\u00e4ndig stabilisierten Level-Set-Gleichung enthalten ist.<\/p>\n<h2>SUPG ist keine isotrope k\u00fcnstliche Diffusion<\/h2>\n<p>Das Hinzuf\u00fcgen eines gr\u00f6\u00dferen Skalarkoeffizienten zu einem gew\u00f6hnlichen Diffusionsterm ist keine vollst\u00e4ndige SUPG-Implementierung. In jeder Raumrichtung wirkt ein skalarer Diffusionskoeffizient.<\/p>\n<p>SUPG modifiziert die schwache Form unter Verwendung der Richtungsableitung der Testfunktion und des starken Rests. Es kann daher eine rationelle Stabilisierung hinzuf\u00fcgen und gleichzeitig eine h\u00f6here Seitenwindaufl\u00f6sung erhalten.<\/p>\n<p>In schwierigen mehrdimensionalen Schichten kann es immer noch zu Schwingungen des Seitenwindes kommen. Zus\u00e4tzliche Begriffe f\u00fcr Diskontinuit\u00e4tserfassung oder Schockerfassung werden manchmal mit SUPG verwendet, diese m\u00fcssen jedoch separat entworfen und validiert werden.<\/p>\n<h2>Advektion &#8211; Diffusion in FIPY<\/h2>\n<p>FIPY bietet mehrere Konvektionsbegriffe f\u00fcr endliche Volumen, darunter:<\/p>\n<ul>\n<li><code>CentralDifferenceConvectionTerm<\/code><\/li>\n<li><code>ExponentialConvectionTerm<\/code><\/li>\n<li><code>HybridConvectionTerm<\/code><\/li>\n<li><code>PowerLawConvectionTerm<\/code><\/li>\n<li><code>UpwindConvectionTerm<\/code><\/li>\n<li><code>ExplicitUpwindConvectionTerm<\/code><\/li>\n<li><code>VanLeerConvectionTerm<\/code><\/li>\n<\/ul>\n<p>Der Koeffizient eines Konvektionsterms muss eine Vektorgeschwindigkeit oder einen Fluss darstellen. In zwei Dimensionen kann ein konstanter Vektor in Form <code>((v_x,), (v_y,))<\/code> geliefert werden.<\/p>\n<h2>Ein Fipy Upwind-Beispiel<\/h2>\n<p>Das folgende Beispiel transportiert einen kreisf\u00f6rmigen skalaren Bereich durch eine zweidimensionale Dom\u00e4ne, w\u00e4hrend eine kleine Menge physikalischer Diffusion hinzugef\u00fcgt wird:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    Grid2D,\n    CellVariable,\n    TransientTerm,\n    DiffusionTerm,\n    UpwindConvectionTerm\n)\nfrom fipy.tools import numerix\n\n# Domain\nlength_x = 2.0\nlength_y = 1.0\n\nnx = 200\nny = 100\n\ndx = length_x \/ nx\ndy = length_y \/ ny\n\nmesh = Grid2D(\n    nx=nx,\n    ny=ny,\n    dx=dx,\n    dy=dy\n)\n\n# Transported scalar\nphi = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0,\n    hasOld=True\n)\n\nx, y = mesh.cellCenters\n\ninitial_region = (\n    (x - 0.4) ** 2\n    + (y - 0.5) ** 2\n    &lt; 0.1 ** 2\n)\n\nphi.setValue(\n    1.0,\n    where=initial_region\n)\n\n# Constant velocity vector\nvelocity_x = 1.0\nvelocity_y = 0.0\n\nvelocity = (\n    (velocity_x,),\n    (velocity_y,)\n)\n\ndiffusivity = 1e-3\n\nequation = (\n    TransientTerm(var=phi)\n    + UpwindConvectionTerm(\n        coeff=velocity,\n        var=phi\n    )\n    == DiffusionTerm(\n        coeff=diffusivity,\n        var=phi\n    )\n)\n\n# Inflow value on the left boundary\nphi.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\n# Moderate time step for temporal accuracy\ndt = 0.25 * dx \/ abs(velocity_x)\nnumber_of_steps = 200\n\nfor step in range(number_of_steps):\n    phi.updateOld()\n    equation.solve(\n        var=phi,\n        dt=dt\n    )<\/code><\/pre>\n<p><code>UpwindConvectionTerm<\/code> verwendet eine implizite Konvektionsdiskretisierung erster Ordnung. Der gew\u00e4hlte Zeitschritt wird daher nicht als strikte explizite CFL-Grenze dargestellt. Es wird m\u00e4\u00dfig gehalten, um den Transport genau zu l\u00f6sen.<\/p>\n<p>F\u00fcr die explizit integrierte Konvektion muss das vollst\u00e4ndige Schema die mit den gew\u00e4hlten r\u00e4umlichen und zeitlichen Methoden verbundene Stabilit\u00e4tsbeschr\u00e4nkung erf\u00fcllen.<\/p>\n<h2>Mit dem Potenzgesetz von FIPY<\/h2>\n<p>F\u00fcr die stetige Konvektions-Diffusion verwenden die offiziellen Beispiele von FIPY <code>PowerLawConvectionTerm<\/code>:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    CellVariable,\n    Grid1D,\n    DiffusionTerm,\n    PowerLawConvectionTerm\n)\n\nlength = 10.0\ncell_count = 1000\n\nmesh = Grid1D(\n    nx=cell_count,\n    dx=length \/ cell_count\n)\n\nconcentration = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0\n)\n\nconcentration.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\nconcentration.constrain(\n    1.0,\n    where=mesh.facesRight\n)\n\ndiffusivity = 1.0\nvelocity = (10.0,)\n\nequation = (\n    DiffusionTerm(\n        coeff=diffusivity\n    )\n    + PowerLawConvectionTerm(\n        coeff=velocity\n    )\n)\n\nequation.solve(\n    var=concentration\n)<\/code><\/pre>\n<p>FIPY-Dokumente <code>PowerLawConvectionTerm<\/code> und <code>ExponentialConvectionTerm<\/code> als geeignet f\u00fcr eine breite Palette von Konvektions-Diffusionsf\u00e4llen, wobei die Potenzgesetz-Approximation eine effizientere praktische Option bietet.<\/p>\n<h2>\u00dcberpr\u00fcfen der Peclet-Nummer<\/h2>\n<p>F\u00fcr das einheitliche zweidimensionale Beispiel k\u00f6nnen gerichtete Zellpeclet-Nummern wie folgt berechnet werden:<\/p>\n<pre><code class=\"language-python\">peclet_x = (\n    abs(velocity_x)\n    * dx\n    \/ diffusivity\n)\n\npeclet_y = (\n    abs(velocity_y)\n    * dy\n    \/ diffusivity\n)\n\nprint(\"Pe_x =\", peclet_x)\nprint(\"Pe_y =\", peclet_y)<\/code><\/pre>\n<p>Berechnen Sie f\u00fcr ungleichm\u00e4\u00dfige Netze und variable Geschwindigkeiten eine lokale Peclet-Nummer mit der normalen Gesichtsgeschwindigkeit und dem lokalen Zellzentrumsabstand. Ein einzelner globaler Wert kann High-Peclet-Regionen verbergen.<\/p>\n<h2>r\u00e4umliche und zeitliche Fehler m\u00fcssen getrennt werden<\/h2>\n<p>Das Verschmieren in einer Advektionsberechnung kann vom r\u00e4umlichen Fluss, dem Zeitintegrator oder beiden erfolgen.<\/p>\n<p>R\u00fcckw\u00e4rts-Euler zum Beispiel ist f\u00fcr abfallende und oszillatorische Modi ableitend. Crank-Nicocolson verh\u00e4lt sich anders und d\u00e4mpft nicht alle steifen Modi. Explizite Runge-Kutta-Methoden haben ihre eigenen Dissipations- und Dispersionskurven.<\/p>\n<p>Es ist daher ungenau festzustellen, dass jede implizite Methode immer die gleiche Menge an Diffusion einf\u00fchrt. Die numerische D\u00e4mpfung ist methodenabh\u00e4ngig.<\/p>\n<p>Eine n\u00fctzliche Analyse variiert das Netz, w\u00e4hrend der zeitliche Fehler klein bleibt, und dann den Zeitschritt auf einem festen feinen Netz. Dies hilft dabei, die r\u00e4umliche numerische Diffusion vom zeitlichen Fehler zu trennen.<\/p>\n<p>Der zugeh\u00f6rige Leitfaden <a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">Zeitintegrationsmethoden f\u00fcr PDE-Solver: Explicit vs. Implicit Schemes <\/a> diskutiert diese Unterscheidung genauer.<\/p>\n<h2>Auswahl einer Stabilisierungsstrategie<\/h2>\n<table class=\"custom-table\">\n<tbody>\n<tr>\n<th>Lage<\/th>\n<th>M\u00f6glicher Ausgangspunkt<\/th>\n<th>Haupt\u00fcberlegung<\/th>\n<\/tr>\n<tr>\n<td>Niedrige Zell-Peclet-Nummer und glatte L\u00f6sung<\/td>\n<td>Zentrale Differenzierung<\/td>\n<td>Geringe Diffusion und Genauigkeit zweiter Ordnung<\/td>\n<\/tr>\n<tr>\n<td>Hohe Peclet-Nummer mit Robustheitspriorit\u00e4t<\/td>\n<td>Aufwind erster Ordnung<\/td>\n<td>begrenzt, aber m\u00f6glicherweise \u00fcberdiffusionsoffen<\/td>\n<\/tr>\n<tr>\n<td>Sanfte L\u00f6sung, die eine h\u00f6here Genauigkeit erfordert<\/td>\n<td>Linearer Aufwind oder schnell<\/td>\n<td>Begrenzung und Grenzbehandlung \u00fcberpr\u00fcfen<\/td>\n<\/tr>\n<tr>\n<td>Scharfe Front, die Monotonie erfordert<\/td>\n<td>TVD-Flux-begrenzte Methode<\/td>\n<td>Nichtlinearer Begrenzer reduziert Oszillationen<\/td>\n<\/tr>\n<tr>\n<td>Schockdominiertes Naturschutzgesetz<\/td>\n<td>Godunov-Typ-, Weno- oder DG-Methode<\/td>\n<td>Ben\u00f6tigt Gleichungsangemessene numerische Fl\u00fcsse<\/td>\n<\/tr>\n<tr>\n<td>Finite Element Advection &#8211; Diffusion<\/td>\n<td>supg<\/td>\n<td>Konsequente rationelle Reststabilisierung<\/td>\n<\/tr>\n<tr>\n<td>Komplexe Seitenwindschichten<\/td>\n<td>Supg mit zus\u00e4tzlicher Schockerfassung oder lokaler Verfeinerung<\/td>\n<td>SUPG allein kontrolliert m\u00f6glicherweise nicht jede Seitenwindoszillation<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Randbedingungen bei Advektionsproblemen<\/h2>\n<p>Advection transportiert Informationen \u00fcber Zuflussgrenzen in die Dom\u00e4ne. Grenzwerte sollten normalerweise vorgeschrieben werden, wenn:<\/p>\n<pre><code>v \u00b7 n &lt; 0<\/code><\/pre>\n<p>An einer Abflussgrenze kann die Verschreibung eines unn\u00f6tigen Skalarwerts das Problem \u00fcberbegrenzen oder eine falsche Grenzschicht erzeugen.<\/p>\n<p>Die Diffusion \u00e4ndert die Grenzanforderungen, da sie einen r\u00e4umlichen Operator zweiter Ordnung einf\u00fchrt. Ein vollst\u00e4ndiges Advektions-Diffusionsmodell kann daher eine Wert- oder Flussbedingung erfordern, die aus dem physikalischen Problem abgeleitet ist.<\/p>\n<p>Randbedingungen sollten zusammen mit der Str\u00f6mungsrichtung \u00fcberpr\u00fcft werden. Ein Schema kann instabil erscheinen, wenn das tats\u00e4chliche Problem eine falsche Zu- oder Abflussbehandlung ist.<\/p>\n<h2>Netzausrichtung und Seitenwinddiffusion<\/h2>\n<p>Die numerische Diffusion wird durch die Netzorientierung beeinflusst. Auf einem kartesischen Gitter wird der Transport, der mit einer Koordinatenachse ausgerichtet ist, in der Regel sauberer dargestellt als der Diagonaltransport.<\/p>\n<p>Wenn die Str\u00f6mung das Gitter schr\u00e4g \u00fcberquert, k\u00f6nnen mehrdimensionale Aufwindschemata erster Ordnung ein erhebliches Schmirgeln des Seitenwinds verursachen. Verfeinerung, anisotrope Netze, Rekonstruktion der kleinsten Quadrate, mehrdimensionale Begrenzung oder Stabilisierung auf der Basis von Finite-Elementen k\u00f6nnen das Ergebnis verbessern.<\/p>\n<p>Eine kleine Zellgr\u00f6\u00dfe allein garantiert keine gute Genauigkeit, wenn die Zellen stark verzerrt oder schlecht auf wichtige Schichten ausgerichtet sind.<\/p>\n<h2>Verifizierungstests<\/h2>\n<p>Eine neue Advektionsimplementierung sollte auf Probleme mit bekanntem Verhalten getestet werden.<\/p>\n<h3>\u00dcbersetzung eines glatten Profils<\/h3>\n<p>Verwenden Sie periodische Grenzen und transportieren Sie eine glatte Gau\u00df- oder Sinuswelle. Vergleichen Sie nach einer Periode das numerische Profil mit der Anfangsbedingung.<\/p>\n<p>Dieser Test zeigt Amplitudenverlust und Phasenfehler.<\/p>\n<h3>\u00dcbersetzung eines Quadratimpulses<\/h3>\n<p>Ein Quadratimpuls belichtet numerische Diffusion und Schwingungen. Der Aufwind erster Ordnung verschmiert die Kanten, w\u00e4hrend uneingeschr\u00e4nkte Schemata h\u00f6herer Ordnung \u00fcbertrieben werden k\u00f6nnen.<\/p>\n<h3>Rotierender Blob<\/h3>\n<p>Ein zweidimensionales Drehgeschwindigkeitsfeld testet mehrdimensionale Transport-, Seitenwinddiffusions- und Netzorientierungseffekte.<\/p>\n<h3>stetige Grenzschicht<\/h3>\n<p>Ein eindimensionales stetiges Konvektions-Diffusionsproblem mit einer bekannten analytischen L\u00f6sung testet das Zellpeclet-Kriterium und die F\u00e4higkeit, eine d\u00fcnne Ausstr\u00f6mschicht aufzul\u00f6sen.<\/p>\n<h2>Mesh- und Zeitschrittkonvergenz<\/h2>\n<p>F\u00fchren Sie das gleiche Problem auf mehreren Netzen aus. Messen Sie Fehler in Mengen wie:<\/p>\n<ul>\n<li>Spitzenwert<\/li>\n<li>Frontposition<\/li>\n<li>Schichtdicke<\/li>\n<li>Insgesamt transportierte Masse<\/li>\n<li><code>L1<\/code>, <code>L2<\/code> oder maximale Norm<\/li>\n<li>\u00dcberschie\u00dfen und Unterschie\u00dfen<\/li>\n<\/ul>\n<p>Wiederholen Sie die Berechnung mit kleineren Zeitschritten auf einem festen Netz. Dies trennt r\u00e4umliche und zeitliche Fehler.<\/p>\n<p>Eine Methode h\u00f6herer Ordnung sollte ihre erwartete Konvergenz bei einem reibungslosen Test nachweisen. Nahe Diskontinuit\u00e4ten kann die globale Konvergenz geringer sein, da es der genauen L\u00f6sung an ausreichender Regelm\u00e4\u00dfigkeit mangelt.<\/p>\n<h2>H\u00e4ufige Fehler<\/h2>\n<ul>\n<li>Mischen von zwei verschiedenen Peclet-Nummerdefinitionen<\/li>\n<li>Anwenden der station\u00e4ren Zentraldifferenzschwelle auf jedes transiente Schema<\/li>\n<li>Aufrufen von Upwind bedingungslos stabil ohne Angabe des Zeitintegrators<\/li>\n<li>Angenommen, numerische Diffusion h\u00e4ngt nur vom Zeitschritt ab<\/li>\n<li>Ersetzen von SUPG durch gew\u00f6hnliche isotrope Diffusion<\/li>\n<li>Angenommen, SUPG verwendet immer <code>\u03c4 = h\/(2|v|)<\/code><\/li>\n<li>Verwenden eines uneingeschr\u00e4nkten linearen Schemas h\u00f6herer Ordnung in der N\u00e4he einer Diskontinuit\u00e4t<\/li>\n<li>Steigerung der physischen Diffusivit\u00e4t, um numerisches Verschmieren zu verbergen<\/li>\n<li>Anwenden von Skalarwerten sowohl bei Zu- als auch bei Ausfluss ohne \u00dcberpr\u00fcfung der PDE<\/li>\n<li>Vergleichen von Schemata auf verschiedenen Netzen oder auf unterschiedlichen Fehlerebenen<\/li>\n<li>Ignorieren der Massenerhaltung und der physischen Grenzen<\/li>\n<li>Alle D\u00e4mpfung der r\u00e4umlichen Diskretisierung zuzuordnen<\/li>\n<\/ul>\n<h2>Ein praktischer Arbeitsablauf<\/h2>\n<ol>\n<li>Schreiben Sie die Gleichung in konservativer oder nicht konservativer Form, wie es die Physik verlangt.<\/li>\n<li>Identifizieren Sie Zufluss, Abfluss und diffuse Grenzen.<\/li>\n<li>Berechnen Sie die lokalen gerichteten Zellpeclet-Nummern.<\/li>\n<li>Beginnen Sie mit einem robusten Aufwind oder begrenzten Schema.<\/li>\n<li>Die numerische Diffusion bei einem bekannten Transporttest messen.<\/li>\n<li>Verfeinern Sie das Netz und \u00fcberpr\u00fcfen Sie die Konvergenz.<\/li>\n<li>Wechseln Sie zu einem begrenzten Schema h\u00f6herer Ordnung, wenn das Verschmieren nicht akzeptabel ist.<\/li>\n<li>Verwenden Sie supg f\u00fcr Finite-Elemente-Formulierungen, die eine stromlinienf\u00f6rmige Stabilisierung ben\u00f6tigen.<\/li>\n<li>\u00dcberpr\u00fcfen Sie die Courant-Nummer und die zeitliche Konvergenz separat.<\/li>\n<li>Dokumentieren Sie den Fluss, den Begrenzer, den Stabilisierungsparameter und die Grenzbehandlung.<\/li>\n<\/ol>\n<h2>Verwandte Anleitungen<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/finite-volume-method-explained-simply\/\">Finite Volume-Methode einfach erkl\u00e4rt <\/a> &#8211; \u00dcberpr\u00fcfen Sie die Gesichtsfl\u00fcsse, die Erhaltung und die zellzentrierte Diskretisierung.<\/li>\n<li><a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">Zeitintegrationsmethoden f\u00fcr PDE-Solver: Explizite vs. implizite Schemes<\/a> \u2014 Vergleichen Sie CFL-Einschr\u00e4nkungen, D\u00e4mpfung und zeitlichen Fehler.<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">Wann verwenden FEM, FVM oder FDM <\/a> &#8211; W\u00e4hlen Sie eine r\u00e4umliche Diskretisierung f\u00fcr das ma\u00dfgebliche Problem.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Mesh-Qualit\u00e4ts- und Konvergenzstudien: Ein praktischer Leitfaden <\/a> &#8211; Verbinden Sie die lokale Aufl\u00f6sung mit der numerischen Konvergenz.<\/li>\n<li><a href=\"https:\/\/matforge.org\/operator-splitting-strang-splitting-and-imex-schemes-for-pde-solvers\/\">Operator-Splitting, Strang-Splitting und IMEX-Schemata f\u00fcr PDE-Solver<\/a> \u2014 Separate Advektion von Diffusions- und Reaktionsprozessen.<\/li>\n<li><a href=\"https:\/\/matforge.org\/extending-fipy-with-custom-modules\/\"> Erweitern Sie FIPY mit benutzerdefinierten Modulen <\/a> &#8211; Erkunden Sie benutzerdefiniertes numerisches Verhalten um FIPY-Modelle.<\/li>\n<\/ul>\n<h2>weiterlesen<\/h2>\n<ul>\n<li><a href=\"https:\/\/hplgit.github.io\/fdm-book\/\" rel=\"nofollow\" target=\"_blank\"> Finite Difference Computing mit PDEs<\/a> \u2014 detaillierte Analyse von Advektionsschemata, Verst\u00e4rkungsfaktoren, Diffusion und Streuung.<\/li>\n<li><a href=\"https:\/\/archive.nptel.ac.in\/content\/storage2\/courses\/112108091\/module4\/lecture4.pdf\" rel=\"nofollow\" target=\"_blank\"> nptel: Konvektion und Diffusion <\/a> &#8211; Diskussion \u00fcber das Verhalten von zentralem und Upwind-Finitem Volumen und des Peclet-Kriteriums.<\/li>\n<li><a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Dokumentation f\u00fcr MooseleveletAdvectionsupg <\/a> &#8211; Eine Implementierung der SUPG-Stabilisierung f\u00fcr eine Level-Set-Gleichung.<\/li>\n<li><a href=\"https:\/\/www.wias-berlin.de\/people\/john\/STAB_PROB\/stab_cd.html\" rel=\"nofollow\" target=\"_blank\">WIAS Berlin: Stabilisierung von konvektionsdominierten Problemen <\/a> &#8211; Ressourcen zu stabilisierten Finite-Elemente-Methoden.<\/li>\n<li><a href=\"https:\/\/oldqa.fenicsproject.org\/13458\/how-implement-supg-properly-advection-dominated-equation\/\" rel=\"nofollow\" target=\"_blank\">Fenics-QA: Implementierung von SUPG <\/a> &#8211; Historische Implementierungsdiskussion und praktische Vorsichtsma\u00dfnahmen.<\/li>\n<li><a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_b873c7e3f\/generated\/examples.levelSet.advection.html\" rel=\"nofollow\" target=\"_blank\"> FIPY-Level-Set-Advektionsbeispiele <\/a> &#8211; Advection-Beispiele aus der FIPY-Dokumentation.<\/li>\n<li><a href=\"https:\/\/www.cmor-faculty.rice.edu\/~heinken\/papers\/supg_analysis.pdf\" rel=\"nofollow\" target=\"_blank\">Supg Finite Element Method Analysis<\/a> &#8211; Mathematische Analyse stabilisierter Finite-Elemente-Formulierungen.<\/li>\n<li><a href=\"https:\/\/scicomp.stackexchange.com\/questions\/31424\/\" rel=\"nofollow\" target=\"_blank\">Computational Science Stack Exchange: Warum Advektion herausfordert<\/a> &#8211; Diskussion der numerischen Probleme in der Gemeinschaft in Advektionsgleichungen.<\/li>\n<\/ul>\n<h2>Schlussfolgerung<\/h2>\n<p>Advektionsdominierte Gleichungen stellen numerische Methoden in Frage, da die physikalische Diffusion zu schwach ist, um das ungel\u00f6ste Verhalten im Rasterma\u00dfstab zu unterdr\u00fccken. Die Zellpeclet-Nummer hilft festzustellen, ob eine stetige Diskretisierung des zentralen endlichen Volumens wahrscheinlich begrenzt bleibt, aber ihre Definition und ihr Anwendungsfeld m\u00fcssen korrekt angegeben werden.<\/p>\n<p>Der Aufwind erster Ordnung bietet eine robuste Richtungsann\u00e4herung. Sein f\u00fchrender Verk\u00fcrzungsfehler verh\u00e4lt sich wie eine k\u00fcnstliche Diffusion mit dem Koeffizienten <code>|v|h\/2<\/code> , was sowohl seine Stabilit\u00e4t als auch seine Tendenz zur Verschmierung von Fronten erkl\u00e4rt.<\/p>\n<p>Lineare Verfahren h\u00f6herer Ordnung reduzieren die numerische Diffusion, k\u00f6nnen jedoch dispersive Schwingungen einleiten. Flussbegrenzer, TVD-Schemata und WENO-Methoden verwenden nichtlineare Mechanismen, um eine hohe Aufl\u00f6sung in glatten Regionen beizubehalten und gleichzeitig die Schwingungen in der N\u00e4he steiler Gradienten zu reduzieren.<\/p>\n<p>SUPG dient einem verwandten Zweck bei Finite-Elemente-Methoden. Es f\u00fcgt einen konsistenten auf Residuen basierenden Term hinzu, der auf die Str\u00f6mungsrichtung ausgerichtet ist. Sein Stabilisierungsparameter h\u00e4ngt von der lokalen Advektion, Diffusion, Mesh und manchmal der Zeitskala ab. Es sollte nicht blind durch eine feste Menge an isotroper Diffusion ersetzt werden.<\/p>\n<p>Kein Schema ist allgemein am besten. Die richtige Wahl h\u00e4ngt von der lokalen Peclet-Nummer, der Regelm\u00e4\u00dfigkeit der L\u00f6sung, den Anforderungen an die Konservierung, der Netzqualit\u00e4t, den Randbedingungen und der Toleranz f\u00fcr Diffusion oder Dispersion ab. Eine glaubw\u00fcrdige Wahl muss durch analytische Tests, Netzverfeinerung, zeitliche Konvergenz und \u00dcberpr\u00fcfung der physischen Grenzen unterst\u00fctzt werden.<\/p>\n<\/article>\n","protected":false,"raw":"<article>\n<p>Advektionsdominierte partielle Differentialgleichungen sind schwierig, da sich Informationen haupts\u00e4chlich entlang einer Flussrichtung bewegen, w\u00e4hrend die physikalische Diffusion nur wenig Gl\u00e4ttung bietet. Eine numerische Methode, die f\u00fcr ein diffusionsdominiertes Problem gut funktioniert, kann Schwingungen, \u00fcberm\u00e4\u00dfige Schmierung oder nichtphysische Werte erzeugen, wenn die Advektion st\u00e4rker wird.<\/p>\n<p>Die richtige Antwort besteht nicht nur darin, das am weitesten verf\u00fcgbare Schema auszuw\u00e4hlen. \u00dcberm\u00e4\u00dfige numerische Diffusion kann scharfe Fronten verbergen, Konzentrationsspitzen schw\u00e4chen und die Transportraten ver\u00e4ndern. Eine n\u00fctzliche Diskretisierung muss Stabilit\u00e4t, Begrenztheit, Erhaltung und Aufl\u00f6sung ausgleichen.<\/p>\n<p>Die Zellpeclet-Nummer hilft, dieses Gleichgewicht zu beschreiben. Zentrale Differenzierung kann funktionieren, wenn das Netz die physikalische Diffusion aufl\u00f6st. Upwind erster Ordnung bietet Robustheit, schmiert aber die L\u00f6sung. Begrenzte Schemata h\u00f6herer Ordnung reduzieren das Verschmieren, w\u00e4hrend die Schwingungen kontrolliert werden. Bei Finite-Elemente-Methoden f\u00fcgt SUPG eine konsistente Stabilisierung haupts\u00e4chlich entlang der Stromlinien hinzu.<\/p>\n<h2>Die Advektions-Diffusionsgleichung<\/h2>\n<p>Ein g\u00e4ngiges Skalartransportmodell ist:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + \u2207 \u00b7 (v\u03c6) = \u2207 \u00b7 (\u03b1\u2207\u03c6) + S<\/code><\/pre>\n<p>F\u00fcr ein inkompressibles Geschwindigkeitsfeld wird dies oft geschrieben als:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v \u00b7 \u2207\u03c6 = \u03b1\u2207\u00b2\u03c6 + S<\/code><\/pre>\n<p>Hier:<\/p>\n<ul>\n<li><code>\u03c6<\/code> ist der transportierte Skalar, wie Temperatur oder Konzentration.<\/li>\n<li><code>v<\/code> ist das Geschwindigkeitsfeld.<\/li>\n<li><code>\u03b1<\/code> ist die physikalische Diffusivit\u00e4t.<\/li>\n<li><code>S<\/code> ist eine Quelle oder Senke.<\/li>\n<\/ul>\n<p>Die Diffusion verbreitet Informationen in alle Richtungen und gl\u00e4ttet Steigungen. Die Advektion transportiert die Informationen haupts\u00e4chlich entlang der vom Geschwindigkeitsfeld bestimmten Merkmale. Wenn die Diffusion schwach ist, muss die numerische Methode diesen gerichteten Transport respektieren.<\/p>\n<h2>die Zellpeclet-Nummer<\/h2>\n<p>Die Zellpeclet-Zahl vergleicht Advektion und Diffusion auf der Skala einer Mesh-Zelle. Eine weit verbreitete Konvention ist:<\/p>\n<pre><code>Pe\u2095 = |v|h \/ \u03b1<\/code><\/pre>\n<p>F\u00fcr eine eindimensionale stetige Konvektions-Diffusions-Gleichung auf einem einheitlichen Gitter bleiben die klassischen zentralen endlichen Volumenkoeffizienten nicht negativ, wenn:<\/p>\n<pre><code>|Pe\u2095| \u2264 2<\/code><\/pre>\n<p>Einige Referenzen definieren die Zell-Peclet-Nummer mit einem zus\u00e4tzlichen Faktor von zwei:<\/p>\n<pre><code>Pe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Nach dieser Konvention lautet die \u00e4quivalente Bedingung:<\/p>\n<pre><code>|Pe*| \u2264 1<\/code><\/pre>\n<p>Das \u00dcbereinkommen muss daher vor Angabe einer Schwelle angegeben werden. Das Schreiben von <code>|v|h\/(2\u03b1)<\/code>  und der Vergleich mit 2 w\u00fcrde zwei verschiedene Definitionen mischen.<\/p>\n<p>F\u00fcr ein mehrdimensionales Finite-Volumen-Netz ist ein n\u00fctzlicherer lokaler Nennwert:<\/p>\n<pre><code>Pe_f =\n    |v_f \u00b7 n_f| d_PA\n    \/ \u03b1_f<\/code><\/pre>\n<p>Der Wert h\u00e4ngt von der normalen Geschwindigkeit durch eine Fl\u00e4che, dem Abstand benachbarter Zellzentren und der lokalen Diffusionsf\u00e4higkeit ab. Es kann \u00fcber die Dom\u00e4ne variieren, wenn die Netz-, Geschwindigkeits- oder Materialeigenschaften ungleichm\u00e4\u00dfig sind.<\/p>\n<h2>Was das Peclet-Kriterium eigentlich bedeutet<\/h2>\n<p>Die oft zitierte Schwelle in der N\u00e4he von zwei gilt f\u00fcr eine bestimmte stetige eindimensionale Konvektions-Diffusionsdiskretisierung. Es ist ein Begrenzungskriterium f\u00fcr die algebraischen Koeffizienten, die durch zentrale Differenzierung erzeugt werden.<\/p>\n<p>Dies bedeutet nicht, dass jedes zentrale Schema f\u00fcr jedes vor\u00fcbergehende Problem bei gleicher Zahl sofort instabil wird. R\u00e4umliche und zeitliche Diskretisierungen m\u00fcssen zusammen analysiert werden.<\/p>\n<p>Zwei verschiedene Probleme werden oft verwechselt:<\/p>\n<ol>\n<li>In einer stetigen Konvektions-Diffusions-Finite-Volumen-Gleichung kann die zentrale Differenzierung die Positivit\u00e4t des Koeffizienten verlieren, wenn die Zellpeclet-Zahl zu gro\u00df ist. Die L\u00f6sung kann dann \u00dcber- und Unterschwingungen entwickeln.<\/li>\n<li>F\u00fcr reine vor\u00fcbergehende Advektion ist der Vorw\u00e4rts-Euler in der Zeit in Kombination mit dem zentrierten Raum, bekannt als FTCs, f\u00fcr jede Courant-Zahl ungleich Null instabil.<\/li>\n<\/ol>\n<p>Beide Probleme k\u00f6nnen Schwingungen hervorrufen, aber ihre mathematischen Ursachen sind nicht identisch.<\/p>\n<h2>Warum zentrale Differenzierung oszillieren kann<\/h2>\n<p>Zentrale Differenzierung sch\u00e4tzt einen symmetrischen Nennwert:<\/p>\n<pre><code>\u03c6_f \u2248 (\u03c6_P + \u03c6_A) \/ 2<\/code><\/pre>\n<p>Auf einem einheitlichen Gitter ergibt dies eine N\u00e4herung zweiter Ordnung f\u00fcr glatte L\u00f6sungen. Es f\u00fchrt auch sehr wenig numerische Dissipation ein.<\/p>\n<p>Diese geringe Dissipation ist n\u00fctzlich, wenn die physikalische L\u00f6sung glatt und gut aufgel\u00f6st ist. Es wird zu einem Problem in der N\u00e4he von steilen Schichten oder wenn die physikalische Diffusion zu schwach ist, um den Gitterma\u00dfstab zu steuern.<\/p>\n<p>In der stetigen eindimensionalen, endlichen Volumengleichung verringert das Erh\u00f6hen der Zellpeclet-Zahl einen benachbarten Koeffizienten. Sobald dieser Koeffizient das Vorzeichen \u00e4ndert, kann das diskrete Maximalprinzip verloren gehen. Die L\u00f6sung kann Grenzwerte \u00fcberschreiten oder auch dann negativ werden, wenn die physikalische L\u00f6sung begrenzt bleibt.<\/p>\n<p>F\u00fcr die transiente reine Advektion ist eine zentrierte r\u00e4umliche Ableitung in erster Linie dispersiv. Seine Eignung h\u00e4ngt vom Zeitintegrator ab. Die Paarung mit Forward Euler erzeugt eine instabile Methode, w\u00e4hrend andere Zeitintegratoren das Wachstum steuern k\u00f6nnen, aber dennoch Phasenfehler oder Oszillationen in der N\u00e4he von ungel\u00f6sten Gradienten einf\u00fchren.<\/p>\n<h2>Upwind-Differenzierung erster Ordnung<\/h2>\n<p>Bei der Aufwinddifferenzierung werden Informationen aus der Richtung verwendet, in der der Fluss entsteht. F\u00fcr eine positive eindimensionale Geschwindigkeit:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h<\/code><\/pre>\n<p>F\u00fcr eine negative Geschwindigkeit wird der Wert von rechts verwendet:<\/p>\n<pre><code>(\u2202\u03c6\/\u2202x)\u1d62\n\u2248 (\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62) \/ h<\/code><\/pre>\n<p>Diese richtungsbewusste Schablone unterdr\u00fcckt viele der durch eine zentrierte Approximation erzeugten Schwingungen. F\u00fcr die stetige lineare Konvektions-Diffusion werden auch positive benachbarte Koeffizienten \u00fcber einen viel gr\u00f6\u00dferen Bereich von Zell-Peclet-Zahlen erzeugt.<\/p>\n<p>Die r\u00e4umliche Diskretisierung des Aufwindes sollte ohne Qualifikation nicht als bedingungslos beschrieben werden. Wird es mit einem expliziten Zeitintegrator kombiniert, hat die vollst\u00e4ndige Methode immer noch eine Courant-Einschr\u00e4nkung.<\/p>\n<h2>Gegenwind als zentrale Differenzierung plus Diffusion<\/h2>\n<p>F\u00fcr eine positive konstante Geschwindigkeit kann die Upwind-Ableitung erster Ordnung genau wie folgt geschrieben werden:<\/p>\n<pre><code>(\u03c6\u1d62 - \u03c6\u1d62\u208b\u2081) \/ h\n=\n(\u03c6\u1d62\u208a\u2081 - \u03c6\u1d62\u208b\u2081) \/ (2h)\n-\n(\u03c6\u1d62\u208a\u2081 - 2\u03c6\u1d62 + \u03c6\u1d62\u208b\u2081) \/ (2h)<\/code><\/pre>\n<p>Der Zweitdifferentialausdruck n\u00e4hert sich <code>h\u03c6\u2093\u2093<\/code>. Das Einsetzen des Aufwindoperators in die Advektionsgleichung ergibt die modifizierte Gleichung:<\/p>\n<pre><code>\u2202\u03c6\/\u2202t + v\u2202\u03c6\/\u2202x\n=\n(|v|h \/ 2) \u2202\u00b2\u03c6\/\u2202x\u00b2\n+ higher-order terms<\/code><\/pre>\n<p>Der f\u00fchrende numerische Diffusionskoeffizient der r\u00e4umlichen Halbdiskretisierung lautet daher:<\/p>\n<pre><code>\u03b1_num = |v|h \/ 2<\/code><\/pre>\n<p>Dies erkl\u00e4rt sowohl die Stabilit\u00e4t als auch das Verschmieren, das mit dem Aufwind erster Ordnung verbunden ist. Es f\u00fcgt einen diffusions\u00e4hnlichen K\u00fcrzungsbegriff hinzu, der kurze Wellen und scharfe Gradienten unterdr\u00fcckt.<\/p>\n<p>Die Formel beschreibt den f\u00fchrenden Fehler des r\u00e4umlichen Operators. Sobald eine Zeitdiskretisierung hinzugef\u00fcgt wird, kann die vollst\u00e4ndige modifizierte Gleichung zus\u00e4tzliche Terme enthalten, die von der Courantzahl und der Zeitschrittgr\u00f6\u00dfe abh\u00e4ngen.<\/p>\n<h2>Reduzieren der numerischen Diffusion<\/h2>\n<p>Da die f\u00fchrende Aufwinddiffusionsskalierung mit Netzabstand verfeinert wird, verringert das Verfeinern das Verschmieren. Wenn nur der Zeitschritt reduziert wird, wird der f\u00fchrende r\u00e4umliche Fehler nicht entfernt.<\/p>\n<p>Weitere Optionen sind:<\/p>\n<ul>\n<li>Verwenden einer Rekonstruktion zweiter Ordnung<\/li>\n<li>Anwenden eines Flussbegrenzers<\/li>\n<li>Verwenden von Quick auf geeigneten strukturierten Netzen<\/li>\n<li>Anwenden von TVD- oder Weno-Methoden<\/li>\n<li>Verwenden von SUPG in einer Finite-Elemente-Formulierung<\/li>\n<li>Ausrichten und Verfeinern des Netzes in der N\u00e4he wichtiger Ebenen<\/li>\n<\/ul>\n<p>Die Erh\u00f6hung der physikalischen Diffusivit\u00e4t ist keine numerische L\u00f6sung. Es \u00e4ndert sich das Modell und sollte nur durchgef\u00fchrt werden, wenn das physikalische Problem einen anderen Koeffizienten erfordert.<\/p>\n<h2>Numerische Diffusion und Dispersion<\/h2>\n<p>Die numerische Diffusion verringert die Amplitude der aufgel\u00f6sten Wellen. Es verbreitet Diskontinuit\u00e4ten und gl\u00e4ttet enge Spitzen.<\/p>\n<p>Die numerische Dispersion \u00e4ndert die Ausbreitungsgeschwindigkeit verschiedener Wellenl\u00e4ngen. Es kann f\u00fchrende oder hintere Schwingungen erzeugen, selbst wenn die Gesamtamplitude nicht stark ged\u00e4mpft ist.<\/p>\n<p>Der Aufwind erster Ordnung ist in erster Linie dissipativ. Viele zentrierte und h\u00f6herwertige Schemata sind weniger dissipativ, aber dispersiver. Ein gutes Transportverfahren muss beide Effekte kontrollieren.<\/p>\n<p>Die richtige Balance h\u00e4ngt von der Anwendung ab. Eine kleine begrenzte Menge an Dissipation kann in einer robusten technischen Berechnung akzeptabel sein. Bei der Wellenausbreitung kann eine \u00fcberm\u00e4\u00dfige D\u00e4mpfung die gemessene Menge zerst\u00f6ren. Beim reaktiven Transport k\u00f6nnen oszillierende Unterschwingungen negative Konzentrationen erzeugen und das Reaktionsmodell brechen.<\/p>\n<h2>Lineare Schemata h\u00f6herer Ordnung<\/h2>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Schema<\/th>\n<th>Nennordnung<\/th>\n<th>Hauptst\u00e4rke<\/th>\n<th>Hauptrisiko<\/th>\n<\/tr>\n<tr>\n<td>Zentraler Unterschied<\/td>\n<td>Zweite Ordnung auf glatten einheitlichen Gittern<\/td>\n<td>Niedrige numerische Diffusion<\/td>\n<td>Verlust der Begrenzung oder dispersive Schwingungen<\/td>\n<\/tr>\n<tr>\n<td>Aufwind erster Ordnung<\/td>\n<td>Erste Bestellung<\/td>\n<td>Robust und richtungsbewusst<\/td>\n<td>Starke numerische Diffusion<\/td>\n<\/tr>\n<tr>\n<td>Linearer Aufwind<\/td>\n<td>Zweite Ordnung auf glatten Gittern<\/td>\n<td>Weniger Diffusion als Aufwind erster Ordnung<\/td>\n<td>Nicht automatisch begrenzt in der N\u00e4he von scharfen Gradienten<\/td>\n<\/tr>\n<tr>\n<td>Schnell<\/td>\n<td>Gesichtsinterpolation dritter Ordnung auf einem einheitlichen Gitter<\/td>\n<td>Gute Genauigkeit f\u00fcr reibungslose Konvektion<\/td>\n<td>kann \u00fcberschreiten und Ordnung in der N\u00e4he von Grenzen oder unregelm\u00e4\u00dfigen Gittern verlieren<\/td>\n<\/tr>\n<tr>\n<td>LAX-WENDROFF<\/td>\n<td>Zweite Ordnung in Raum und Zeit f\u00fcr lineare Advektion<\/td>\n<td>Geringe Dissipation f\u00fcr aufgel\u00f6ste Wellen<\/td>\n<td>Dispersive Oszillationen in der N\u00e4he von Diskontinuit\u00e4ten<\/td>\n<\/tr>\n<\/tbody><\/table>\n<p>Die Nennordnung gilt in glatten Regionen unter den Annahmen, die zur Ableitung des Schemas verwendet werden. Grenzen, Begrenzer, Netz-Nicht-Orthogonalit\u00e4t, Diskontinuit\u00e4ten und variable Koeffizienten k\u00f6nnen die beobachtete Konvergenzrate verringern.<\/p>\n<h2>Flussbegrenzer und TVD-Schemata<\/h2>\n<p>Ein Flussbegrenzer kombiniert einen robusten Fluss mit niedriger Ordnung mit einer weniger diffusiven Korrektur h\u00f6herer Ordnung. In glatten Bereichen erlaubt der Begrenzer die N\u00e4herung h\u00f6herer Ordnung. Nahe scharfe Steigungen reduzieren die Korrektur, um neue Maxima oder Minima zu vermeiden.<\/p>\n<p>Ein vereinfachter gemischter Nennwert kann wie folgt geschrieben werden:<\/p>\n<pre><code>\u03c6_f =\n\u03c6_f(upwind)\n+\n\u03c8(r) [\n    \u03c6_f(high-order)\n    - \u03c6_f(upwind)\n]<\/code><\/pre>\n<p>Die Begrenzungsfunktion <code>\u03c8(r)<\/code> h\u00e4ngt von benachbarten Gradienten ab. H\u00e4ufige Beispiele sind MinMod, Van Leer, Superbee und monotonisierte zentrale Begrenzer.<\/p>\n<p>Die Verfahren zur Verringerung der Gesamtvariation sind so konzipiert, dass sie die Gesamtvariation einer eindimensionalen L\u00f6sung nicht erh\u00f6hen. Sie bieten einen n\u00fctzlichen Kompromiss zwischen der Robustheit des Aufwindes erster Ordnung und der Aufl\u00f6sung eines Schemas h\u00f6herer Ordnung.<\/p>\n<p>In der N\u00e4he einer echten Diskontinuit\u00e4t reduziert ein nichtlinearer Begrenzer normalerweise die lokale Reihenfolge. Dies wird erwartet: Die Aufrechterhaltung der Monotonie und der hohen linearen Ordnung bei einer Diskontinuit\u00e4t sind widerspr\u00fcchliche Ziele.<\/p>\n<h2>Weno-Methoden<\/h2>\n<p>Bei gewichteten im Wesentlichen nicht oszillierenden Methoden verwenden mehrere Kandidatenschablonen. Gl\u00e4ttungsindikatoren weisen den Schablonen, die eine Diskontinuit\u00e4t kreuzen, ein geringeres Gewicht zu.<\/p>\n<p>Weno-Methoden k\u00f6nnen Genauigkeit in glatten Regionen mit hoher Ordnung bieten und gleichzeitig die st\u00e4rksten Schwingungen eines linearen Schemas h\u00f6herer Ordnung vermeiden. Sie werden weit verbreitet f\u00fcr komprimierbare Str\u00f6mungen, Erhaltungsgesetze und Probleme mit sich bewegenden Schocks verwendet.<\/p>\n<p>Zu ihren Nachteilen geh\u00f6ren h\u00f6here Rechenkosten, umfassendere Datenabh\u00e4ngigkeiten, komplexere Grenzbehandlungen und mehrere Implementierungsoptionen, die sich auf die Dissipation auswirken.<\/p>\n<h2>SUPG-Stabilisierung<\/h2>\n<p>Die Stabilisierung von Upwind \/ Petrov-Galerkin-Stabilisierung ist in erster Linie eine Finite-Elemente-Technik. Es \u00e4ndert den Testraum, so dass die schwache Form einen auf den Fluss ausgerichteten Beitrag auf der Basis von Rest erh\u00e4lt.<\/p>\n<p>F\u00fcr einen Operator mit starkem Rest:<\/p>\n<pre><code>R(\u03c6) =\n\u2202\u03c6\/\u2202t\n+ v \u00b7 \u2207\u03c6\n- \u2207 \u00b7 (\u03b1\u2207\u03c6)\n- S<\/code><\/pre>\n<p>Ein typischer Stabilisierungsbegriff ist:<\/p>\n<pre><code>\u03a3_K \u222b_K\n    \u03c4_K\n    (v \u00b7 \u2207w)\n    R(\u03c6_h)\nd\u03a9<\/code><\/pre>\n<p>Da das starke Residuum in der Formulierung vorkommt, ist der Begriff konsistent: Die genaue L\u00f6sung erf\u00fcllt auch die stabilisierte Gleichung.<\/p>\n<p>Der Faktor <code>v \u00b7 \u2207w<\/code> betont die Richtung der Stromlinien. Dies reduziert Schwingungen, ohne die gleiche Menge an Seitenwindschmierung wie einfache isotrope k\u00fcnstliche Diffusion einzuf\u00fchren.<\/p>\n<h2>Auswahl des SUPG-Parameters<\/h2>\n<p>Der Stabilisierungsparameter ist nicht universell gleich <code>h\/(2|v|)<\/code>. Dieser Ausdruck ist die hohe Peclet-Grenze mehrerer station\u00e4rer Advektionsformeln.<\/p>\n<p>F\u00fcr ein eindimensionales stetiges Advektions-Diffusionsproblem ist eine h\u00e4ufige Form:<\/p>\n<pre><code>\u03c4 =\nh \/ (2|v|)\n[\n    coth(Pe*) - 1\/Pe*\n]\n\nPe* = |v|h \/ (2\u03b1)<\/code><\/pre>\n<p>Wenn die Advektion stark dominiert:<\/p>\n<pre><code>\u03c4 \u2192 h \/ (2|v|)<\/code><\/pre>\n<p>Wenn die Diffusion dominiert, n\u00e4hert sich die Expression einer diffusionsskalierten Grenze, anstatt eine \u00fcberm\u00e4\u00dfige Stabilisierung hinzuzuf\u00fcgen.<\/p>\n<p>Transiente und mehrdimensionale Implementierungen k\u00f6nnen Zeit-, Advektions- und Diffusionsskalen kombinieren:<\/p>\n<pre><code>\u03c4 \u2248\n[\n    (c_t \/ \u0394t)\u00b2\n    + (c_v |v| \/ h)\u00b2\n    + (c_d \u03b1 \/ h\u00b2)\u00b2\n]\u207b\u00b9\u141f\u00b2<\/code><\/pre>\n<p>Die Konstanten und die Elementl\u00e4ngendefinition h\u00e4ngen von der Formulierung ab. Der geeignete Ausdruck sollte von der Finite-Elemente-Methode und der verwendeten Softwareimplementierung stammen.<\/p>\n<p>Die <a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Dokumentation von Moose LevelsetAdvectionSupg <\/a> zeigt, wie SUPG als Teil einer vollst\u00e4ndig stabilisierten Level-Set-Gleichung enthalten ist.<\/p>\n<h2>SUPG ist keine isotrope k\u00fcnstliche Diffusion<\/h2>\n<p>Das Hinzuf\u00fcgen eines gr\u00f6\u00dferen Skalarkoeffizienten zu einem gew\u00f6hnlichen Diffusionsterm ist keine vollst\u00e4ndige SUPG-Implementierung. In jeder Raumrichtung wirkt ein skalarer Diffusionskoeffizient.<\/p>\n<p>SUPG modifiziert die schwache Form unter Verwendung der Richtungsableitung der Testfunktion und des starken Rests. Es kann daher eine rationelle Stabilisierung hinzuf\u00fcgen und gleichzeitig eine h\u00f6here Seitenwindaufl\u00f6sung erhalten.<\/p>\n<p>In schwierigen mehrdimensionalen Schichten kann es immer noch zu Schwingungen des Seitenwindes kommen. Zus\u00e4tzliche Begriffe f\u00fcr Diskontinuit\u00e4tserfassung oder Schockerfassung werden manchmal mit SUPG verwendet, diese m\u00fcssen jedoch separat entworfen und validiert werden.<\/p>\n<h2>Advektion - Diffusion in FIPY<\/h2>\n<p>FIPY bietet mehrere Konvektionsbegriffe f\u00fcr endliche Volumen, darunter:<\/p>\n<ul>\n<li><code>CentralDifferenceConvectionTerm<\/code><\/li>\n<li><code>ExponentialConvectionTerm<\/code><\/li>\n<li><code>HybridConvectionTerm<\/code><\/li>\n<li><code>PowerLawConvectionTerm<\/code><\/li>\n<li><code>UpwindConvectionTerm<\/code><\/li>\n<li><code>ExplicitUpwindConvectionTerm<\/code><\/li>\n<li><code>VanLeerConvectionTerm<\/code><\/li>\n<\/ul>\n<p>Der Koeffizient eines Konvektionsterms muss eine Vektorgeschwindigkeit oder einen Fluss darstellen. In zwei Dimensionen kann ein konstanter Vektor in Form <code>((v_x,), (v_y,))<\/code> geliefert werden.<\/p>\n<h2>Ein Fipy Upwind-Beispiel<\/h2>\n<p>Das folgende Beispiel transportiert einen kreisf\u00f6rmigen skalaren Bereich durch eine zweidimensionale Dom\u00e4ne, w\u00e4hrend eine kleine Menge physikalischer Diffusion hinzugef\u00fcgt wird:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    Grid2D,\n    CellVariable,\n    TransientTerm,\n    DiffusionTerm,\n    UpwindConvectionTerm\n)\nfrom fipy.tools import numerix\n\n# Domain\nlength_x = 2.0\nlength_y = 1.0\n\nnx = 200\nny = 100\n\ndx = length_x \/ nx\ndy = length_y \/ ny\n\nmesh = Grid2D(\n    nx=nx,\n    ny=ny,\n    dx=dx,\n    dy=dy\n)\n\n# Transported scalar\nphi = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0,\n    hasOld=True\n)\n\nx, y = mesh.cellCenters\n\ninitial_region = (\n    (x - 0.4) ** 2\n    + (y - 0.5) ** 2\n    &lt; 0.1 ** 2\n)\n\nphi.setValue(\n    1.0,\n    where=initial_region\n)\n\n# Constant velocity vector\nvelocity_x = 1.0\nvelocity_y = 0.0\n\nvelocity = (\n    (velocity_x,),\n    (velocity_y,)\n)\n\ndiffusivity = 1e-3\n\nequation = (\n    TransientTerm(var=phi)\n    + UpwindConvectionTerm(\n        coeff=velocity,\n        var=phi\n    )\n    == DiffusionTerm(\n        coeff=diffusivity,\n        var=phi\n    )\n)\n\n# Inflow value on the left boundary\nphi.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\n# Moderate time step for temporal accuracy\ndt = 0.25 * dx \/ abs(velocity_x)\nnumber_of_steps = 200\n\nfor step in range(number_of_steps):\n    phi.updateOld()\n    equation.solve(\n        var=phi,\n        dt=dt\n    )<\/code><\/pre>\n<p><code>UpwindConvectionTerm<\/code> verwendet eine implizite Konvektionsdiskretisierung erster Ordnung. Der gew\u00e4hlte Zeitschritt wird daher nicht als strikte explizite CFL-Grenze dargestellt. Es wird m\u00e4\u00dfig gehalten, um den Transport genau zu l\u00f6sen.<\/p>\n<p>F\u00fcr die explizit integrierte Konvektion muss das vollst\u00e4ndige Schema die mit den gew\u00e4hlten r\u00e4umlichen und zeitlichen Methoden verbundene Stabilit\u00e4tsbeschr\u00e4nkung erf\u00fcllen.<\/p>\n<h2>Mit dem Potenzgesetz von FIPY<\/h2>\n<p>F\u00fcr die stetige Konvektions-Diffusion verwenden die offiziellen Beispiele von FIPY <code>PowerLawConvectionTerm<\/code>:<\/p>\n<pre><code class=\"language-python\">from fipy import (\n    CellVariable,\n    Grid1D,\n    DiffusionTerm,\n    PowerLawConvectionTerm\n)\n\nlength = 10.0\ncell_count = 1000\n\nmesh = Grid1D(\n    nx=cell_count,\n    dx=length \/ cell_count\n)\n\nconcentration = CellVariable(\n    name=\"concentration\",\n    mesh=mesh,\n    value=0.0\n)\n\nconcentration.constrain(\n    0.0,\n    where=mesh.facesLeft\n)\n\nconcentration.constrain(\n    1.0,\n    where=mesh.facesRight\n)\n\ndiffusivity = 1.0\nvelocity = (10.0,)\n\nequation = (\n    DiffusionTerm(\n        coeff=diffusivity\n    )\n    + PowerLawConvectionTerm(\n        coeff=velocity\n    )\n)\n\nequation.solve(\n    var=concentration\n)<\/code><\/pre>\n<p>FIPY-Dokumente <code>PowerLawConvectionTerm<\/code> und <code>ExponentialConvectionTerm<\/code> als geeignet f\u00fcr eine breite Palette von Konvektions-Diffusionsf\u00e4llen, wobei die Potenzgesetz-Approximation eine effizientere praktische Option bietet.<\/p>\n<h2>\u00dcberpr\u00fcfen der Peclet-Nummer<\/h2>\n<p>F\u00fcr das einheitliche zweidimensionale Beispiel k\u00f6nnen gerichtete Zellpeclet-Nummern wie folgt berechnet werden:<\/p>\n<pre><code class=\"language-python\">peclet_x = (\n    abs(velocity_x)\n    * dx\n    \/ diffusivity\n)\n\npeclet_y = (\n    abs(velocity_y)\n    * dy\n    \/ diffusivity\n)\n\nprint(\"Pe_x =\", peclet_x)\nprint(\"Pe_y =\", peclet_y)<\/code><\/pre>\n<p>Berechnen Sie f\u00fcr ungleichm\u00e4\u00dfige Netze und variable Geschwindigkeiten eine lokale Peclet-Nummer mit der normalen Gesichtsgeschwindigkeit und dem lokalen Zellzentrumsabstand. Ein einzelner globaler Wert kann High-Peclet-Regionen verbergen.<\/p>\n<h2>r\u00e4umliche und zeitliche Fehler m\u00fcssen getrennt werden<\/h2>\n<p>Das Verschmieren in einer Advektionsberechnung kann vom r\u00e4umlichen Fluss, dem Zeitintegrator oder beiden erfolgen.<\/p>\n<p>R\u00fcckw\u00e4rts-Euler zum Beispiel ist f\u00fcr abfallende und oszillatorische Modi ableitend. Crank-Nicocolson verh\u00e4lt sich anders und d\u00e4mpft nicht alle steifen Modi. Explizite Runge-Kutta-Methoden haben ihre eigenen Dissipations- und Dispersionskurven.<\/p>\n<p>Es ist daher ungenau festzustellen, dass jede implizite Methode immer die gleiche Menge an Diffusion einf\u00fchrt. Die numerische D\u00e4mpfung ist methodenabh\u00e4ngig.<\/p>\n<p>Eine n\u00fctzliche Analyse variiert das Netz, w\u00e4hrend der zeitliche Fehler klein bleibt, und dann den Zeitschritt auf einem festen feinen Netz. Dies hilft dabei, die r\u00e4umliche numerische Diffusion vom zeitlichen Fehler zu trennen.<\/p>\n<p>Der zugeh\u00f6rige Leitfaden <a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">Zeitintegrationsmethoden f\u00fcr PDE-Solver: Explicit vs. Implicit Schemes <\/a> diskutiert diese Unterscheidung genauer.<\/p>\n<h2>Auswahl einer Stabilisierungsstrategie<\/h2>\n<table class=\"custom-table\">\n<tbody><tr>\n<th>Lage<\/th>\n<th>M\u00f6glicher Ausgangspunkt<\/th>\n<th>Haupt\u00fcberlegung<\/th>\n<\/tr>\n<tr>\n<td>Niedrige Zell-Peclet-Nummer und glatte L\u00f6sung<\/td>\n<td>Zentrale Differenzierung<\/td>\n<td>Geringe Diffusion und Genauigkeit zweiter Ordnung<\/td>\n<\/tr>\n<tr>\n<td>Hohe Peclet-Nummer mit Robustheitspriorit\u00e4t<\/td>\n<td>Aufwind erster Ordnung<\/td>\n<td>begrenzt, aber m\u00f6glicherweise \u00fcberdiffusionsoffen<\/td>\n<\/tr>\n<tr>\n<td>Sanfte L\u00f6sung, die eine h\u00f6here Genauigkeit erfordert<\/td>\n<td>Linearer Aufwind oder schnell<\/td>\n<td>Begrenzung und Grenzbehandlung \u00fcberpr\u00fcfen<\/td>\n<\/tr>\n<tr>\n<td>Scharfe Front, die Monotonie erfordert<\/td>\n<td>TVD-Flux-begrenzte Methode<\/td>\n<td>Nichtlinearer Begrenzer reduziert Oszillationen<\/td>\n<\/tr>\n<tr>\n<td>Schockdominiertes Naturschutzgesetz<\/td>\n<td>Godunov-Typ-, Weno- oder DG-Methode<\/td>\n<td>Ben\u00f6tigt Gleichungsangemessene numerische Fl\u00fcsse<\/td>\n<\/tr>\n<tr>\n<td>Finite Element Advection - Diffusion<\/td>\n<td>supg<\/td>\n<td>Konsequente rationelle Reststabilisierung<\/td>\n<\/tr>\n<tr>\n<td>Komplexe Seitenwindschichten<\/td>\n<td>Supg mit zus\u00e4tzlicher Schockerfassung oder lokaler Verfeinerung<\/td>\n<td>SUPG allein kontrolliert m\u00f6glicherweise nicht jede Seitenwindoszillation<\/td>\n<\/tr>\n<\/tbody><\/table>\n<h2>Randbedingungen bei Advektionsproblemen<\/h2>\n<p>Advection transportiert Informationen \u00fcber Zuflussgrenzen in die Dom\u00e4ne. Grenzwerte sollten normalerweise vorgeschrieben werden, wenn:<\/p>\n<pre><code>v \u00b7 n &lt; 0<\/code><\/pre>\n<p>An einer Abflussgrenze kann die Verschreibung eines unn\u00f6tigen Skalarwerts das Problem \u00fcberbegrenzen oder eine falsche Grenzschicht erzeugen.<\/p>\n<p>Die Diffusion \u00e4ndert die Grenzanforderungen, da sie einen r\u00e4umlichen Operator zweiter Ordnung einf\u00fchrt. Ein vollst\u00e4ndiges Advektions-Diffusionsmodell kann daher eine Wert- oder Flussbedingung erfordern, die aus dem physikalischen Problem abgeleitet ist.<\/p>\n<p>Randbedingungen sollten zusammen mit der Str\u00f6mungsrichtung \u00fcberpr\u00fcft werden. Ein Schema kann instabil erscheinen, wenn das tats\u00e4chliche Problem eine falsche Zu- oder Abflussbehandlung ist.<\/p>\n<h2>Netzausrichtung und Seitenwinddiffusion<\/h2>\n<p>Die numerische Diffusion wird durch die Netzorientierung beeinflusst. Auf einem kartesischen Gitter wird der Transport, der mit einer Koordinatenachse ausgerichtet ist, in der Regel sauberer dargestellt als der Diagonaltransport.<\/p>\n<p>Wenn die Str\u00f6mung das Gitter schr\u00e4g \u00fcberquert, k\u00f6nnen mehrdimensionale Aufwindschemata erster Ordnung ein erhebliches Schmirgeln des Seitenwinds verursachen. Verfeinerung, anisotrope Netze, Rekonstruktion der kleinsten Quadrate, mehrdimensionale Begrenzung oder Stabilisierung auf der Basis von Finite-Elementen k\u00f6nnen das Ergebnis verbessern.<\/p>\n<p>Eine kleine Zellgr\u00f6\u00dfe allein garantiert keine gute Genauigkeit, wenn die Zellen stark verzerrt oder schlecht auf wichtige Schichten ausgerichtet sind.<\/p>\n<h2>Verifizierungstests<\/h2>\n<p>Eine neue Advektionsimplementierung sollte auf Probleme mit bekanntem Verhalten getestet werden.<\/p>\n<h3>\u00dcbersetzung eines glatten Profils<\/h3>\n<p>Verwenden Sie periodische Grenzen und transportieren Sie eine glatte Gau\u00df- oder Sinuswelle. Vergleichen Sie nach einer Periode das numerische Profil mit der Anfangsbedingung.<\/p>\n<p>Dieser Test zeigt Amplitudenverlust und Phasenfehler.<\/p>\n<h3>\u00dcbersetzung eines Quadratimpulses<\/h3>\n<p>Ein Quadratimpuls belichtet numerische Diffusion und Schwingungen. Der Aufwind erster Ordnung verschmiert die Kanten, w\u00e4hrend uneingeschr\u00e4nkte Schemata h\u00f6herer Ordnung \u00fcbertrieben werden k\u00f6nnen.<\/p>\n<h3>Rotierender Blob<\/h3>\n<p>Ein zweidimensionales Drehgeschwindigkeitsfeld testet mehrdimensionale Transport-, Seitenwinddiffusions- und Netzorientierungseffekte.<\/p>\n<h3>stetige Grenzschicht<\/h3>\n<p>Ein eindimensionales stetiges Konvektions-Diffusionsproblem mit einer bekannten analytischen L\u00f6sung testet das Zellpeclet-Kriterium und die F\u00e4higkeit, eine d\u00fcnne Ausstr\u00f6mschicht aufzul\u00f6sen.<\/p>\n<h2>Mesh- und Zeitschrittkonvergenz<\/h2>\n<p>F\u00fchren Sie das gleiche Problem auf mehreren Netzen aus. Messen Sie Fehler in Mengen wie:<\/p>\n<ul>\n<li>Spitzenwert<\/li>\n<li>Frontposition<\/li>\n<li>Schichtdicke<\/li>\n<li>Insgesamt transportierte Masse<\/li>\n<li><code>L1<\/code>, <code>L2<\/code> oder maximale Norm<\/li>\n<li>\u00dcberschie\u00dfen und Unterschie\u00dfen<\/li>\n<\/ul>\n<p>Wiederholen Sie die Berechnung mit kleineren Zeitschritten auf einem festen Netz. Dies trennt r\u00e4umliche und zeitliche Fehler.<\/p>\n<p>Eine Methode h\u00f6herer Ordnung sollte ihre erwartete Konvergenz bei einem reibungslosen Test nachweisen. Nahe Diskontinuit\u00e4ten kann die globale Konvergenz geringer sein, da es der genauen L\u00f6sung an ausreichender Regelm\u00e4\u00dfigkeit mangelt.<\/p>\n<h2>H\u00e4ufige Fehler<\/h2>\n<ul>\n<li>Mischen von zwei verschiedenen Peclet-Nummerdefinitionen<\/li>\n<li>Anwenden der station\u00e4ren Zentraldifferenzschwelle auf jedes transiente Schema<\/li>\n<li>Aufrufen von Upwind bedingungslos stabil ohne Angabe des Zeitintegrators<\/li>\n<li>Angenommen, numerische Diffusion h\u00e4ngt nur vom Zeitschritt ab<\/li>\n<li>Ersetzen von SUPG durch gew\u00f6hnliche isotrope Diffusion<\/li>\n<li>Angenommen, SUPG verwendet immer <code>\u03c4 = h\/(2|v|)<\/code><\/li>\n<li>Verwenden eines uneingeschr\u00e4nkten linearen Schemas h\u00f6herer Ordnung in der N\u00e4he einer Diskontinuit\u00e4t<\/li>\n<li>Steigerung der physischen Diffusivit\u00e4t, um numerisches Verschmieren zu verbergen<\/li>\n<li>Anwenden von Skalarwerten sowohl bei Zu- als auch bei Ausfluss ohne \u00dcberpr\u00fcfung der PDE<\/li>\n<li>Vergleichen von Schemata auf verschiedenen Netzen oder auf unterschiedlichen Fehlerebenen<\/li>\n<li>Ignorieren der Massenerhaltung und der physischen Grenzen<\/li>\n<li>Alle D\u00e4mpfung der r\u00e4umlichen Diskretisierung zuzuordnen<\/li>\n<\/ul>\n<h2>Ein praktischer Arbeitsablauf<\/h2>\n<ol>\n<li>Schreiben Sie die Gleichung in konservativer oder nicht konservativer Form, wie es die Physik verlangt.<\/li>\n<li>Identifizieren Sie Zufluss, Abfluss und diffuse Grenzen.<\/li>\n<li>Berechnen Sie die lokalen gerichteten Zellpeclet-Nummern.<\/li>\n<li>Beginnen Sie mit einem robusten Aufwind oder begrenzten Schema.<\/li>\n<li>Die numerische Diffusion bei einem bekannten Transporttest messen.<\/li>\n<li>Verfeinern Sie das Netz und \u00fcberpr\u00fcfen Sie die Konvergenz.<\/li>\n<li>Wechseln Sie zu einem begrenzten Schema h\u00f6herer Ordnung, wenn das Verschmieren nicht akzeptabel ist.<\/li>\n<li>Verwenden Sie supg f\u00fcr Finite-Elemente-Formulierungen, die eine stromlinienf\u00f6rmige Stabilisierung ben\u00f6tigen.<\/li>\n<li>\u00dcberpr\u00fcfen Sie die Courant-Nummer und die zeitliche Konvergenz separat.<\/li>\n<li>Dokumentieren Sie den Fluss, den Begrenzer, den Stabilisierungsparameter und die Grenzbehandlung.<\/li>\n<\/ol>\n<h2>Verwandte Anleitungen<\/h2>\n<ul>\n<li><a href=\"https:\/\/matforge.org\/finite-volume-method-explained-simply\/\">Finite Volume-Methode einfach erkl\u00e4rt <\/a> - \u00dcberpr\u00fcfen Sie die Gesichtsfl\u00fcsse, die Erhaltung und die zellzentrierte Diskretisierung.<\/li>\n<li><a href=\"https:\/\/matforge.org\/time-integration-methods-for-pde-solvers-explicit-vs-implicit-schemes\/\">Zeitintegrationsmethoden f\u00fcr PDE-Solver: Explizite vs. implizite Schemes<\/a> \u2014 Vergleichen Sie CFL-Einschr\u00e4nkungen, D\u00e4mpfung und zeitlichen Fehler.<\/li>\n<li><a href=\"https:\/\/matforge.org\/when-to-use-fem-fvm-fdm\/\">Wann verwenden FEM, FVM oder FDM <\/a> - W\u00e4hlen Sie eine r\u00e4umliche Diskretisierung f\u00fcr das ma\u00dfgebliche Problem.<\/li>\n<li><a href=\"https:\/\/matforge.org\/mesh-quality-convergence-studies-guide-2\/\">Mesh-Qualit\u00e4ts- und Konvergenzstudien: Ein praktischer Leitfaden <\/a> - Verbinden Sie die lokale Aufl\u00f6sung mit der numerischen Konvergenz.<\/li>\n<li><a href=\"https:\/\/matforge.org\/operator-splitting-strang-splitting-and-imex-schemes-for-pde-solvers\/\">Operator-Splitting, Strang-Splitting und IMEX-Schemata f\u00fcr PDE-Solver<\/a> \u2014 Separate Advektion von Diffusions- und Reaktionsprozessen.<\/li>\n<li><a href=\"https:\/\/matforge.org\/extending-fipy-with-custom-modules\/\"> Erweitern Sie FIPY mit benutzerdefinierten Modulen <\/a> - Erkunden Sie benutzerdefiniertes numerisches Verhalten um FIPY-Modelle.<\/li>\n<\/ul>\n<h2>weiterlesen<\/h2>\n<ul>\n<li><a href=\"https:\/\/hplgit.github.io\/fdm-book\/\" rel=\"nofollow\" target=\"_blank\"> Finite Difference Computing mit PDEs<\/a> \u2014 detaillierte Analyse von Advektionsschemata, Verst\u00e4rkungsfaktoren, Diffusion und Streuung.<\/li>\n<li><a href=\"https:\/\/archive.nptel.ac.in\/content\/storage2\/courses\/112108091\/module4\/lecture4.pdf\" rel=\"nofollow\" target=\"_blank\"> nptel: Konvektion und Diffusion <\/a> - Diskussion \u00fcber das Verhalten von zentralem und Upwind-Finitem Volumen und des Peclet-Kriteriums.<\/li>\n<li><a href=\"https:\/\/mooseframework.inl.gov\/source\/kernels\/LevelSetAdvectionSUPG.html\" rel=\"nofollow\" target=\"_blank\">Dokumentation f\u00fcr MooseleveletAdvectionsupg <\/a> - Eine Implementierung der SUPG-Stabilisierung f\u00fcr eine Level-Set-Gleichung.<\/li>\n<li><a href=\"https:\/\/www.wias-berlin.de\/people\/john\/STAB_PROB\/stab_cd.html\" rel=\"nofollow\" target=\"_blank\">WIAS Berlin: Stabilisierung von konvektionsdominierten Problemen <\/a> - Ressourcen zu stabilisierten Finite-Elemente-Methoden.<\/li>\n<li><a href=\"https:\/\/oldqa.fenicsproject.org\/13458\/how-implement-supg-properly-advection-dominated-equation\/\" rel=\"nofollow\" target=\"_blank\">Fenics-QA: Implementierung von SUPG <\/a> - Historische Implementierungsdiskussion und praktische Vorsichtsma\u00dfnahmen.<\/li>\n<li><a href=\"https:\/\/pages.nist.gov\/fipy\/en\/benchmark_patched_b873c7e3f\/generated\/examples.levelSet.advection.html\" rel=\"nofollow\" target=\"_blank\"> FIPY-Level-Set-Advektionsbeispiele <\/a> - Advection-Beispiele aus der FIPY-Dokumentation.<\/li>\n<li><a href=\"https:\/\/www.cmor-faculty.rice.edu\/~heinken\/papers\/supg_analysis.pdf\" rel=\"nofollow\" target=\"_blank\">Supg Finite Element Method Analysis<\/a> - Mathematische Analyse stabilisierter Finite-Elemente-Formulierungen.<\/li>\n<li><a href=\"https:\/\/scicomp.stackexchange.com\/questions\/31424\/\" rel=\"nofollow\" target=\"_blank\">Computational Science Stack Exchange: Warum Advektion herausfordert<\/a> - Diskussion der numerischen Probleme in der Gemeinschaft in Advektionsgleichungen.<\/li>\n<\/ul>\n<h2>Schlussfolgerung<\/h2>\n<p>Advektionsdominierte Gleichungen stellen numerische Methoden in Frage, da die physikalische Diffusion zu schwach ist, um das ungel\u00f6ste Verhalten im Rasterma\u00dfstab zu unterdr\u00fccken. Die Zellpeclet-Nummer hilft festzustellen, ob eine stetige Diskretisierung des zentralen endlichen Volumens wahrscheinlich begrenzt bleibt, aber ihre Definition und ihr Anwendungsfeld m\u00fcssen korrekt angegeben werden.<\/p>\n<p>Der Aufwind erster Ordnung bietet eine robuste Richtungsann\u00e4herung. Sein f\u00fchrender Verk\u00fcrzungsfehler verh\u00e4lt sich wie eine k\u00fcnstliche Diffusion mit dem Koeffizienten <code>|v|h\/2<\/code> , was sowohl seine Stabilit\u00e4t als auch seine Tendenz zur Verschmierung von Fronten erkl\u00e4rt.<\/p>\n<p>Lineare Verfahren h\u00f6herer Ordnung reduzieren die numerische Diffusion, k\u00f6nnen jedoch dispersive Schwingungen einleiten. Flussbegrenzer, TVD-Schemata und WENO-Methoden verwenden nichtlineare Mechanismen, um eine hohe Aufl\u00f6sung in glatten Regionen beizubehalten und gleichzeitig die Schwingungen in der N\u00e4he steiler Gradienten zu reduzieren.<\/p>\n<p>SUPG dient einem verwandten Zweck bei Finite-Elemente-Methoden. Es f\u00fcgt einen konsistenten auf Residuen basierenden Term hinzu, der auf die Str\u00f6mungsrichtung ausgerichtet ist. Sein Stabilisierungsparameter h\u00e4ngt von der lokalen Advektion, Diffusion, Mesh und manchmal der Zeitskala ab. Es sollte nicht blind durch eine feste Menge an isotroper Diffusion ersetzt werden.<\/p>\n<p>Kein Schema ist allgemein am besten. Die richtige Wahl h\u00e4ngt von der lokalen Peclet-Nummer, der Regelm\u00e4\u00dfigkeit der L\u00f6sung, den Anforderungen an die Konservierung, der Netzqualit\u00e4t, den Randbedingungen und der Toleranz f\u00fcr Diffusion oder Dispersion ab. Eine glaubw\u00fcrdige Wahl muss durch analytische Tests, Netzverfeinerung, zeitliche Konvergenz und \u00dcberpr\u00fcfung der physischen Grenzen unterst\u00fctzt werden.<\/p>\n<\/article>\n"},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\"> 12<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>Advektionsdominierte partielle Differentialgleichungen sind schwierig, da sich Informationen haupts\u00e4chlich entlang einer Flussrichtung bewegen, w\u00e4hrend die physikalische Diffusion nur wenig Gl\u00e4ttung bietet. Eine numerische Methode, die f\u00fcr ein diffusionsdominiertes Problem gut funktioniert, kann Schwingungen, \u00fcberm\u00e4\u00dfige Schmierung oder nichtphysische Werte erzeugen, wenn die Advektion st\u00e4rker wird. Die richtige Antwort besteht nicht nur darin, das am weitesten verf\u00fcgbare [&hellip;]<\/p>\n","protected":false,"raw":""},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"de_DE","_original_post":"https:\/\/matforge.org\/?p=478","iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[26,29,28,21,23,10,27],"class_list":["post-905","post","type-post","status-publish","format-standard","hentry","category-simulation-modeling-projects","tag-advection","tag-computational-fluid-dynamics","tag-fiipy","tag-finite-volume-method","tag-numerical-methods","tag-pde","tag-supg","de-DE"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Stabilisierung von advektionsdominierten Problemen<\/title>\n<meta name=\"description\" content=\"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stabilisierung von advektionsdominierten Problemen\" \/>\n<meta property=\"og:description\" content=\"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/\" \/>\n<meta property=\"og:site_name\" content=\"matforge.org\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-30T12:23:16+00:00\" \/>\n<meta name=\"author\" content=\"Elena Markovska\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elena Markovska\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"18\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/\"},\"author\":{\"name\":\"Elena Markovska\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"headline\":\"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung\",\"datePublished\":\"2026-07-30T12:23:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/\"},\"wordCount\":3314,\"commentCount\":0,\"keywords\":[\"Advektion\",\"Computational-Fluid-Dynamics\",\"fiipy\",\"finite volume method\",\"numerical methods\",\"PDE\",\"supg\"],\"articleSection\":[\"Simulation & amp; Modellierungsprojekte\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/\",\"url\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/\",\"name\":\"Stabilisierung von advektionsdominierten Problemen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\"},\"datePublished\":\"2026-07-30T12:23:16+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\"},\"description\":\"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/matforge.org\\\/de\\\/advection-dominated-problems-supg-stabilization\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/matforge.org\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#website\",\"url\":\"https:\\\/\\\/matforge.org\\\/\",\"name\":\"matforge.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/matforge.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/matforge.org\\\/#\\\/schema\\\/person\\\/980162bb5de46742daece973661d93da\",\"name\":\"Elena Markovska\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g\",\"caption\":\"Elena Markovska\"},\"sameAs\":[\"http:\\\/\\\/matforge.org\"],\"url\":\"https:\\\/\\\/matforge.org\\\/author\\\/elena-markovska\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Stabilisierung von advektionsdominierten Problemen","description":"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/","og_locale":"de_DE","og_type":"article","og_title":"Stabilisierung von advektionsdominierten Problemen","og_description":"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.","og_url":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/","og_site_name":"matforge.org","article_published_time":"2026-07-30T12:23:16+00:00","author":"Elena Markovska","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Elena Markovska","Gesch\u00e4tzte Lesezeit":"18\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/#article","isPartOf":{"@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/"},"author":{"name":"Elena Markovska","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"headline":"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung","datePublished":"2026-07-30T12:23:16+00:00","mainEntityOfPage":{"@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/"},"wordCount":3314,"commentCount":0,"keywords":["Advektion","Computational-Fluid-Dynamics","fiipy","finite volume method","numerical methods","PDE","supg"],"articleSection":["Simulation & amp; Modellierungsprojekte"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/","url":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/","name":"Stabilisierung von advektionsdominierten Problemen","isPartOf":{"@id":"https:\/\/matforge.org\/#website"},"datePublished":"2026-07-30T12:23:16+00:00","author":{"@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da"},"description":"Vergleichen Sie Central-, Upwind-, High-Resolution- und SUPG-Schemata f\u00fcr advektionsdominierte PDEs unter Verwendung von Peclet-, CFL- und Konvergenzanalysen.","breadcrumb":{"@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/matforge.org\/de\/advection-dominated-problems-supg-stabilization\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/matforge.org\/de\/"},{"@type":"ListItem","position":2,"name":"Advection-dominierte Probleme: Upwind-Schemata und SUPG-Stabilisierung"}]},{"@type":"WebSite","@id":"https:\/\/matforge.org\/#website","url":"https:\/\/matforge.org\/","name":"matforge.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/matforge.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/matforge.org\/#\/schema\/person\/980162bb5de46742daece973661d93da","name":"Elena Markovska","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2de4e35b6581d7d8a839335156c6b5834cfaa0aef537a1c837e882dc57eea1e7?s=96&d=mm&r=g","caption":"Elena Markovska"},"sameAs":["http:\/\/matforge.org"],"url":"https:\/\/matforge.org\/author\/elena-markovska\/"}]}},"_links":{"self":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/comments?post=905"}],"version-history":[{"count":1,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/905\/revisions"}],"predecessor-version":[{"id":1003,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/posts\/905\/revisions\/1003"}],"wp:attachment":[{"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/media?parent=905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/categories?post=905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/matforge.org\/wp-json\/wp\/v2\/tags?post=905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}