Ausgehend von meiner vorherigen Frage versuche ich, Randbedingungen auf dieses ungleichmäßige endliche Volumen-Netz anzuwenden.
Ich möchte eine Robin-Typ-Randbedingung auf die lhs der Domäne anwenden ( , so dass
wobei der Grenzwert ist; sind an der Grenze, Advektion bzw. Diffusion definierte Koeffizienten; , ist die Ableitung vondie an der Grenze ausgewertet wird, undist die Variable, nach der wir lösen.
Mögliche Ansätze
Ich kann mir zwei Möglichkeiten vorstellen, um diese Randbedingung auf dem obigen endlichen Volumen-Mesh zu implementieren:
Ein Geisterzellen-Ansatz.
Schreiben Sie als endlichen Unterschied einschließlich einer Geisterzelle. σ L = d u 1 - u 0
A. Verwenden Sie dann die lineare Interpolation mit den Punkten und x 1 , um den Zwischenwert u ( x L ) zu ermitteln .
B. Alternativ können Sie durch Mitteln über die Zellen ermitteln. U (
In beiden Fällen kann die Abhängigkeit von der Geisterzelle auf übliche Weise beseitigt werden (durch Einsetzen in die endliche Volumengleichung).
Ein Extrapolationsansatz.
Passen Sie eine lineare (oder quadratische) Funktion an an, indem Sie die Werte an den Punkten x 1 , x 2 ( x 3 ) verwenden. Dies liefert den Wert bei u ( x L ) . Die lineare (oder quadratische) Funktion kann dann differenziert werden, um einen Ausdruck für den Wert der Ableitung u x ( x L ) an der Grenze zu finden. Dieser Ansatz verwendet keine Geisterzelle.
Fragen
- Welcher Ansatz der drei (1A, 1B oder 2) ist "Standard" oder würden Sie empfehlen?
- Welcher Ansatz führt den kleinsten Fehler ein oder ist der stabilste?
- Ich denke, ich kann den Geisterzellenansatz selbst implementieren. Wie kann der Extrapolationsansatz implementiert werden? Hat dieser Ansatz einen Namen?
- Gibt es einen Stabilitätsunterschied zwischen der Anpassung einer linearen Funktion oder einer quadratischen Gleichung?
Spezifische Gleichung
Ich möchte diese Grenze auf die Advektions-Diffusions-Gleichung (in Erhaltungsform) mit nichtlinearem Quellterm anwenden.
Diskretisieren dieser Gleichung auf dem obigen Netz unter Verwendung von thgr; -Methode ergibt
Für den Grenzpunkt ( ) bevorzuge ich jedoch ein vollständig implizites Schema ( θ = 1) ), um die Komplexität zu verringern.
Beachten Sie den Geisterpunkt durch Anwenden der Randbedingung entfernt wird.
Die Koeffizienten haben die Definitionen,
All die " " -Variablen sind wie im obigen Diagramm definiert. Schließlich Δ t , die der Zeitschritt (istNBDies ist einvereinfachterFall mit konstantem a und Koeffizienten inPraxis des " r “ Koeffizienten aus diesem Grunde etwas komplizierter sind).
quelle
Antworten:
Dies ist eher eine allgemeine Bemerkung zu FVM als eine Antwort auf die konkreten Fragen. Und die Botschaft ist, dass eine solche ad-hoc-Diskretisierung der Randbedingungen nicht erforderlich sein sollte.
Anders als bei FE- oder FD-Methoden, bei denen der Ausgangspunkt ein diskreter Ansatz für die Lösung ist, lässt der FVM-Ansatz die Lösung (zunächst) unberührt, mittelt jedoch auf einer Segmentierung der Domäne. Die Diskretisierung der Lösung kommt nur dann zum Tragen, wenn das erhaltene Gleichungssystem in ein algebraisches Gleichungssystem umgewandelt wird, indem die Flüsse über die Grenzflächen angenähert werden.
In diesem Sinne rate ich angesichts der Randbedingungen, möglichst lange an der stetigen Form der Lösung festzuhalten und die diskreten Näherungen erst ganz am Ende einzuführen.
But now, to turn this into an algebraic equation, one typically assumes that on cellCi the function u is constant in space, i.e. u(t,x)|Ci=ui(t) . Thus, having associated u(xi)≈ui , one can express ux|hi at the cell boarders via the difference quotient in ui and ui+1 . To express u at the cell boarders one can use interpolation (i.e. central differences or upwind schemes).
What to do at the boundary? In the example, it is all about approximating(−au+dux)|x=0 , no matter what has been done to u so far.
Givenu|x=0=gD one can introduce a ghost cell and the condition that an interpolant between u0 and u1 is equal to gD at the boarder.
Givenux|x=0=gN one can introduce a ghost cell and the condition that an approximation to the derivative between u0 and u1 matches gN at the boarder
If the flux itself is prescribed:(−au+dux)|x=0=gR , there is no need for a discretization.
However, I am not sure, what to do in the case that there are Robin type bc's that do not match the flux directly. This, will need some regularization because of the discontinuity of the advection and diffusion parameters.
===> Some personal thoughts on FVM <===
quelle