TU Berlin Fakultät II
Institut für Mathematik
     

Arbeitsgruppe Geometrie

       

  

Geometry Group

Members

Projects


Lehre
Verlaufspläne:
  Bachelor
  Diplom
Vergangene Semester

Seminare

Images, Videos, and Games

Virtual Math Labs

Software

Contact



      

Mathematische Visualisierung II (Sommer 2012)

Zurück zur Seite der Veranstaltung...

Blatt 3 (Laplace Operator und Poisson Problem)

Das Ziel dieser Übung soll es sein, ein Plugin zu schreiben mit dem man die Poisson-Gleichung für eine beliebige Funktion auf der Fläche lösen kann. Diskret reduziert sich das Problem auf das Lösen eines dünn besetzten linearen Gleichungssystems. Wir brauchen also ein vernünftiges Paket für lineare Algebra, das dünn besetzte Matrizen handhaben kann. Dafür hat sich Parallel Colt bewährt.

Eine Implementation das diskreten Laplace Operators findet ihr in meinem Projekt im Repository der Veranstaltung. Damit die Utility-Klasse richtig funktioniert, müssen noch die nötigen Adapter hinzugefügt bzw.geschrieben werden.

Hausaufgaben:

  • Schreibt einen Adapter vom Typ CotanWeight auf den Kanten, der die Kotangenzgewichte liefert.
  • Schreibt ein ShrinkPanelPlugin mit dem ihr per Knopfdruck eine Random-Funktion (d.h. ein Adapter auf den Vertices) erzeugen könnt, deren Integral über die Fläche verschwindet.
  • Schreibt ein ShrinkPanelPlugin mit dem ihr die Poisson-Gleichung für diese Funktion lösen könnt.

Die Funktionen, sowohl die Random-Funktion als auch die Lösung, sollen über das VisualizationInterface angezeigt werden können.

Parallel Colt bietet mehrere Methoden zum Lösen linearer Gleichungssysteme an. Die wahrscheinlich schnellste ist erfahrungsgemäss, die Matrix zu zerlegen (LU, QR, Cholesky) und dann mit .solve zu lösen.

Hinweis: Konstante Funktionen liegen im Kern des Laplace Operators. Hier muss man sich etwas einfallen lassen.

Zusätzlich:

  • Anstatt eine Random-Funktion zu erzeugen, könnt ihr auch versuchen, eine Funktion auf der Fläche editierbar zu machen, d.h. die Funktionswerte einer auf der Fläche gegebenen Funktion (z.B. der Nullfunktion) in bestimmten Bereichen zu erhöhen oder abzusenken.
  • Die Poisson-Gleichung besitzt auch für vorgegebene Randwerte eine Lösung. Schreibt euer Plugin so um, dass die Werte auf markierten Vertices fix bleiben.

Felix Knöppel . 08.05.2012.