Anwenden von Dirichlet-Randbedingungen auf die Poisson-Gleichung mit der Methode des endlichen Volumens

10

Ich würde gerne wissen, wie Dirichlet-Bedingungen normalerweise angewendet werden, wenn die Methode des endlichen Volumens auf einem zellzentrierten ungleichmäßigen Gitter angewendet wird.

Linke Seite des zellzentrierten Gitters.

Meine aktuelle Implementierung legt einfach die Randbedingung fest, dass ich den Wert der ersten Zelle festlege.

ϕ1=gD(xL)

Dabei ist die Lösungsvariable und der Dirichlet-Randbedingungswert an der lhs der Domäne ( NB ). Dies ist jedoch nicht möglich, da die Randbedingung sollte den Wert der Zelle fixiert Gesichts nicht der Wert der Zelle selbst. Was ich wirklich anwenden sollte ist,g D ( x L ) x Lx 1 / 2ϕgD(xL) xLx1/2

ϕL=gD(xL)

Lösen wir zum Beispiel die Poisson-Gleichung:

0=(ϕx)x+ρ(x)

mit Anfangsbedingung und Randbedingungen,

ρ=1gD(xL)=0gN(xR)=0

(wobei eine Neumann-Randbedingung auf der rechten Seite ist).gN(xR)

Numerische Lösung der Poisson-Gleichung

Beachten Sie, wie die numerische Lösung den Wert der auf den Randbedingungswert ( ) auf der linken Seite festgelegt hat. Dies hat zur Folge, dass die gesamte Lösung nach oben verschoben wird. Der Effekt kann durch die Verwendung einer großen Anzahl von Maschenpunkten minimiert werden, dies ist jedoch keine gute Lösung für das Problem.gD(xL)=0

Frage

Wie werden Dirichlet-Randbedingungen bei Verwendung der Finite-Volumen-Methode angewendet? Ich gehe davon aus, dass ich den Wert von durch Interpolation oder Extrapolation mit (einem Geisterpunkt) oder so , dass die gerade Linie, die durch diese Punkte verläuft, den gewünschten Wert bei . Können Sie eine Anleitung oder ein Beispiel dafür geben, wie dies für ein ungleichmäßiges zellzentriertes Netz getan werden kann?ϕ 0 ϕ 2 x L.ϕ1ϕ0ϕ2xL


Aktualisieren

Hier ist mein Versuch, einen von Ihnen vorgeschlagenen Ghost-Cell-Ansatz zu verwenden. Sieht er vernünftig aus?

Die Gleichung für Zelle lautet (wobei den Fluss von ),F ϕΩ1Fϕ

F3/2FL=ρ¯

Wir müssen schreiben in Bezug auf die Randbedingung eine Geisterzelle mit , Ω 0FLΩ0

FL=ϕ1ϕ0h[1]

Aber letztendlich müssen wir den Term aus der Gleichung . Dazu schreiben wir eine zweite Gleichung, die die lineare Interpolation vom Zentrum der Zelle zum Zentrum der Zelle . Praktischerweise verläuft diese Linie durch , so dass die Dirichlet-Bedingungen auf diese Weise in die Diskretion da der Wert an diesem Punkt nur ).Ω 0 Ω 1 x L g D ( x L )ϕ0Ω0Ω1xLgD(xL)

gD(xL)=h12hϕ0+h02hϕ1[2]

Wenn wir die Gleichungen 1 und 2 kombinieren, können wir eliminieren und einen Ausdruck für in Form von und finden.ϕ0FLϕ1gD(xL)

FL=1h(ϕ11h1(2gDhh1ϕ1))

Unter der Annahme, dass wir das Volumen der Geisterzelle frei wählen können, können wir , um zu geben,h0h1

FL=2gDh1+2ϕ1h

Dies kann weiter vereinfacht werden, denn wenn die Zellen und das gleiche Volumen haben, können wir schließlich geben,Ω0Ω1hh1

