21
Tutorium Numerische Berechnungsverfahren Sommersemester 2009 Michael Schäfer Michael Kornhaas

Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

  • Upload
    vankhue

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Tutorium NumerischeBerechnungsverfahrenSommersemester 2009Michael SchäferMichael Kornhaas

Page 2: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Inhaltsverzeichnis

0 Einleitung 10.1 Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.2 Abgabe und Benotung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10.3 Termine und Fristen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1 Lösen linearer Gleichungssysteme (3 Punkte) 31.1 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Lösungsalgorithmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Gauß-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.2 Jacobi-Verfahren und Gauß-Seidel-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Abgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Berechnung von Wärmetransport mit derFinite-Volumen-Methode (5 Punkte) 72.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Mathematische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.5 Abgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Berechnung von Wärmetransport mit derFinite-Element-Methode (5 Punkte) 103.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Diskretisierung des Problemgebiets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.3 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.4 Mathematische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.6 Abgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Simulation dynamischer Vorgänge mit Zeitintegrationsverfahren (5 Punkte) 174.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2 Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.3 Mathematische Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.4 Lernziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.5 Abgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

i

Page 3: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

0 Einleitung

Das „Tutorium Numerische Berechnungsverfahren“ soll dem Studierenden die Möglichkeit bieten, die in der Vorlesung„Numerische Berechnungsverfahren“ erworbenen theoretischen Kenntnisse über Diskretisierungsmethoden und Lösungs-verfahren durch eigenes Programmieren der Algorithmen anzuwenden und zu vertiefen.

0.1 Allgemeine Informationen

Im Rahmen des Tutoriums sollen vier Aufgaben bearbeitet werden, in denen zusammen 18 Punkte zu erreichen sind.Zum Bestehen müssen mindestens 9 Punkte erreicht werden, wobei in 3 Aufgaben eine Mindestpunktzahl von jeweils 2Punkten erzielt werden muss.Die Aufgaben sollen in Zweiergruppen bearbeitet werden. Es kann jede beliebige Programmiersprache verwendet wer-den. Empfohlen werden jedoch matlab, Fortran oder C. Das Tutorium wird mit 4 Credit Points angerechnet.

Rechnerzugang: Es besteht die Möglichkeit, die Aufgaben im Multimediapool des FB Maschinenbau zu bearbeiten.Gegen ein Pfand erhält man dort einen Schlüssel sowie ein Benutzerkonto. Weitere Informationen finden sich unter:http://www.maschinenbau.tu-darmstadt.de/einrichtungen/multimediapool/multimediapool.php http://www.maschinenbau.tu-darmstadt.de/einrichtungen/multimediapool/multimediapool.php

Voraussetzungen: Die Vorlesung NUMERISCHE BERECHNUNGSVERFAHREN sollte bereits besucht worden sein oder tutori-umsbegleitend besucht werden. Grundlegende Kenntnisse einer Programmiersprache sind von Vorteil.

Informationen: Dipl.-Ing. Michael Kornhaas, Gebäude S4|10 (Dolivostraße 15), Raum 408, Tel. 06151 / 16-2650,[email protected]

Nützliche links:Fortran Tutorial:http://www.stanford.edu/class/me200c/tutorial_77/

Matlab Tutorial von Robert Wilke (pdf-download):http://www-ian.math.uni-magdeburg.de/home/mitkova/Numerik_II/MTut2-0.pdf

0.2 Abgabe und Benotung

Die Ergebnisse und der Quellcode (Listing) aller Aufgaben sollen in einem Ordner gesammelt abgegeben werden. DerProgrammcode soll zudem per E-Mail zugeschickt oder anderweitig in digitaler Form abgegeben werden. Es reichtnicht aus, nur das ausführbare Programm abzugeben. Die Ergebnisse sollen sowohl ausgedruckt als auch als pdf-, oderpostscript-Datei abgegeben werden. Es wird empfohlen, die Aufgaben zunächst einzeln und nach den unverbindlichenterminlichen Vorgaben abzugeben.Benotung: Die vergebene Note setzt sich aus der Bewertung der abgegebenen Ausarbeitungen (Quellcode, Ergebnisse)und einer „Rücksprache“ zusammen, in welcher der Lösungsweg anhand des eigenen Quellcodes erleutert werden soll.

0.3 Termine und Fristen

Termine:29. April 2009, 11:30 Uhr Organisatorisches, Vorstellen der 1. Aufgabe S4|10 Raum 414

6. Mai 2009, 11:30 Uhr Vorstellen der 2. Aufgabe S4|10 Raum 127. Mai 2009, 11:30 Uhr Vorstellen der 3. Aufgabe S4|10 Raum 117. Juni 2009, 11:30 Uhr Vorstellen der 4. Aufgabe S4|10 Raum 1

1

Page 4: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Sprechstunden: In den Wochen zwischen den oben angegebenen Terminen findet zur gleichen Zeit eine Sprechstun-de im Raum 412 statt. Terminänderungen werden rechtzeitig online bekanntgegeben.

Letzter Termin zur Anmeldung im Prüfungsamt ist der 8. Mai 2009.Letzter Abgabetermin: 17. Juli 2009

2

Page 5: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

1 Lösen linearer Gleichungssysteme (3 Punkte)

Ein wesentlicher Bestandteil eines Programms zur numerischen Lösung kontinuumsmechanischer Probleme (z. B. ausder Struktur– oder Strömungsmechanik) stellt der Löser für das algebraische Gleichungssystem, welches aus der Diskre-tisierung der beschreibenden Differentialgleichungen hervorgeht, dar. Die werwendeten Verfahren lassen sich prinzipiellin zwei Gruppen einteilen:

• direkte Verfahren und

• iterative Verfahren.

Beispiele für direkte Methoden sind die Gauß–Elimination und die LU–Zerlegung. Alle direkten Verfahren haben gemein-sam, dass nach einmaligen Durchlaufen des Lösungsalgorithmus die exakte Lösung des Gleichungssystems vorliegt. ImGegensatz dazu stehen iterative Verfahren wie beispielsweise das Jacobi–Verfahren, das Gauß–Seidel–Verfahren, die un-vollständige LU–Zerlegung oder das Verfahren der konjugierten Gradienten. Bei diesen Verfahren wird die Lösung mitjedem Durchlauf besser an die exakte Lösung angenähert. Dieser Vorgang wird solange wiederholt, bis eine gewünschteGenauigkeit erreicht ist. Weiterführende Informationen zu diesem Thema finden sich z. B. in:Michael Schäfer, Numerik im Maschinenbau, Springer Verlag,Michael Schäfer, Computational Engineering, Springer Verlag,Hans Rudolf Schwarz, Numerische Mathematik, Teubner-Verlag.

