Dr. Axel Klawonn und Dr. Frank Wübbeling WS 98/99

Übungen zum Praktikum “Wissenschaftliches Rechnen”

Übungsblatt 1

Triangulierung

Zur Durchführung der Methode der Finiten Elemente muß zuerst das Grundgebiet in kleine Dreiecke oder Vierecke eingeteilt werden. Diese sollten möglichst gleich groß und wenig entartet sein.

Aufgabe 1:

Schreibe ein Programm, das das Rechteck [−1, 1]^{2} in möglichst gleich große, nicht entartete Dreiecke unterteilt. Die Koordinaten der Dreiecke sollen wie im Seminar besprochen abgespeichert werden, d.h. die Datei rechteck.co soll die Knotenkoordinaten und rechteck.no soll die globalen Knotennummern für jedes Dreieck enthalten. rechteck.co hat also zwei reelle Zahlen pro Zeile, rechteck.no hat eine ganze Zahl pro Zeile. Die Knoten sind beginnend mit 1 durchzunumerieren. Auf den SUN-Rechnern kann anschliessend das Programm /u/wuebbel/lehre/pub/makefig rechteck gestartet werden, das die Triangulierung anzeigt.

Aufgabe 2:

Schreibe ein Programm, das einen Kreis vom Radius 1 mit möglichst gleich großen Dreiecken füllt – natürlich nicht vollständig. Eine einfache, nicht optimale Möglichkeit, das zu tun, ist die folgende:

1. Wir teilen den Kreis ein in N gleich große Kreisringe. Die Fläche der Kreisringe

beträgt

π(r^{2} − (r − h)^{2}) = π(2rh − h^{2}),

wobei r der großere Radius des Kreisrings ist und h = 1/N. Unter Vernachlässigung des Summanden h^{2} steigt die Fläche damit linear mit r. Also muß auch die Anzahl der Dreiecke, in die jeder Kreisring aufgeteilt wird, linear mit r wachsen. Nehmen wir an, im innersten Ring liegen M Dreiecke, dann liegen im k. Ring ungefähr kM Dreiecke.

2. Wir markieren auf dem Kreis mit Radius kh kM Punkte. Die Markierung beginne jeweils in Polarkoordinaten bei φ = 0.

3. Im innersten Kreisring markieren wir M Dreiecke.

4. Im zweiten Kreisring ziehen wir zunächst eine Linie bei φ = 0. Anschließend gehen wir im Uhrzeigersinn durch den Kreisring. Jedesmal, wenn wir auf einen markierten Punkt treffen, ziehen wir eine Linie zum letzten markierten Punkt auf der gegenüberliegenden Seite des Kreisrings (siehe Zeichnungen).

5. Wir verbinden die Linien zu Dreiecken, und machen das für alle Kreisringe.

Das Ergebnis soll in die Dateien kreis.no und kreis.co geschrieben und kann durch Aufruf von /u/wuebbel/lehre/pub/makefig kreis überprüft werden.

Aufgabe 3:

Durch eine kleine Änderung können die Ergebnisse von Aufgabe 2 erheblich verbessert werden. Wie?