FL=2h1(ϕ1gD)

Dieser Ansatz hat jedoch die Definition wiederhergestellt, die instabil ist, sodass ich nicht sicher bin, wie ich vorgehen soll. Habe ich Ihren Rat falsch interpretiert (@Jan)? Das Seltsame ist, dass es zu funktionieren scheint, siehe unten,

Siehe unten, es funktioniert,

Aktualisierte Berechnung, neuer Ansatz stimmt sehr gut mit analytischem Ansatz überein.

Boyfarrell
quelle
Richtig, Ihre Ableitung ist korrekt. Und es ähnelt wirklich dem, was ich in meiner Antwort (**) genannt habe. Und damit hat es sich als stabil erwiesen. Ich werde meiner Antwort einen Kommentar hinzufügen.
Januar
Als allgemeine Bemerkung sind Stabilitätsergebnisse typischerweise ausreichende Bedingungen. Das heißt, wenn ein Schema in einigen Situationen die Bedingungen nicht erfüllt, kann es durchaus zu zuverlässigen Ergebnissen führen.
Januar

Antworten:

3

Bei der Stabilitätsanalyse von FVM-Diskretisierungen für elliptische Probleme mit Dirichlet BC wird zentral davon ausgegangen, dass die inneren Zellen, in denen Sie die PDE , keinen Schnittpunkt mit der Grenze haben, dh wenn als Menge in wenn Ihre Domain , vgl. z. B. das Buch von [ Grossmann & Roos , p. 92]

Ω¯iΓD=0()
Rn1ΩRn

Wenn Sie also in Ihrem Setup den Ansatz ist instabil, dies steht nicht im Widerspruch zu bekannten Stabilitätsergebnissen. BEARBEITEN : Unter Verwendung einer Geisterzelle und linearer Interpolation in sie erhält man für eine bestimmte Wahl von Volumen und Abstand als Fluss. Somit ist in der Tat ein stabiles Schema.

(dϕdx)1/2=2h1(ϕ1ϕ1/2)()
()()

Stabilität und Konvergenz (erster Ordnung in der diskreten Max-Norm) für das Poisson-Problem wurde von Grossmann & Roos für Gitter mit unterschiedlichen Grenzzellen mit ihren "Zentren" an der tatsächlichen Grenze nachgewiesen, wie in meiner Zeichnung für einen 1D-Fall dargestellt. Geben Sie hier die Bildbeschreibung ein

Hier wird der Differentialquotient an der Schnittstelle auf einfache Weise angenähert.

Ich würde sagen, dass Geisterzellen aus zwei Gründen der übliche Ansatz sind.

  • Sie ahmen die in meiner Zeichnung beschriebene stabile Situation nach, jedoch mit einer interpolierten Randbedingung
  • Sie sind einfach an der physischen Grenze befestigt. Man kann also eine Triangulation der Domäne verwenden, was ebenfalls vorteilhaft ist, da man oft auch natürliche BCs hat, die direkt an die Schnittstelle auferlegt werden [ Grossmann & Roos , p. 101].

Daher schlage ich vor, dass Sie Geisterzellen für die Dirichlet-Grenze verwenden. In Ihrem Beispiel wird dies zu Ihrem System hinzufügen und die Bedingung, dass eine Interpolation zwischen , und möglicherweise anderen an der Grenze gleich .ϕ 0 ϕ 1 g D.ϕ0ϕ0ϕ1gD