1.1 Aufgabenstellung

Für die Lösung aller weiteren Aufgaben wird ein Unterprogramm benötigt, mit dem die Lösung eines linearen Glei-chungssystems berechnet werden kann. Weil er allgemein bekannt sein sollte und einfach zu programmieren ist, soll imRahmen des Tutoriums aus der Gruppe der direkten Verfahren der Gauß-Algorithmus programmiert werden. Außerdemsoll ein weiteres Verfahren aus der Gruppe der iterativen Verfahren programmiert werden. Dabei ist freigestellt, welchesVerfahren programmiert wird (z.B. Gauß-Seidel-, Jacobi-, CG-Verfahren,...). In Abschnitt 1.2 wird der Gauß-Algorithmusund als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt.Es soll ein Programm geschrieben werden, das folgende drei Unterprogramme enthält:

1. Bereitstellung einer Matrix A und eines Vektors b der Dimensionen N × N , bzw. N .

2. Lösen des linearen Gleichungssystems Aφ = b. Übergabeparameter des Unterprogrammes sollen N ,A,b und φsein.

3. Ausgabe des Gleichungssystems und der Lösung.

Die ersten beiden Gleichungssysteme dienen zum Testen der Funktionalität des Gauß-Algorithmus, das 3. Gleichungssy-stem soll mit dem Gauß-Algorithmus berechnet, ausgegeben und die Lösung abgegeben werden. Das 4. Gleichungssystemsoll sowohl mit dem Gauß-Algorithmus als auch mit dem gewählten iterativen Verfahren berechnet und die Ergebnisseabgegeben werden.

1.

1 −1 11 1 −23 −4 −7

φ =

−290

⇒ φ =

34−1

2.

1.0 1.00 1.00 0.00−2.0 −2.00 2.00 3.33

1.0 −1.00 −1.00 0.000.0 2.50 3.00 −1.00

φ =

2.02.08.0

−11.0

⇒ φ =

5.0−2.0−1.0

3.0

3

Page 6: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

3.

0.7071 0. 0. −1. −0.8660 0. 0. 0. 0.0.7071 0. 1. 0. 0.5 0. 0. 0. 0.

0. 1. 0. 0. 0. −1. 0. 0. 0.0. 0. −1. 0. 0. 0. 0. 0. 0.0. 0. 0. 0. 0. 0. 1. 0. 0.70710. 0. 0. 1. 0. 0. 0. 0. −0.70710. 0. 0. 0. 0.8660 1. 0. −1. 0.0. 0. 0. 0. −0.5 0. −1. 0. 0.0. 0. 0. 0. 0. 0. 0. 1. 0.7071

φ =

1000−1000

0500500

00−500

0

4.

5.000 2.000 1.000 0.000 0.000 0.000 0.000 0.000 0.0000.500 3.000 2.000 0.100 0.000 0.000 0.000 0.000 0.0000.000 2.000 7.000 3.000 1.000 0.000 0.000 0.000 0.0000.000 0.000 0.000 0.500 0.000 0.000 0.000 0.000 0.0001.000 0.000 0.000 0.000 3.100 0.000 0.000 0.000 0.4000.000 0.000 0.000 0.000 0.000 1.200 0.300 0.000 0.0000.000 2.000 0.000 0.000 0.000 1.000 9.000 0.000 1.0000.100 0.000 0.000 0.000 0.000 0.000 5.000 7.000 1.0000.000 0.000 3.000 0.500 0.000 0.000 0.000 1.000 12.000

φ =

64.66016.39071.6607.000

17.1000.000−3.09022.20082.000

1.2 Lösungsalgorithmen

1.2.1 Gauß-Algorithmus

Im Folgenden wird der Gauß-Algorithmus als Vertreter der direkten Methoden kurz erläutert. Bei der Gauß–Eliminationwird das lineare Gleichungssystem Aφ = b schrittweise in ein äquivalentes System der Form Uφ = c transformiert. A isteine beliebige quadratische Matrix der Dimension N × N , b,c und φ sind Vektoren der Dimension N.

A=

a1,1 · · · a1,N

· ·· ·· ·

aN ,1 · · · aN ,N

,b=

b1

···

bN

→ U=

u1,1 · · · u1,N

0 · ·· 0 · ·0 0 0 · ·0 0 · 0 uN ,N

,c=

c1

···

cN

Dazu müssen alle Elemente unterhalb der Hauptdiagonalen der Matrix A zu Null werden. Um die Einträge unterhalbdes Hauptdiagonalenelements der Zeile 1 in allen darunterliegenden Zeilen j zu Null werden zu lassen, wird die Zeile 1mit a j,1/a1,1 multipliziert und von der Zeile j abgezogen. Für die neuen Elemente der Zeilen j = (2, · · · , N) und der dazugehörenden rechten Seite b j ergibt sich daraus folgende Vorschrift:

a(1)j,k = a j,k −a j,1a1,1

a1,k

b(1)j = b j −a j,1a1,1

b1

k = (2, · · · , N)

Damit entsprechen die Einträge in der ersten Zeile der Matrix A den Einträgen der Matrix U. Daraus ergibt sich eine neueMatrix A(1)

A(1) =

u1,1 · · · u1,N

a(1)2,2 a(1)2,N· ·· ·

a(1)N ,2 · · a(1)N ,N

,b(1) =

c1

b(1)2··

b(1)N

4

