Legacy display Course
This is an archived course. The content might be broken.
Ingenieurmathematik (Master)
Veranstaltungsnummern: 734001003 (Vorlesung) und 734001004 (Übungen).
Vorlesung: Martin Lenz, Übungen: Sascha Tölkes, Constantin Hageböck
Skript
aktuelle Version vom 04.09.2012
Termine
Vorlesung | Mittwoch, 10 - 12 Uhr | Hörsaal XV, Nußallee 17 |
Donnerstag, 10 - 12 Uhr | Hörsaal XVII, Nußallee 17 | |
Übung | Mittwoch, 12 - 14 Uhr (14tägig) | CIP-Pool, Nußallee 17 |
Voraussichtliche Übungstermine
04.04.2012 |
11.04.2012 |
25.04.2012 |
16.05.2012 |
13.06.2012 |
04.07.2012 |
04.04.2012, Programmieraufgabe I: Eindimensionale Datenfilterung
Implementieren Sie das in der Vorlesung beschriebene Finite-Differenzen-Verfahren zur Datenglättung in MATLAB. Experimentieren Sie mit dem Parameter β.
Wenn Sie die Werte aus der Datei filter1d.csv mittels
[x,f] = textread('filter1d.csv','%f,%f');
verwenden (die Werte sind hier bereits auf einem äquidistanten Gitter
gegeben) und β=10-6 wählen, sollten Sie den Graphen
filter1d.pdf erhalten.
Beispiellösung: filter1d.m.
11.04.2012, Programmieraufgabe II: Bildglättung
Implementieren Sie das in der Vorlesung beschriebene Finite-Differenzen-Verfahren zur 2D-Bildglättung in MATLAB. Überlegen Sie sich hierzu eine Nummerierung der Unbekannten und stellen Sie die Matrizen für den Differentialoperator auf.
Als Eingabe verwenden Sie das Bild filter2d.pgm mittels
f = imread('filter2d.pgm');
Wenn Sie β=10-4 wählen, sollten Sie das Bild
filter2d_result.pgm erhalten.
Beispiellösung: filter2d.m.
25.04.2012, Programmieraufgabe III: Bildglättung 2
Implementieren Sie das TV-L2-Verfahren und wenden Sie dies auf das Bild aus Aufgabe II sowie auf das Testbild an. Experimentieren Sie mit den Parametern. Beachten Sie auch die Hilfestellungen im Skript (Schema 1.29, Bemerkung 1.30, Bemerkung 1.31).
Beachten Sie auch die Hinweise zu dieser Aufgabe, wobei Sie den letzten Punkt (den Vergleich der Ergebnisse für die beiden Energien) vorerst weglassen können.
Da der Algorithmus in MATLAB doch recht langsam ist, hier noch das Luftbild
und das Testbild in kleinerer Auflösung.
Beispiele:
TV-L2 (kleines Luftbild),
β=0.25, τ=0.2, Abbruch bei <10-4,
Dauer 10s, 2090 Iterationen.
TV-L2 (großes Luftbild),
β=0.35, τ=0.2, Abbruch bei <10-3,
Dauer 58s, 661 Iterationen.
16.05.2012, Programmieraufgabe IV: Finite Elemente
Implemetieren Sie das in der Vorlesung besprochene 2D Finite-Elemente-Verfahren. Wenden Sie es auf die Beispieldaten an, die auf einem Dreiecksgitter gegeben sind. Zum Laden der Daten verwenden und kommentieren Sie den Beispielcode.
Beachten Sie auch den Hinweis zur Assemblierung von Matrizen am Ende von Kapitel 2.5 im Skript.
Beispiellösung: FE.m.
13.06.2012, Programmieraufgabe V: Elastizität (Steifigkeits- und Massematrix)
Leiten Sie (genau wie in der Vorlesung für das skalare Problem) die Steifigkeitsmatrix zu
her. Verwenden Sie als Basis für den Finite-Elemente-Raum
wobei
Tipp: Teilen sie die Matrix in vier Blöcke auf,
,
wobei (Mkl)ij der Eintrag der Matrix für die Basisfunktionen
ψik und ψjl
ist.
Danach implementieren Sie Steifigkeits- und Massematrix in Matlab.
Zur Überprüfung Ihrer Ergebnisse verwenden Sie diesen Code. Als Ergebnis sollten Sie L für die Steifigkeitsmatrix und M für die Massematrix erhalten. Sie können die Matrizen mittels
vergleichL = dlmread('L.txt')
bzw. vergleichM = dlmread('M.txt')
einlesen.
04.07.2012, Programmieraufgabe VI: Fortsetzung Elastizität
Schreiben Sie ein Programm, das für eine in Form einer Triangulierung vorgegebene Geometrie zu gegebenen Randwerten die Verschiebung berechnet und visualisiert.
Zu den Randwerten:
- Dirichlet-Randwerte werden wie in den vorigen Programmen auch gehandhabt.
Falls homogene Dirichlet-Randwerte vorkommen, listet die Datei
name.DichichletBC
die Nummern der betroffenen Knoten auf. - Nicht-Null-Neumann-Randwerte (Oberflächenkräfte) fließen in
die rechte Seite durch das Integral über Γ1 ein. Die Datei
name.nonzeroNeumanBC
enthält pro Kantenstück ein Zeile, in der die ersten beiden Spalten die Indizes des Start- und Endpunktespunktes enthalten und die dritte und vierte Spalte den x- und y-Wert von g.
- An einem Block wird von beiden seiten gezogen. Vergleichen Sie das Ergebnis mit der
analytischen Lösung aus der Vorlesung.
Dateien: Gitter, Dirichlet-Randwerte, Neumann-Randwerte.
Bemerkung: Das Ergebnis aus der Vorlesung erhalten Sie nur für λ=0 und diesen Dirichlet-Randwerten. Können Sie erklären warum? -
Berechnen Sie die Deformation einer zweidimendionalen "Erdkugel" aufgrund eines Hochdruckgebiets. Die Erde werde als Kreis mit Radius 6.371E6 m modelliert. Als Randwerte nehmen wir einen Druck (d.h. eine Kraftdichte) von 1500 Pa auf einen Kreisbogen der Länge 2.778E6 m, von 0 Pa auf dem Rest der Erdoberfläche an und setzen (zur Vermeidung von Verschiebung und schiefsymmetrischem Anteil) an einigen Punkten im Erdmittelpunkt die Verschiebung auf Null fest.
Die Lamé-Parameter der Erde werden für Schale, inneren und äußeren Kern jeweils als konstant als angenommen:
- Für die Schale (6.371E6 m bis 1.720E6 m) als λ = 13.4e11 Pa und μ = 1.1e11 Pa.
- Für den äußeren Kern (1.720E6 m bis 6.371E5 m) als λ = 12.7e11 Pa und
μ = 1 Pa.
Für einen flüssigen äußeren Kern wäre μ = 0, bei der Modellierung als elastischer Körper muss μ jedoch positiv sein, wird aber sehr klein gewählt. - Für den inneren Kern (6.371E5m bis 0m) als λ = 13.4e11 Pa und μ = 1.1e11 Pa.
Eine geeignete Triangulierung, Randwerte und Materialparameter können Sie hier herunterladen:
Gitter, Dirichlet-Randwerte, Neumann-Randwerte, MaterialparameterZeichnen Sie zur Visualisierung eine deformierte Erde, wobei Sie die Verschiebung um den Faktor 2E7 überhöhen.
Interpretieren Sie die unterschiedliche Deformation von Mantel, innerem und äußerem Kern. Wie groß ist die Verschiebung (in korrekten Einheiten!) in der Mitte des Hochdruckgebiets?
Beachten sie, dass λ und μ zwar auf den einzelnen Dreiecken konstant sind, aber von Dreieck zu Dreieck verschieden sein können.
Beispiellösung: Aufstellung von Steifigkeits- und Massematrizen, Lösung des Elastizitätsproblems
Außerdem: Visualisiertes Ergebnis zu Beispiel 2. Die Verschiebung beträgt zwischen ca. -9cm und ca. 8cm.
Zusatzaufgabe: Randelemente
Progammieren Sie die in der Vorlesung besprochene Randelementemethode. Berechnen Sie
zunächst die Werte von u auf dem Rand des Gebietes. Berechnen Sie dann die auf einen
sich an der Stelle (15,-5) befindenden Körper wirkende Gravitation. Das
Gitter von Ω ist im üblichen Format (ein 2-d Gitter von
Ω. Sie benutzen hiervon nur die Liste der Punkte). Der Rand zusammen mit der
Normalenableitung von u ist in folgendem Format gegeben:
erste Spalte = Nummer der ersten Punktes des Kantensegments,
zweite Spalte = Nummer der zweiten Punktes des Kantensegments
dritte Spalte = Wert der Normalenableitung auf dem Kantensegment
Beispiellösung: bem.m