Jan.
quelle
Danke Jan, das ist wirklich interessant. Das würde sicherlich meine Erfahrung mit bestimmten instabilen Ansätzen nachahmen. Habe ich recht, wenn ich einen Geisterzellenansatz verwende, muss ich die letzte Zelle nicht so verschieben, dass sich das Zentrum an der Grenze befindet? Ich habe auch ein Problem mit dem Konzept der Verschiebung der Grenzzelle; Bedeutet das nicht, dass diese Zelle kein Volumen hat?
Boyfarrell
Ja, wenn Sie eine Geisterzelle einführen, müssen Sie das Raster Ihres Beispielbilds nicht ändern. In Bezug auf die Verschiebung, die Sie erwähnt haben, um die Situation meiner Zeichnung festzustellen. Nein, es ist keine entartete Zelle! Der Versatz tatsächlich in die Gleichungen ein, als dieser Streifen nicht in den Integralen erscheint, z. B. auf der rechten Seite. hΓ
Januar
Es wäre interessant zu sehen, was als passiert , da diese Grenze der Diskretisierungsansatz ist (**). (Ich habe angenommen, Sie verwenden die lineare Interpolation zwischen und .)ϕ 1 ϕ 0hΓ0ϕ1ϕ0
Januar
Kann mit diesem Ansatz die Abhängigkeit vom Wert der Geisterzelle beseitigt werden? Ich denke, es darf nicht in die Gleichungen aufgenommen werden, sondern es wurde nur ein Werkzeug zum Schreiben der Randbedingungen verwendet. In Bezug auf die "verschobene" Grenzzelle. Es sieht so aus, als würde dieser Punkt die endliche Differenz anstelle der Methode des endlichen Volumens verwenden. Wäre das richtig?
Boyfarrell
1
OK ich verstehe! Vielen Dank. Es gibt einen Tippfehler. im 2. Absatz "Wenn also in Ihrem Setup der Ansatz [Gl.] instabil ist, ist dies kein Widerspruch zu bekannten Stabilitätsergebnissen." Das "Nein" sollte "in" sein . Dies dreht die Bedeutung des Satzes um und bedeutet das Gegenteil von dem, was Sie wollen (glaube ich)!
Boyfarrell
3

Ihr "geradliniger" Ansatz würde bedeuten, dass , wobei der Ort der Grenze und die Orte der Orte sind wo du das definierst . Dies bedeutet, dass Sie in Bezug auf eliminieren können , genauso wie Sie in Ihrem ersten Ansatz sofort eliminiert haben, indem Sie es auf Null gesetzt haben.x0xiϕiϕ1ϕ2ϕ1ϕ1ϕ2ϕ1x2x1(x1x0)=0x0xiϕiϕ1ϕ2ϕ1

Was Sie hier finden, ist, warum endliche Volumina nicht häufig für die elliptischen Gleichungen verwendet werden, für die man Dirichlet-Bedingungen aufstellt. Sie werden für Naturschutzgesetze verwendet, bei denen die natürlicheren Bedingungen in Form von Flussmitteln angegeben werden.

Wolfgang Bangerth
quelle
3

Nehmen wir an, Ihre endliche Volumenform der Poisson-Gleichung kann als Natürlich können Sie die übliche Näherung schreiben Es gibt einige Feinheiten im Zusammenhang mit ungleichmäßigen Gittern, die ich hier ignoriere.

d2ϕdx2=f
(dϕdx)3/2(dϕdx)1/2=x1/2x3/2fdx
(dϕdx)3/2=ϕ2ϕ1h+

Nun geht es darum, wie Sie so approximieren können, dass Sie das bc . Eine Möglichkeit besteht darin, Ihre Näherungsschablone im Vergleich zu den üblichen Schablonen so zu ändern, dass sie die Punkte , und . Wenn mein Gedächtnis mir richtig dient, ist diese Annäherung (unter der Annahme eines einheitlichen Gitters mit dem Abstand , also müssen Sie dies erweitern) (dϕ/dx)1/2ϕ1/2x1/2x1x2h

