Kann mir jemand helfen, die Bücher über numerische Lösungen (Finite Differenzen und Crank-Nicolson-Methoden) von Poisson- und Diffusionsgleichungen zu finden, einschließlich Beispiele für unregelmäßige Geometrie, wie z. B. eine Domäne, die aus dem Bereich zwischen einem Rechteck und einem Kreis besteht (insbesondere Bücher oder Links) in diesem Fall zu MATLAB-Codebeispielen)?
pde
finite-difference
Liona
quelle
quelle
Antworten:
Der Schlüssel, damit ein Finite-Differenzen-Schema auf einer unregelmäßigen Geometrie funktioniert, besteht darin, eine 'Form'-Matrix mit Werten zu haben, die Punkte außerhalb, innerhalb und an der Grenze der Domäne bezeichnen. Angenommen, wir hatten eine Form wie diese:
Die wahre Domäne (in der sich alle Einträge ungleich Null der Matrix befinden) bildet ein nach unten gerichtetes Dreieck. Die Einsen stellen Punkte an der Grenze dar, während die Zweigen innere Punkte darstellen (normalerweise Unbekannte). Wir können Knotennummern wie folgt zuweisen:
Hier repräsentieren -1 die Grenzorte. Anschließend können Sie ein Finite-Differenzen-Schema für alle Einträge in der Matrix ausführen. Verwenden Sie jedoch eine if-Anweisung, um Ihr Schema nur auf den inneren Knoten (von 1 bis 12) auszuführen. Dieser Ansatz ist nicht der effizienteste Weg, aber er erledigt den Job ... Wenn Sie sich den Speicher leisten können, ist es möglicherweise sinnvoll, die (i, j) -Einträge aller inneren Knoten zu speichern und auszuführen eine for-Schleife nur auf diesen Knoten.
Um die Geometrie direkt zu erstellen, haben Sie zwei Möglichkeiten:
1. Erstellen Sie manuell ein Schwarzweißbild und importieren Sie es in Ihr Programm (am einfachsten zu implementieren, aber unmöglich, Ihre räumliche Auflösung dx oder dy zu verfeinern).
2. Schreiben Sie Code, der diskrete Darstellungen der gewünschten Grundformen für jede von Ihnen gewählte räumliche Auflösung erstellt (schwieriger zu implementieren, aber robuster für allgemeine Finite-Differenzen-Schemata mit räumlicher Auflösung dx oder dy).
Wenn Sie mehr darüber erfahren möchten, sollten Sie sich diese Videos
ansehen : NPTEL-Computergrafikkurs, Video 2 (Rastergrafiken)
NPTEL-Computergrafikkurs, Video 3 (Rastergrafiken, Fortsetzung)
Schauen Sie sich diese an und Lassen Sie mich wissen, ob dies Ihre Frage beantwortet.
quelle
Ich denke, ein gutes Buch am Anfang ist das Buch von Hackbusch:
http://books.google.com/books/about/Elliptic_differential_equations.html?id=-ZPc_JYJFHgC&redir_esc=y
Insbesondere ch. 4.8, "Diskretisierung in einem beliebigen Bereich" könnte für Sie interessant sein. Die deutsche Version dieses Buches kann kostenlos (legal) heruntergeladen werden. Ich weiß nicht, ob dies auch für die englische Version gilt.
quelle
Ich würde folgende Papiere vorschlagen:
Die Finite-Differenzen-Methode bei beliebigen unregelmäßigen Gittern und ihre Anwendung in der angewandten Mechanik - Liszka Orkisz
http://www.sciencedirect.com/science/article/pii/0045794980901492
Finite-Differenzen-Techniken für variable Gitter - Jensen
http://www.mendeley.com/research/finite-difference-techniques-variable-grids-7/
Lösen parabolischer und hyperbolischer Gleichungen mit der verallgemeinerten Finite-Differenzen-Methode - Benito Urena Gavete
http://www.sciencedirect.com/science/article/pii/S037704270600687X
Grundsätzlich beschreiben sie, wie Finite-Differenzen-Stencial für nicht strukturierte / unregelmäßige Netze erzeugt werden können. Ich kenne kein Buch, das sich eingehend mit diesem speziellen Thema befasst, aber Randall LeVeques Buch könnte etwas darüber enthalten. Hier ist der Link zur Webseite des Autors, die einige Matlab-M-Dateien für endliche Unterschiede enthält.
http://faculty.washington.edu/rjl/booksnotes.html
quelle
Ich denke, dass es wahrscheinlich eine Lösung ist, das Netz an die Grenze anzupassen und damit vom Standardquadratnetz des fdm abzuweichen, aber dennoch schwerwiegende Auswirkungen auf die Verwendung von Algorithmen hoher Ordnung hat - schwierig, wenn nicht unmöglich. Ich habe einen anderen Ansatz gewählt, nämlich das rechteckige Gitter über der gekrümmten Grenzgeometrie zu halten, Algorithmen hoher Ordnung zu erstellen, von der Grenze aus zu interpolieren, um die Werte "außerhalb" der Geometrie festzulegen, und das ist alles, was es gibt. Mit dieser Methode haben wir mit einem Algorithmus der Ordnung 8 Präzisionen in Testgeometrien konzentrischer Kugeln von ~ 1e-12 erreicht. Wenn Sie "Edwards, FDM Curved Boundary" googeln, finden Sie Verweise auf meine Arbeit.
quelle
Wäre es Ihnen möglich, eine adaptive Netzverfeinerung zu verwenden? Bei einer schnellen Google-Suche werden viele Links angezeigt. AMR wird beispielsweise in der Fluiddynamik verwendet, um den Fluss an komplizierten Formen vorbei zu modellieren. sowie viele andere Anwendungen. Hier ist ein Beispiel für die Lösung von Systemen hyperbolischer Erhaltungsgesetze, die bei der Sternentstehung auftreten. Die Geometrien sind sehr komplex. Der erste Teil des Papiers ist ein schönes Tutorial. http://www.mpa-garching.mpg.de/lectures/ADSEM/SS05_Homann.pdf
quelle
Diese Frage öffnet eine Dose Würmer, wie die Vielfalt der Antworten zeigt. Viele davon machen nützliche Punkte, aber eine wirklich hilfreiche Antwort würde Überlegungen berücksichtigen, die nicht angesprochen wurden. Abgesehen davon, dass die genaue Art der Geometrie genau festgelegt wird, wäre es wertvoll zu wissen, a) welche Genauigkeit benötigen Sie? b) Möchten Sie bei normalen quadratischen Maschen bleiben? c) Wie viel sind Sie bereit, in das Erlernen neuer Technologien zu investieren?
Regelmäßige quadratische Maschen machen es schwierig, die Grenze genau zu definieren, so dass viele Menschen zu konformen Maschen wechseln. Konforme Netze mit rechteckiger Konnektivität haben Schwierigkeiten, sich an sehr unregelmäßige Formen anzupassen, so dass viele Menschen unstrukturierte Netze (Dreiecke / Tetraheda oder allgemeiner) verwenden.
Für Daten ohne reguläre kartesische Struktur ist es schwierig, Derivate zu bewerten. Daher formulieren viele Menschen ihre Probleme in integraler Form neu, was zu Finite-Elemente / Finite-Volumen-Methoden führt (die eine hohe Ordnung erreichen können). Es gibt netzfreie Methoden. Es gibt Grenzelementmethoden. Es gibt eingetauchte Grenzmethoden. Es gibt Cut-Cell-Methoden. Oft gibt es eine Methode, die in einigen Anwendungen beliebt ist, in anderen jedoch aus meist historischen Gründen nicht.
Ich wünsche Ihnen viel Glück beim Navigieren in diesem Labyrinth, aber Sie müssen sich darüber im Klaren sein, dass es für Ihre Frage keine einheitliche Lösung gibt.
quelle