Page 7: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Für diese Matrix wird der Vorgang für die Zeile i = 2 wiederholt. Dies wird sukzessive für alle weiteren Zeilen durchge-führt, bis die Matrix U entstanden ist.Vorsicht: Bei der Berechnung von U können Nullen in der Hauptdiagonalen und somit Divisionen durch Null auftreten.Dies kann verhindert werden indem unterhalb der betrachteten Spalte das betragsgrößte Element gesucht und dessenZeile und die momentan betrachtete Zeile getauscht werden (Pivotisierung).Das daraus resultierende Gleichungssystem Uφ = c mit der Dreiecksmatrix U und der transformierten Inhomogenität ckann dann durch Rückwertssubstitution gelöst werden. Angefangen beim Element N

φN =cN

uN ,N

können alle weiteren Element φi mittels

φi =

ci −N∑

k=i+1ui,kφk

ui,i

berechnet werden.

1.2.2 Jacobi-Verfahren und Gauß-Seidel-Verfahren

Iterative Verfahren weisen in der praktischen Anwendung Vorteile gegenüber direkten Verfahren auf. So sind direkteVerfahren vor allem bei großen Gleichungssystemen anfällig gegen Rundungsfehler, welche sich aufgrund der begrenztenRechnergenauigkeit nicht vermeiden lassen. Außerdem bieten sie Speichervorteile bei dünn besetzen Systemen, da imGegensatz zu den direkten Verfahren die Null-Einträge nicht gespeichert werden müssen.Als Beispiele für iterative Verfahren werden an dieser Stelle kurz das Jakobi-Verfahren sowie das Gauß-Seidel-Verfahrenerläutert. Ausgehend von einer beliebigen Startlösung Φ0 (z.B. Φ0 = ~0, oder bei einem instationären Problem mit derLösung des letzen Zeitschritts) wird die neue Näherungslösung Φn+1 in der aktuellen Iteration n+ 1, mit den Werten Φn

der letzen Iteration, beim Jacobi-Verfahren wie folgt berechnet:

Φn+1j =

1

a j j

b j −∑

k 6= j

a jkΦnk

Das Gauß-Seidel-Verfahren entspricht dem Jacobi-Verfahren mit dem Unterschied, dass im Gegensatz zu diesem die bisherberechneten Werte aus der aktuellen Iteration mit verwendet werden, wodurch eine bessere Konvergenz erreicht wird.Dies führt zu der Vorschrift:

Φn+1j =

1

a j j

b j −j−1∑

k=1

a jkΦn+1k −

n∑

k= j+1

a jkΦnk

Als Bedingung für ein funktionierendes Verfahren müssen die Diagonalelemente a j j ungleich Null sein. Diese Voraus-setzung ist bei der in den weiteren Aufgaben werwendeten Diskretisierungsverfahren gegeben. Weiter ist die strikteDiagonaldominanz der Systemmatrix A ein hinreichendes Kriterium für die Konvergenz des Verfahrens.Es wird nun so lange iteriert, bis eine zuvor festgelegte Genauigkeit erreicht wird. Ein geeignetes Maß stellt beispielswei-se die L2-Norm des Residuums r dar. Das Residuum stellt ist ein Maß für die Abweichung von der exakten Lösung Φ undberechnet sich mit dem angenäherten Lösungsvektor Φn+1 zu:

r= AΦn+1 − b

Wird ||r||2 zu Null, stimmt die Näherungslösung mit der exakten Lösung überein. In der Praxis wird meist ein Konver-genzkriterium ε vorgegeben und die Lösung als konvergiert betrachtet, wenn ||r||2 < ε erreicht ist. In dieser Aufgabe sollε nicht größer als 10−8 gewählt werden.

5

Page 8: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

1.3 Lernziele

Diese Aufgabe ist als „(Wieder-)Einstieg“ in Programmiermethoden zu verstehen. Zur Bearbeitung der Aufgabe werdendie grundlegenden Kontrollstrukturen eines Computerprogramms, wie Schleifen, Abfragen, etc. benötigt.

1.4 Abgabe

Die Bearbeitungszeit der Aufgabe beträgt eine Woche. Zur Programmierung kann jede beliebige Programmierspracheverwendet werden. Abgegeben werden sollen der Quellcode (Ausdruck und email) sowie eine Programmausgabe mitden Lösungen des 3. und 4. Testproblems (siehe Aufgabenstellung).

6

Page 9: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

2 Berechnung von Wärmetransport mit derFinite-Volumen-Methode (5 Punkte)

Die Finite-Volumen-Methode ist eines der verbreitetsten Verfahren zur Diskretisierung partieller Differentialgleichungen.Eines ihrer wichtigsten Einsatzgebiete ist die numerische Simulation strömungsmechanischer Probleme, sie kommt aberauch in anderen Bereichen zum Einsatz.Eine herausragende Eigenschaft von Finite-Volumen-Methoden ist, dass die Erhaltungssätze, die den mathematischenModellen der Kontinuumsmechanik zugrunde liegen, auch für die diskreten Gleichungen erfüllt sind.Weitere Informationen sind im Skript zur Vorlesung NUMERISCHE BERECHNUNGSVERFAHREN, Kapitel 3 (S.23–42) zu finden.

2.1 Problemstellung

Abbildung 2.1: Sonneneinstrahlung auf eine Solaranlage mit diskretisiertem Problemgebiet

Abbildung 2.1 zeigt ein quadratisches Solarmodul mit den Abmessungen L×L = 1m×1m. Die Sonneneinstrahlung E0 =800W/m2 wird zu einem Achtel reflektiert, der Rest wird in Wärme umgesetzt. An den Rändern sind die Temperaturenbzw. die Wärmeströme bekannt (siehe weiter unten). Das Material besitzt eine Wärmeleitfähigkeit von κ2D = 50 W

K. Das

Problem kann als zweidimensional betrachtet werden und wird durch die partielle Differentialgleichung

−κ2D∂ 2T

∂ x2 −κ2D∂ 2T

∂ y2 = q̇ (2.1)

beschrieben.

Es gelten folgende Randbedingungen:

• oberer Rand: T (x , L) = 293K − 14 Km2 (

x3

L− x L)

• unterer Rand: T (x , 0) = 300K

• linker Rand: ∂ T∂ x= 14 K

m2y3

L2

• rechter Rand: ∂ T∂ x= 14 K

m2

y3

L2 − 3y�

Für das Problem existiert die analytische Lösung

Ta(x , y) = 300K − 14K

m2

y2

2+

x3 y

L2 −x y3

L2

.

7

Page 10: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