(dϕdx)1/2=1h(13ϕ2+3ϕ183ϕ1/2)
Dies sollte jedoch überprüft werden. In diese Näherung, die genau zweiter Ordnung ist, können Sie Ihr bc einbeziehen. Natürlich wäre eine noch einfachere und genauere Näherung erster Ordnung Auf diese Weise wird die Dirichlet-Randbedingung nur "schwach" erzwungen (dh durch einen Fluss). Wie bereits von Wolfgang kommentiert, ist dies einer der Gründe, warum Finite-Volumen-Methoden für elliptische Probleme weniger verwendet werden als Finite-Elemente-Methoden.
(dϕdx)1/2=2h1(ϕ1ϕ1/2)

Eine Sache, die ebenfalls überprüft werden muss, ist natürlich die Stabilität Ihrer Diskretisierung mit der Näherung zweiter Ordnung an der Grenze. Ich weiß nicht, ob es in Kombination mit einer zentrierten Näherung zweiter Ordnung im Innenraum stabil sein wird. Eine Matrixstabilitätsanalyse wird Ihnen sicher sagen. (Ich bin mir ziemlich sicher, dass die Annäherung erster Ordnung an der Grenze stabil sein wird.)

Sie erwähnen die Möglichkeit, Geisterpunkte zu verwenden. Dies führt zu dem Problem, dass Sie vom Inneren in den Geisterpunkt extrapolieren und dabei das bc verwenden müssen. Ich vermute, habe es aber nicht "bewiesen", dass zumindest einige Geisterpunktbehandlungen der Verwendung des oben beschriebenen Ansatzes entsprechen.

Hoffe das hilft ein bisschen.

Brian Zatapatique
quelle
Hallo Brian. Ich dachte nicht, dass es möglich wäre, Dirichlet-Randbedingungen unter Verwendung der Flussmittelform (dh schwach) anzuwenden. Tatsächlich habe ich diese Frage vor einigen Monaten gestellt: scicomp.stackexchange.com/questions/7777/… Ich habe damals versucht, so etwas zu implementieren , aber aus irgendeinem Grund war die Implementierung instabil und immer fehlgeschlagen. Kennen Sie eine Referenz, in der Dirichlet-Bedingungen auf die Poisson-Gleichung angewendet werden ? Ich bin interessiert zu wissen, was Standard ist . Vielleicht wird dies nicht für elliptische Gleichungen gemacht?
Boyfarrell
Ich kenne keinen Standard, kann mir aber nicht vorstellen, dass alle derartigen Implementierungen instabil sind. Haben Sie die Matrixanalyse ausprobiert? In diesem Fall sollte es sehr einfach sein. Menschen lösen die Navier-Stokes-Gleichungen mit Geisterpunktbehandlungen und Behandlungen wie der oben beschriebenen. (Natürlich dominieren dort viskose Effekte nicht so stark, dass Sie die Poisson-Gleichung als gutes Modell betrachten können.) Vielleicht helfen diese Referenzen: ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/ … Und nas.nasa.gov/assets/pdf/techreports/1997/nas-97-011.pdf
Brian Zatapatique
Hallo Brian. Nein, ich habe keine Matrixanalyse versucht. Um ehrlich zu sein, bin ich mir nicht sicher, wie ich das machen soll. Ich werde nächste Woche Zeit haben, dieses Problem erneut zu untersuchen, damit ich dann eine neue Frage stellen kann!
Boyfarrell
Mein Verständnis ist auch, dass die (quadratische) Geisterpunkt-Extrapolation der klassischen Shortley-Weller- Finite-Differenzen- Diskretisierung für unregelmäßige (gekrümmte) Dirichlet-Randbedingungen entspricht, z. B. wie auf Seite 74 der numerischen Lösung partieller Differentialgleichungen nach Morton und Meyers (2.) beschrieben Auflage). (Die lineare Extrapolationsversion entspricht der einfacheren Methode von Gibou et al. Sciencedirect.com/science/article/pii/S0021999101969773 ) Außerdem: Sowohl lineare als auch quadratische Extrapolanten ergeben genaue Lösungen 2. Ordnung, aber nur lineare Gradienten 1. Ordnung.
Batty