2.2 Mathematische Grundlagen

Die Finite-Volumen-Methode basiert darauf, dass die zu lösende Differentialgleichung über jedes Kontrollvolumen Vi

integriert wird. Dies führt bei unserem Beispiel zu∫

Vi

−κ2D∂ 2T

∂ x2 −κ2D∂ 2T

∂ y2 dV =

Vi

q̇dV.

Nach Anwendung des Gauß’schen Satzes wird aus dem Volumenintegral auf der linken Seite ein Flächenintegral überdie gesamte Oberfläche des betrachteten Kontrollvolumens. Bei unserem zweidimensionalen Problem und der Einteilungdes Rechengebiets in rechteckige “Volumenelemente” lässt sich dieses Oberflächenintegral als Summe der Integrale überdie vier Kontrollvolumenseiten (w,s,e,n) schreiben

ci

Sci

−κ2D∂ T

∂ xnx −κ2D

∂ T

∂ yny

idSc =

Vi

q̇dV.

Approximiert man die auftretenden Integrale mit der Mittelpunktsregel, erhält man folgende Gleichung�

−κ2D

∂ T

∂ x

e∆yi

+�

−κ2D

∂ T

∂ y

n∆x i

−�

−κ2D

∂ T

∂ x

w∆yi

−�

−κ2D

∂ T

∂ y

s∆x i

= q̇∆x i∆yi ,

was einer diffusiven Flussbilanz über die Seiten des Kontrollvolumens i entspricht. Zur Approximation der partiellenAbleitungen werden Zentraldifferenzen über die betreffende Seite verwendet. Am Beispiel der Ostseite führt dies zu

∂ T

∂ x

e=

TE − TP

xE − xP.

Setzt man diesen Ausdruck in die Flussbilanz ein und formt diese entsprechend um, erhält man eine diskretisierte Glei-chung der Form

aP TP − aE TE − aW TW − aN TN − aS TS = bP .

Ein weiterer wichtiger Punkt ist die Berücksichtigung der Randbedingungen. Bei unserem Beispiel kann an der Ost.- bzw.Westseite des Berechnungsgebietes der als Randbedingung bekannte Gradient, an den Seiten der randnächsten Kontroll-volumen, exakt berechnet und dem Quellterm bP zugeschlagen werden. Für die Nord.– bzw. Südseite des Berechnungs-gebietes kann die Temperatur an der Seite der entsprechenden randnahen Kontrollvolumen berechnet und dessen Anteilan der Gradientenapproximation wieder dem Quellterm zugeführt werden. Stellt man diese algebraischen Gleichungenfür alle Kontrollvolumen auf, erhält man ein lineares Gleichungssystem der Form AT = b mit der N × N–Matrix A. DiesesGleichungssystem soll mit den in der ersten Aufgabe programmierten Gleichungslösern gelöst werden.

2.3 Aufgabenstellung

Die Differentialgleichung (2.1) soll mit Hilfe der Finiten–Volumen–Methode gelöst und das Temperaturfeld des Solarmo-duls berechnet werden. Zur Auswertung der Ergebnisse soll eine flächengemittelte Temperatur Tm des Temperaturfeldesbestimmt werden. Diese Berechnung erfolgt durch eine Summation über alle Kontrollvolumen N

Tm =1

A

N∑

i=1

Ti∆x i∆yi ,

wobei A die gesamte Fläche des Rechengebietes darstellt und Ti die berechnete Temperatur in den Kontrollvolumen-zentren. Die mittlere Temperatur kann ebenfalls analytisch bestimmt werden, indem die Funktion Ta über die Flächeintegriert und dann durch die Gesamtfläche geteilt wird. Mit der Gleichung

eh =1

N

N∑

i=1

�Ti − Tai

soll der Fehler der gefundenen Lösung bestimmt werden.

8

Page 11: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Die Auswertungen sollen mindestens für die drei folgenden Diskretisierungen vorgenommen werden: 8× 8, 16× 16und 32× 32 Kontrollvolumen mit äquidistanter Breite ∆x und und Höhe ∆y. Berechnet und dargestellt werden sollen:

• die analytisch bestimmte mittlere Temperatur,

• die mittleren Temperaturen für die drei verschiedenen Diskretisierungen (Tabelle)

• mittlere Temperatur (Graphik: doppeltlinear über die Anzahl der Kontrollvolumen)

• der Fehler eh (Graphik: eh doppeltlogarithmisch über die Anzahl der Kontrollvolumen)

• aus den mit den oben genannten Diskretisierungen erzielten Ergebnissen soll die Ordnung des Verfahrens bestimmtwerden

Außerdem sollen Berechnungen mit nichtäquidistanter Diskretisierung (z. B. Verfeinerung zum rechten Rand hin, ...) undunterschiedlichen Kontrollvolumenanzahlen in x- und y-Richtung durchgeführt werden. Es soll dabei untersucht werden,ob mit einer geeigneten Diskretisierung ein besseres Ergebnis (kleinerer Gesamtfehler), als mit einer äquidistanten Dis-kretisierung mit gleicher Kontrollvolumenanzahl, erreicht werden kann.Anhand einer feinen Diskretisierung soll noch der Einfluss des Abbruchkriteriums bei iterativen Verfahren untersucht undfür verschiedenen Konvergenzkriterien die Ergebnisse sowie die Rechenzeiten verglichen werden.

2.4 Lernziele

Im Rahmen dieser Aufgabe wird die Anwendung der Finite-Volumen-Methode anhand eines 2D-Testfalls behandelt. DieErweiterung für den dreidimensionalen Fall kann analog zur behandelten Vorgehensweise erfolgen. Die Berechnungenerfolgen auf einem strukturierten Gitter, d. h. die Nachbarschaftsbeziehungen der Kontrollvolumen sind implizit durchden Gitteraufbau vorgegeben. Dadurch vereinfacht sich das Aufstellen des Gleichungssystems wesentlich. Weiterhin wirddas implementierte Verfahren anhand der bekannten analytischen Lösung des Problems validiert. Mittels der durch suk-zessive Verfeinerung des numerischen Gitters erhaltenen Lösungen, wird die Ordnung des Verfahrens bestimmt. Durchdie Verwendung nicht-äquidistanter Gitter, bzw. durch lokale Gitterverfeinerung wird untersucht ob sich bei gleichemAufwand bessere Ergebnisse als mit einem äqudistanten Gitter erzielen lassen. Außerdem wird die Eignung iterativerVerfahren im Hinblick auf Rechenzeit und Genauigkeit untersucht.

2.5 Abgabe

Die Bearbeitungszeit der Aufgabe beträgt drei Wochen (unverbindlich aber empfohlen). Abzugeben sind

• der Quellcode des Programms,

• die in der Aufgabenstellung angegebenen Daten, Tabellen und Grafiken.

9

Page 12: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

3 Berechnung von Wärmetransport mit derFinite-Element-Methode (5 Punkte)

Ein weiteres wichtiges Verfahren zur Diskretisierung partieller Differentialgleichungen ist die Finite-Elemente-Methode.Sie ist vor allem durch ihre Anwendung in der numerischen Simulation strukturmechanischer Probleme bekannt, kommtaber auch in anderen Gebieten wie der Strömungsmechanik oder der Thermodynamik zum Einsatz. Bereits 1909 wurdeeine Methode entwickelt, deren Idee mit der Finite-Elemente-Methode eng verwandt ist. Dieses Verfahren ist als RitzschesVerfahren bekannt. Eine alternative Herangehensweise stellt das Galerkinverfahren dar, welches als universelle Grundlageder Finite-Elemente-Methode betrachtet werden kann. Nähere Informationen sind im Skript zur Vorlesung NUMERISCHE

BERECHNUNGSVERFAHREN IM MASCHINENBAU, Kapitel 4 (S.43–72) zu finden.

3.1 Problemstellung

Im Rahmen dieser Aufgabe soll die Temperaturverteilung in einer vereinfachten Gasturbinenschaufel berechnet werden.Die hohen Temperaturen die nach der Brennkammer im Berech der ersten Stufen einer Turbine herrschen, machen eineKühlung der Turbinenschaufeln erforderlich, um die thermische Belastung innerhalb des zulässigen Bereichs zu halten.Die Kühlung einer Turbinenschaufel erfolgt in vielen Fällen durch interne Kühlkanäle, durch die kältere Luft strömt.Ein Querschnitt durch die betrachtete Geometrie ist in Abbildung 3.1 dargestellt. Vereinfacht soll das Problem als zwei-dimensionales Wärmeleitungsproblem betrachtet werden und kann somit durch die bereits aus Aufgabe 2 bekannteDifferentialgleichung

−κ2D∂ 2T

∂ x2 −κ2D∂ 2T

∂ y2 = q̇, (3.1)

beschrieben werden.

Abbildung 3.1: Querschnitt durch die Gasturbinenschaufel.

Als weitere Vereinfachung werden an den Rändern der Kühlkanäle sowie am aüßeren Rand konstante Temperaturen bzw.ein konstanter vorgegebener Wärmestrom angenommen.Als erster einfacher Testfall werden alle Randtemperaturen als TRand = 1000K, TKanal1 = 400K und TKanal2 = 500Kangenommen. Außerdem ist der Quellterm q̇ im Inneren des Problemgebiets gleich Null. Das Material besitzt eine Wär-meleitfähigkeit von κ2D = 14.9W/K.Als realistischere Problemstellung wird als zweiter Testfall der Wärmestrom am äußeren Rand mit 10000 W/m2 vorgege-ben. Der Rest des Setups bleibt gleich.

3.2 Diskretisierung des Problemgebiets

Das oben beschriebene Problemgebiet soll mit Hilfe linearer Dreieckselemente diskretisiert werden. Die zu verwendendenGitter mit den mittleren Gitterweiten h, 2h und 4h (h= 1mm) sind in Form von Textdateien gegeben. In einer Datei (z.B.elements_4h.dat für die Gitterweite 4h) sind die Elemente mit den dazugehörigen Knotennummern zu finden. Die Dateihat folgendes Format:

10

Page 13: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Element Knoten

1 86 29 30

2 86 30 20

3 2 86 20

4 2 29 86

5 85 84 77

6 84 83 78

7 70 79 83

8 79 78 83

9 78 77 84

10 77 76 85

11 71 70 83

...

In einer weiteren Datei (z.B. nodes_4h.dat für die Gitterweite 4h) sind die Koordinaten der Knotenpunkte in mm gegeben:

Knoten -Nr. X-Koordinate Y-Koordinate

1 0.00000000000 -10.0000000000

2 70.2500845605 -21.0903628508

3 3.75815897274 -9.26460129201

4 7.54196702545 -8.67524968573

5 11.3458234078 -8.23341452075

6 15.1639758413 -7.93972643823

7 18.9906599433 -7.79472032708

8 22.8200895334 -7.79850105393

9 26.6464780514 -7.95109525494

10 30.4640095930 -8.25273311682

11 34.2669284740 -8.70256966158

...

Für den Einbau der Randbedingungen ist es notwendig, die Randknoten zu kennen. Für die Ränder gibt es jeweils eineDatei mit den Randknoten (z.B. kanal1_4h.dat, kanal2_4h.dat und rand_4h.dat für die Gitterweite 4h; vergleiche auchAbbildung 3.1). Zum Beispiel für “Kanal 2”:

Randknoten Kanal 2 - Gitterweite 4h

Knoten

57

58

59

60

61

62

63

64

65

66

67

68

69

Abbildung 3.2 zeigt das so diskretiesierte Problemgebiet. Für die gröbste Auflösung ist außerdem die Knotennummerie-rung angegeben.

11

Page 14: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Abbildung 3.2: Diskretiesierung des Problemgebietes für die mittleren Elementgrößen 4h, 2h und h, sowie der Knotennum-merierung für das gröbste Gitter.

12

Page 15: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

3.3 Aufgabenstellung

Es soll ein Programm erstellt werden, mit dem die oben genannten Wärmeleitungsprobleme mit Hilfe der Finite-Elemente-Methode gelöst werden können. Bei der Diskretisierung sollen dabei lineare Dreieckselemente zum Einsatz kommen(siehe z.B. Skript S.71).Zur Auswertung der Ergebnisse soll die mittlere Temperatur Tm des Temperaturfeldes bestimmt werden. Die Berechnungder mittleren Temperatur erfolgt durch die Mittelung der Knotentemperaturen T i

Tm =1

N

N∑

i=1

T i

wobei N die Anzahl der Knoten darstellt.Berechnet und dargestellt werden sollen jeweils:

• die mittleren Temperaturen für die drei verschiedenen Diskretisierungen (Tabelle)

• die mittlere Temperatur (Graphik: doppeltlinear über der Anzahl der Elemente)

• aus den Ergebnissen für die gegebenen Diskretisierungen soll die Ordnung des Verfahrens bestimmt werden (In-terpretieren Sie das Ergebnis kritisch)

3.4 Mathematische Grundlagen

Für die gesuchte Funktion T (x , y) machen wir einen lokalen Ansatz der Form

T i(x , y) =3∑

k=1

T ikN i

k(x , y) .

Setzt man diesen in die beschreibende Differentialgleichung (3.1) ein, lässt sich das Residuum R als

−3∑

k=1

T ik

∂ 2N ik

∂ x2 +∂ 2N i

k

∂ y2

−q̇

κ2D= R

definieren. Dabei stellt R die Abweichung von der exakten Differentialgleichung dar und ist somit ein Maß für den Fehler.Um Bedingungen zur Ermittlung einer numerischen Lösung des Problems zu erhalten, verlangt man nun, dass die Summeder Volumentintegrale über das mit den linear unabhängigen Gewichtsfunktionen ω j gewichteten Residuen R verschwin-den:

Vei

Rω j dV = 0

Ein solches Vorgehen wir auch Methode der gewichteten Residuen genannt. Wählt man nun als Gewichtsfunktionen dieAnsatzfunktionen N i

k, spricht man vom Galerkin-Verfahren:

Vei

RN ij dV = 0

Einsetzen des Residuums und partielle Integration liefert

3∑

k=1

−∫

Vei

∂ N ik

∂ x

∂ N ij

∂ xdV −

Vei

∂ N ik

∂ y

∂ N ij

∂ ydV

︸ ︷︷ ︸

=S i

T ik

︸︷︷︸

=T i

=

Sei

∂ T

∂ xnx N i

j dS+

Sei

∂ T

∂ yny N i

j dS

︸ ︷︷ ︸

=r i

+q̇

κ2D

Vei

N ij dV

︸ ︷︷ ︸

=bi

. (3.2)

Man erkennt bereits jetzt die Form des späteren linearen Gleichungssystems

Si · T i = bi + r i

13

Page 16: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

mit der „Elementsteifigkeitsmatrix“ S i , dem Vektor T i der unbekannten Temperaturen, dem „Elementlastvektor“ bi unddem Vektor r i , welcher die Randwerte beschreibt. Die Randbedingungen werden erst wieder beim Assemblieren desGleichungssystems berücksichtigt, so dass man durch Zusammenfassen der Integrale in Indexschreibweise (EinsteinscheSummenkonvention) folgendes Gleichungssystem erhält:

3∑

k=1

−∫

Vei

∂ N ik

∂ x l

∂ N ij

∂ x ldV

︸ ︷︷ ︸

=S i

T ik

︸︷︷︸

=T i

=q̇

κ2D

Vei

N ij dV

︸ ︷︷ ︸

=bi

KoordinatentransformationMit der Transformationsvorschrift (3.3) lassen sich im zweidimensionalen beliebige Dreiecke (siehe auch Skript S.60)auf ein Einheitselement abbilden. So wird ein Dreieck ei mit den Eckpunkten (x1, y1), (x2, y2) und (x3, y3) eindeutig aufein Dreieck mit den Eckpunkten (0,0), (1, 0) und (0, 1) in ξ-η-Koordinaten abgebildet (siehe Abbildung 3.3

k1 = [(x3 − x1)2 + (y3 − y1)

2]/J

k2 = [(x2 − x1)2 + (y2 − y1)

2]/J

k3 = [(x3 − x1)(x1 − x2) + (y3 − y1)(y1 − y2)]/J

J = (x2 − x1)(y3 − y1)− (x3 − x1)(y2 − y1) (3.3)

Auf einem solchen Einheitselement werden folgende Elementformfunktionen abhängig von den lokalen Koordinaten

Abbildung 3.3: Transformation eines beliebigen Dreiecks auf ein Einheitselement

definiert. Diese Formfunktionen sind für alle transformierten Elemente gleich:

N e1 = 1− ξ−η

N e2 = ξ

N e3 = η

Wendet man nun die beschriebene Koordinatentransformation auf Gleichung (3.2) an, erhält man für das Integral derSteifigkeitsmatrix S

S ijk =

Vei

∂ N ik

∂ x

∂ N ij

∂ x+∂ N i

k

∂ y

∂ N ij

∂ y

!

dV =

k1

Vere f

∂ N ek

∂ ξ

∂ N ej

∂ ξdξdη

︸ ︷︷ ︸

S1e

+k2

Vere f

∂ N ek

∂ η

∂ N ej

∂ ηdξdη

︸ ︷︷ ︸

S2e

+k3

Vere f

∂ N ek

∂ ξ

∂ N ej

∂ η+∂ N e

k

∂ ξ

∂ N ej

∂ η

dξdη

︸ ︷︷ ︸

S3e

.

Für den Lastvektor ergibt sich

bij =

κ2D

Vei

N ij d x d y =

κ2DJ

Vere f

N ej dξdη .

14

Page 17: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Elementsteifigkeitsmatrizen und VektorenDie Elementsteifigkeitsmatrix Se ist die Matrix aller möglichen Produkte zweier Elementformfunktionen auf einem Ein-heitselement:

Se = k1S1e + k1S2e + k3S3e =1

2

k1 + k2 + 2k3 −k1 − k3 −k2 − k3

−k1 − k3 k1 k3

−k2 − k3 k3 k2

Der Elementlastvektor wird analog berechnet. Für ihn ergibt sich

be =q̇J

6κ2D[1,1, 1]T .

Assemblierung des GleichungssystemsNachdem nun die Elementmatrizen und Elementlastvektoren vorhanden sind, müssen diese noch zur Gesamtsteifigkeits-matrix bzw. zum Gesamtlastvektor zusammengesetzt werden. Die Einträge der Gesamtsteifigkeitsmatrix werden mit denihnen zugeordneten Werten aus den Elementsteifigkeitsmatrizen gefüllt. Die Zuordnung der lokalen Knoten zu den glo-balen Knoten kann über eine sogenannte Koinzidenzmatrix erfolgen. Sie ordnet den Knoten jedes Elements einen Eintragin der Gesamtsteifigkeitsmatrix zu. Abbildung 3.4 zeigt einen Ausschnitt der Diskretisierung des Rechengebiets sowie

Abbildung 3.4: Koinzidenzmatrix. Zuordnung lokale-globale Knotennummern.

die Zuordnung lokale-globale Knotennummerierung beispielhaft für 2 Elemente. Die für diese Zuordnung notwendigenInformationen sind in der Gitterdatei elements_*h.dat gegeben.Die resultierende Gesamtsteifigkeitsmatrix lässt sich nun zusammensetzen, indem man den Elementen der Elementstei-figkeitsmatrizen eine Position in der Gesamtsteifigkeitsmatrix zuordnet. Dabei ist die dem Element zugeordnete Spaltein der Koinzidenzmatrix ausschlaggebend. So wird beispielsweise dem Eintrag S12

1,2 der Elementsteifigkeitsmatrix des12. Elements die Position S80,50 zugeordnet. Beim Aufstellen des Gesamtlastvektors wird analog vorgegegangen. Werdenmehrere Elemente aus den Elementsteifigkeitsmatrizen dem gleichen Eintrag in der Gesamtsteifigkeitsmatrix zugeordnet,werden diese addiert.

Einbau der RandbedingungenZur vollständigen Beschreibung des Systems müssen nun noch die gegebenen Randbedingungen in das Gleichungssystemeingebaut werden. Hierzu müssen die an den Rändern vorgegebenen Temperaturen berücksichtigt werden. Es muss nundafür gesorgt werden, dass die Knoten mit einer vorgegebenen Temperatur diese auch erhalten. Dies lässt sich dadurcherreichen, indem man das Tk-fache der k-ten Spalte der Steifigkeitsmatrix S vom Lastvektor b subtrahiert. AnschlieSSendwerden die k-te Zeile und Spalte der Steifigkeitsmatrix auf Null gesetzt und das k-te Hauptdiagonalenelement auf 1.Zuletzt setzt man noch die k-te Zeile des Lastvektors b auf die vorgegebene Knotentemperatur Tk.Beim zweiten Testproblem ist neben den gegebenen Temperaturandbedingungen auch ein Wärmestrom gegeben. DerTerm r j aus Gleichung 3.2 ist also ungleich Null und muss gesondert betrachtet werden. Zur Diskretisierung des äußerenRandes sollen eindimensionale lineare Elemente verwendet werden (siehe z.B. Skript S.48). Die Zuordung der Randele-mente kann aus den entsprechenden ASCII-Dateien entnommen werden. Die berechneten r j können direkt zu dem demRandelement zugeordneten Eintrag des Lastvektors b addiert werden.Das so aufgestellte Gleichungssystem ST = b lässt sich nun wieder mit der in der ersten Aufgabe programmierten Gauß-Elimination lösen.

15

Page 18: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

3.5 Lernziele

Im Rahmen dieser Aufgabe wird die Finite-Elemente-Methode anhand eines Testfalls mit komplexer Geometrie behandelt.Die Diskretisierung erfolgt mittels eines unstrukturierten Gitters. Dabei können die verwendeten Elemente von beliebigerGröße und Orientierung sein. Es wird ein Programm erstellt, welches das in Form von Textdateien vorgegebene Gitterverwendet und aus diesem Gitter und der zu lösenden DGL das lineare Gleichungssystem aufbaut, welches das gegebeneWärmeleitungsproblem beschreibt.

3.6 Abgabe

Die Bearbeitungszeit (unverbindlich) der Aufgabe beträgt drei Wochen. Abzugeben sind wieder der Quellcode des Pro-gramms sowie die in der Aufgabenstellung angegebenen Ergebnisse.

16

Page 19: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

4 Simulation dynamischer Vorgänge mit Zeitintegrationsverfahren (5 Punkte)

Viele technische Anwendungen basieren auf zeitabhängigen Prozessen. Um solche Vorgänge numerisch simulieren zukönnen, müssen die beschreibenden Gleichungen des zeitabhängigen Problems auch instätionär gelöst werden. Somit istsowohl eine Diskretisierung im Raum, als auch in der Zeit erforderlich. Dabei nimmt die Zeit aufgrund ihrer ausgezeich-neten Richtung eine Sonderstellung in den Differentialgleichungen ein, was sich auch in den Diskretisierungstechnikenwiederspiegelt.Nähere Informationen sind im Skript der Vorlesung NUMERISCHE BERECHNUNGSVERFAHREN, Kapitel 5 (S. 73–82) zu finden.

4.1 Problemstellung

Abbildung 4.1: Sonneneinstrahlung auf eine Solaranlage mit diskretisiertem Problemgebiet (siehe Aufgabe 2)

Diese Aufgabe bezieht sich auf die bereits bearbeitete Aufgabe 2. Das Lösungsgebiet sowie die dort bereits angege-benen physikalischen Eigenschaften sind gleich. Neben der Wärmeleitfähigkeit κ2D = 50 W

Kwerden nun noch die Dichte

ρ2D sowie die spezifische Wärmekapazität cp des Materials benötigt. Wir wählen für unser Beispiel ρ2D = 2700 kgm2 und

cp = 900 Jkg K

. Um ein instationäres Verhalten des Temperaturfeldes zu erhalten wird die Temperaturrandbedingung amunteren Rand des Gebiets um einen Zeitterm erweitert und lautet nun wie folgt:

T (x , 0) = 300K + 40K (sinπt

3600)

Die restlichen Randbedigungen stimmen mit denen aus Aufgabe 2 überein.Das genannte Problem wird durch die Differentialgleichung

cpρ2D∂ T

∂ t−κ2D

∂ 2T

∂ x2 −κ2D∂ 2T

∂ y2 = q̇ (4.1)

beschrieben.

4.2 Aufgabenstellung

Das bereits erstellte Programm aus Aufgabe 2 soll derart modifiziert werden, dass Gleichung (4.1) berechnet werdenkann. Als Zeitdiskretisierungsverfahren soll wahlweise ein explizites oder ein implizites Euler-Verfahren verwendet wer-den können. Beim Starten der Berechnung soll von der vorher zu berechnenden stationären Lösung ausgegangen werden.Die Rechnungen sollen von t = 0s bis t = 36000s auf einem Gitter mit 20×20 Kontrollvolumen durchgeführt werden. AlsReferenzlösung legen wir hier die Berechnung des Problems mit dem impliziten Euler-Verfahren und einer Zeitschrittwei-te von ∆t = 150s zugrunde. Dieses kann bei dieser Zeitschrittweite als sehr genau angesehen werden.

17

Page 20: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Das Problem soll unter Verwendung des impliziten Verfahrens mit den Zeitschrittweiten ∆t = 600s, ∆t = 1200s und∆t = 3000s (gerne auch mit weiteren) berechnet werden, während für das explizite Verfahren die Zeitschritte ∆t = 25sund ∆t = 50s verwendet werden sollen. Zur Lösung der auftretenden Gleichunssysteme sollen wieder die in Aufgabe 1programmierten Gleichungslöser verwendet werden.Zur Auswertung der Ergebnisse soll wieder die flächengemittelte Temperatur Tm für jeden Zeitschritt bestimmt und gra-phisch über der Zeit aufgetragen werden. Darüberhinaus ist jeweils die Diffusionszahl D zu bestimmen.Zu berechnen und abzugeben sind

• jeweils ein Plot der flächengemittelten Temperatur Tm über die Zeit für

– das implizite Verfahren und– das explizite Verfahren

diese Graphiken sollen die jeweiligen Zeitschritte, sowie die Referenzlösung enthalten.

• die Diffusionszahl für die verschiedenen Zeitschrittweiten (Tabelle),

• sowie die maximal zulässige Zeitschrittweite für das explizite Verfahren (s. Skript Kapitel 6.1.2).

• Beurteilen sie außerdem die Rechenzeiten des impliziten und expliziten Verfahrens, die für eine ausreichend ge-naue Lösung des Problems benötigt werden. Dabei soll auch der Einfluss des Gleichungslösers beim implizitenVerfahren untersucht werden. Diejenigen die Matlab verwenden sollen für diesen Verleich auch einen in Matlabvorhandenen Löser verwenden.

4.3 Mathematische Grundlagen

Die Diskretisierung der diffusiven Terme und der Quellen mit der Finiten-Volumen-Methode wurde bereits in Aufgabe 2beschrieben. Führen wir nun die Diskretisierung an der instationären Gleichung durch erhalten wir folgende Gleichung

∂ T

∂ t

Pcpρ2DδV =−aP TP +

nb

anb Tnb + bP ,

wobei die Dichte ρ2D und das Volumen δV als konstant angenommen werden. Es ist nun notwendig die Zeitableitunggeeignet zu diskretisieren.

a) explizites Euler-VerfahrenBeim expliziten Euler-Verfahren wird die Zeitableitung zum Zeitpunkt tn durch eine Vorwärtsdifferenz approximiert

∂ TP

∂ t�

tn�

≈T n+1

P − T nP

∆t.

Setzt man dies in die Differentialgleichung ein und löst nach T n+1P auf erhält man

T n+1P =

∆t

cpρ2DδV

−aP T nP +

nb

anb T nnb + bP

!

+ T nP ,

womit man die Temperatur TP zum nächsten Zeitpunkt n+ 1 explizit berechnen kann, ohne ein lineares Gleichungssy-stem zu lösen. Der große Nachteil der expliziten Verfahren besteht darin, dass die Zeitschrittweite und die Auflösung derräumlichen Diskretisierung über die Diffusionszahl d gekoppelt sind. Das Verfahren liefert nur dann physikalisch richtigeErgebnisse, wenn diese Diffusionszahl einen bestimmten Wert unterschreitet. Dies wiederum führt zu einer Zeitschrittwei-tenbegrenzung und somit zu einer Mindestanzahl von benötigten Zeitschritten innerhalb des betrachteten Zeitintervalls.

b) implizites Euler–VerfahrenFür ein implizites Euler–verfahren wird die Zeitableitung zum Zeitpunkt tn durch eine Rückwärtsdifferenz approximiert

∂ TP

∂ t(tn)≈

T nP − T n−1

P

∆t.

Setzt man dies in die Differentialgleichung ein, erhält man

cpρ2DδV

∆tT n

P −cpρ2DδV

∆tT n−1

P =−aP T nP +

nb

anb T nnb + bP .

18

Page 21: Tutorium Numerische Berechnungsverfahren · und als Beispiele für iterative Verfahren das Jacobi-Verfahren sowie das Gauß-Seidel-Verfahren dargestellt. Es soll ein Programm geschrieben

Diese Gleichung kann wieder zu einem System linearer Gleichungen umgestellt werden mit einem neuen Zentralkoeffi-zienten at

P und einem neuen Quellterm btP

aP +cpρ2DδV

∆tT n

P

−∑

nb

anb T nnb = bP +

cpρ2DδV

∆tT n−1

P

atP T n

P −∑

nb

anb T nnb = bt

P ,

welches wieder mit einem Gleichungslöser berechnet werden kann. Für implizite Verfahren kann gezeigt werden, dasskeine Zeitschrittweitenbegrenzung gilt und der Zeitschritt somit beliebig groß gewählt werden kann. Natürlich mussdarauf geachtet werden die zeitlichen Effekte des Problems noch aufzulösen.

4.4 Lernziele

Im Rahmen dieser Aufgabe wird ein explizites sowie ein implizites Verfahren zur Simulation instationärer Prozesse imple-mentiert. Anhand der damit erzielten Ergebnisse werden wichtige Eigenschaften beider Verfahrenstypen wie die benötigteRechenzeit (auch i.A. des Gleichungslösers), Stäbilitat, etc. ersichtlich.

4.5 Abgabe

Die Bearbeitungszeit der Aufgabe beträgt zwei Wochen. Abgegeben werden sollen wieder alle Ergebnisse und der Quell-code.

19