Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Schnelle Assemblierung von
FE-Steifigkeitsmatrizen bei Spektralmethoden
Freie wissenschaftliche Arbeit zur
Erlangung des akademischen Grades
„Bachelor of Science“
an der
technisch-naturwissenschaftlichen Fakultät der
Friedrich-Alexander-Universität Erlangen-Nürnberg
Erlangen
Eingereicht von: Betreuer:
Felix Ott Dr. Nicolas Neuß
21799984 Prof. Dr. Ulrich Rüde
Computational Engineering, 6. Semester
Dr. Nicolas Neuß Prof. Dr. Ulrich Rüde
Erlangen, den Erlangen, den
2
Eidesstattliche Erklärung:
„Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer als der
angegebenen Quellen angefertigt und dass die Arbeit in gleicher oder ähnlicher Form noch
keiner anderen Prüfungsbehörde vorgelegen hat und von dieser als Teil einer Prüfungsleis-
tung angenommen wurde. Alle Ausführungen, die wörtlich oder sinngemäß übernommen
wurden, sind als solche gekennzeichnet.“
Ort Datum Unterschrift des Studenten
, den
3
Inhaltsverzeichnis:
1 Symbolverzeichnis .......................................................................................................................... 5
2 Hp-Methode und Spektralmethoden ............................................................................................. 6
3 Finite Elemente Methode ............................................................................................................... 7
3.1 Grundlagen der Finiten Elemente Methode ........................................................................... 7
3.2 Der Banach-, Hilbert- und Lebesgueraum............................................................................... 8
3.3 Schwache Formulierung ......................................................................................................... 9
3.4 Galerkin-Verfahren und lineare Finite Elemente .................................................................... 9
3.5 FEM bei Spektralmethoden mit polynomialen Formfunktionen .......................................... 10
3.6 Fehler bei linearen Finiten Elementen .................................................................................. 11
4 Numerische Integration................................................................................................................ 12
4.1 Notwendigkeit von numerischen Quadraturregeln .............................................................. 12
4.2 Rechteckverfahren ............................................................................................................... 13
4.3 Sehnentrapezformel ............................................................................................................. 13
4.4 Simpsonregel ........................................................................................................................ 13
4.5 Vergleich der Verfahren und Güte einer Quadraturregel ..................................................... 14
4.6 Gaußsche Quadratur ............................................................................................................ 15
4.6.1 Grundlagen der Gaußschen Quadratur......................................................................... 15
4.6.2 Legendre-Polynome ...................................................................................................... 16
4.6.3 Bestimmung der Gauß-Quadraturformeln ................................................................... 19
4.6.4 Gaußsche Quadratur: Zwei- und Mehrdimensional ...................................................... 20
4.6.5 Gauß-Integration mit vordefinierten Stützstellen......................................................... 20
4.6.6 Gauß-Lobatto-Legendre-Quadraturformel ................................................................... 22
4.6.7 Fehler von Gauß- und Gauß-Lobatto-Legendre-Quadraturformeln .............................. 22
5 FE-Steifigkeitsmatrizen ................................................................................................................. 23
5.1 Grundlagen von FE-Steifigkeitsmatrizen ............................................................................... 23
5.2 Formfunktionen .................................................................................................................... 23
5.3 Algorithmus in Matlab für zweidimensionale Gebiete als Pseudocode ................................ 26
5.4 Beispiele von FE-Steifigkeitsmatrizen ................................................................................... 27
5.5 Eigenschaften von FE-Steifigkeitsmatrizen und des Gleichungssystems 𝑨𝒖 = 𝒇 ................. 27
5.6 Lösen des Gleichungssystems 𝑨𝒖 = 𝒇 ................................................................................. 28
5.7 Schnelle Assemblierung von FE-Steifigkeitsmatrizen............................................................ 30
6 Fazit .............................................................................................................................................. 31
7 Anhang ......................................................................................................................................... 32
7.1 Stützstellen und Gewichte für die Gauß-Quadraturformel................................................... 32
7.2 Stützstellen und Gewichte für die Gauß-Lobatto-Quadraturformel ..................................... 33
8 Quellenverzeichnis ....................................................................................................................... 34
4
Abbildungsverzeichnis:
Abb. 2.1: Darstellung der Finiten Elemente durch Gebietsverfeinerung ................................................ 6
Abb. 2.2: FE-Gebiet eines zweidimensionalen, bilinearen Elements mit 5𝘹5 Knoten ............................ 6
Abb. 4.1: Graph zum Veranschaulichen des Rechteckverfahrens mit Teilintervallen (blau) ................ 13
Abb. 4.2: Graph zum Veranschaulichen der Sehnentrapezformel mit äquidistanten Stützstellen ....... 13
Abb. 4.3: Graph zum Veranschaulichen der Simpsonregel ................................................................... 14
Abb. 4.4: Orthogonale Legendre-Polynome 𝑃𝑛(𝑥) für 0 ≤ 𝑛 ≤ 5 ...................................................... 18
Abb. 4.5: Darstellung der Transformation vom globalen (links) zum lokalen (rechts) Gebiet .............. 20
Abb. 5.1: Gauß-Lobatto-Stützstellen für 𝑁 = 2 ................................................................................... 24
Abb. 5.2: Gauß-Lobatto-Stützstellen für 𝑁 = 3 ................................................................................... 24
Abb. 5.3: Gauß-Lobatto-Stützstellen für 𝑁 = 4 ................................................................................... 24
Abb. 5.4-5.6: Lineare (𝑁 = 2) (Abb. 5.4), quadratische (𝑁 = 3) (Abb. 5.5) und kubische (𝑁 = 4) (Abb. 5.6) Formfunktionen im Eindimensionalen mit 𝑁 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1] .................................................................................................................................... 24
Abb. 5.7: Lineare Formfunktionen im Zweidimensionalen für 𝑁 = 2 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1] .............................................................................................................. 25
Abb. 5.8: Quadratische Formfunktionen im Zweidimensionalen für 𝑁 = 3 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1] ................................................................................................ 25
Abb. 5.9: Beispielfunktion Gl. 5.20 für die rechte Seite des Gleichungssystems 𝐴𝑢 = 𝑓 ..................... 29
Abb. 5.10: Logarithmischer Vergleich der analytischen (𝛼 = 2.4) und der approximierten Fehlerkonvergenz ................................................................................................................................. 29
Abb. 5.11: Aufwand zur Berechnung der zweidimensionalen Steifigkeitsmatrizen abhängig von der Anzahl 𝑁 der Stützstellen in eine Raumrichtung und der Optimierungsstrategie gemessen in Sekunden ............................................................................................................................................. 30
Abb. 5.12: Aufwand zur Berechnung der eindimensionalen Steifigkeitsmatrizen abhängig von der Anzahl 𝑁 der Stützstellen und der Optimierungsstrategie gemessen in Sekunden ............................. 30
Tabellenverzeichnis:
Tab. 1.1: Symbolverzeichnis ................................................................................................................... 5
Tab. 4.1: Vergleich der Ergebnisse der Verfahren zur exakten Lösung ................................................. 14
Tab. 4.2: Stützstellen und Gewichte der Gauß-Quadratur für 𝑛 = 3 Stützstellen aus Tab. 7.1 ............ 15
Tab. 4.3: Klassische orthogonale Polynome und ihre Gewichtsfunktion .............................................. 17
Tab. 5.1: Fehlertabelle abhängig von der Anzahl 𝑁 der Stützstellen im Zweidimensionalen ............... 29
Tab. 7.1: Stützstellen und Gewichte für die Gauß-Quadraturformel im Intervall [−1,1] ..................... 32
Tab. 7.2: Stützstellen und Gewichte für die Gauß-Lobatto-Quadraturformel im Intervall [−1,1] ....... 33
5
1 Symbolverzeichnis [𝑎, 𝑏] Abgeschlossenes Intervall
(𝑎, 𝑏) Offenes Intervall
𝑝 Polynomgrad
𝛺 𝑑-dimensionales Gebiet (𝑑 = 1, 2, 3)
𝜕𝛺 Rand des Gebiets 𝛺
𝐿𝑖(𝑥) FE-Formfunktion im Eindimensionalen
𝐿𝑖′(𝑥) Ableitung der Formfunktion 𝐿𝑖(𝑥) nach 𝑥
𝛻𝐿𝑖(𝑥) Gradient der Formfunktion 𝐿𝑖(𝑥)
{𝜑𝑖}𝑖=1𝑁 Basis aus 𝑆𝑝𝐾
(�̂�)
Δ Laplace-Operator
𝔍 Triangulierung des Gebiets 𝛺
𝐵(𝛺) Banach-Raum
𝐻(𝛺) Hilbert-Raum
𝐿2(𝛺) Lebesgue-Raum
𝐻𝑘(𝛺) Sobolev-Raum ℝ Menge der reellen Zahlen ℝ𝑛 Raum der Vektoren mit 𝑛 Komponenten |·| Betrag einer Zahl bzw. Funktion
⟨·,·⟩ Skalarprodukt zweier Vektoren oder Funktionen aus ℝ𝑛
𝐴𝑢 = 𝑓 Gleichungssystem mit Steifigkeitsmatrix 𝐴, rechter Seite 𝑓 und Lö-
sungsvektor 𝑢
𝑢 Exakter Lösungsvektor zum Gleichungssystem 𝐴𝑢 = 𝑓 �̃� Näherungslösung zum Gleichungssystem 𝐴�̃� = 𝑓 [𝐴𝑖]𝑗 mit 𝑖, 𝑗 є 𝛺 Steifigkeitsmatrix der Knoten 𝑖 bzgl. der Knoten 𝑗 im Eindimensionalen
[𝐴𝑖𝑗]𝑘𝑙 mit 𝑖, 𝑗, 𝑘, 𝑙 є 𝛺 Steifigkeitsmatrix der Knoten 𝑖, 𝑗 bzgl. der Knoten 𝑘, 𝑙 im Zweidimensio-
nalen
[𝑀𝑖]𝑗 mit 𝑖, 𝑗 є 𝛺 Massenmatrix der Knoten 𝑖 bzgl. der Knoten 𝑗 im Eindimensionalen
[𝑀𝑖𝑗]𝑘𝑙 mit 𝑖, 𝑗, 𝑘, 𝑙 є 𝛺 Massenmatrix der Knoten 𝑖, 𝑗 bzgl. der Knoten 𝑘, 𝑙 im Zweidimensiona-
len
[𝑓𝑖] mit 𝑖 є 𝛺 Lastvektor mit den Einträgen der Knoten 𝑖 im Eindimensionalen
[𝑓𝑖𝑗] mit 𝑖, 𝑗 є 𝛺 Lastvektor mit den Einträgen der Knoten 𝑖, 𝑗 im Zweidimensionalen
𝐷(𝑥) Dehnratenfunktion im Eindimensionalen
𝐼(𝑓) Wert des Integrals über 𝑓
𝑅𝑛 Fehler einer Quadraturregel zur exakten Lösung
𝜉𝑖 Stützstellen für die Gauß- bzw. Gauß-Lobatto-Quadraturformel
𝜔𝑖 Gewichte für die Gauß- bzw. Gauß-Lobatto-Quadraturformel
𝜔(𝑥) Gewichtsfunktion 𝑃𝑛(𝑥) Legendre-Polynom 𝑛-ten Grades
𝜆 Eigenwert einer Matrix 𝛿𝑖𝑗 Kronecker-Delta
Tab. 1.1: Symbolverzeichnis1
1 Nach [L8]
6
Abb. 2.2: FE-Gebiet eines zweidimensionalen, bilinearen Elements mit 5𝘹5 Knoten
Abb. 2.1: Darstellung der Finiten Elemente durch Ge-bietsverfeinerung
2 Hp-Methode und Spektralmethoden Die Finite Elemente Methode (FEM) ist heutzutage die am häufigsten benutzte Diskretisierungsme-
thode im Gebiet der Festkörper- und Strömungsmechanik und wird zur numerischen Lösung und
Simulation technischer Aufgabenstellungen verwendet.2 Anwendungsgebiete sind beispielsweise
physikalische Vorgänge, bei denen auf deformierbare Festkörper Kraftwirkungen simuliert werden.
Dabei kann der Ursprung auf das Bauingenieurwesen zurückgeführt werden, bei dem durch Trag-
werkberechnungen und Bauwerkaerodynamik Material eingespart werden konnte.
Das Vorgehen ist dabei wie folgt: Man teilt ein Gebiet in viele kleine
Untergebiete mit einer Breite ℎ und approximiert die Lösung durch
ein stückweises Polynom der Ordnung 𝑝. Die FEM kann man in die
ℎ- und die 𝑝-Methode aufteilen. Die ℎ-Version entspricht einer
Gebietsverfeinerung (siehe Abb. 2.13), indem die Gitterfeinheit ℎ
gegen 0 geht. Dadurch wird der Fehler verringert und die Lösung
nähert sich der exakten Lösung an. Die 𝑝-Version erzielt eine Erhö-
hung der Genauigkeit durch Vergrößerung der Polynomgrade der
Ansatzfunktionen der Elemente.4
Verwandt mit der 𝑝-Methode sind die Spektralmethoden oder auch spektrale Elementmethoden.
Dies sind Verfahren zur Lösung von partiellen Differentialgleichungen mittels globaler Ansatzfunktio-
nen, die durch die Polynome 𝐿𝑖 auf ganz 𝛺 definiert sind, anstatt stückweise definierter Finite Ele-
mente. Durch die Orthogonalität dieser Polynome verschwinden viele Integrale. Dies kann nun aus-
genutzt werden, um die Berechnung von Steifigkeitsmatrizen und Massenmatrizen, die in der Struk-
turmechanik eine physikalische Bedeutung haben, zu beschleunigen.5
In dieser Bachelorarbeit soll das Thema „Schnelle Assemblierung von
FE-Steifigkeitsmatrizen bei Spektralmethoden“ genauer untersucht
werden. Zuerst werden die Grundlagen der FEM, wie die Herleitung
der schwachen Formulierung und der Steifigkeitsmatrizen, erläutert.
Anschließend wird die numerische Integration aufgezeigt und im Spe-
ziellen die für das Lösen der Integrale der Steifigkeitsmatrix benötigte
Gauß-Lobatto-Legendre-Quadraturformel beschrieben. Abschließend
werden der in Matlab programmierte Algorithmus und einige Optimie-
rungsstrategien dargelegt. Dabei werden FE-Steifigkeitsmatrizen von
bilinearen Viereckelementen (siehe Abb. 2.2) mit einer Anzahl an Kno-
ten 2 ≤ 𝑁 ≤ 100 in einer Dimension 1 ≤ 𝑑 ≤ 3 berechnet und deren
Eigenschaften analysiert. Insbesondere wird sich auf den Algorithmus aus dem Artikel „Fully Discrete
ℎ𝑝-Finite Elements: Fast Quadrature“ von J.M. Melenk [L1] bezogen, wodurch der Aufwand der Be-
rechnung von spektralen Galerkin-Elementen von 𝑂(𝑝3𝑑) erheblich reduziert werden kann. Außer-
dem werden einige Berechnungen im Computeralgebrasystem Maxima durchgeführt und nach Mat-
lab importiert, da Maxima hochgenaue numerische Ergebnisse beliebiger Genauigkeit von Gleit-
kommazahlen liefert.
2 Nach [L1], S. 1 3 Aus [I3] 4 Nach [I5] 5 Nach [L9], S. 130
7
3 Finite Elemente Methode
3.1 Grundlagen der Finiten Elemente Methode
Aus mathematischer Sicht ist die Finite Elemente Methode eine Variation des Rayleigh-Ritz-Galerkin
Verfahrens. Bei der Ritz Methode wird das kontinuierliche Problem in eine äquivalente Form, eine
sogenannte „variational form“, gebracht. Ist das Variationsproblem 𝐼(𝑢) = 𝑚𝑖𝑛 und dessen Euler-
gleichung 𝐿𝑢 = 𝑓 gegeben, so wird angenommen, dass sich die approximierte Lösung aus einer
Kombination aus gegebenen Ansatzfunktionen 𝜑1(𝑥),… , 𝜑𝑁(𝑥) zu 𝑢 ≈ ∑ 𝑞𝑖𝜑𝑖 =:𝑢𝑁𝑁𝑖=1 , 𝑞𝑖 є ℝ
ergibt, sodass 𝐼(𝑢𝑁) = 𝑚𝑖𝑛. Um nun 𝑢𝑁 zu finden, muss nur eine endliche Anzahl an Unbekannten
bestimmt werden. Man versucht zu erzielen, dass die Gewichtskoeffizienten 𝑞1, … , 𝑞𝑁 einfach zu
berechnen sind und 𝑢𝑁 für 𝑁 → ∞ möglichst schnell gegen die exakte Lösung 𝑢 konvergiert. Dies
hängt u. a. von der Wahl der Ansatzfunktionen 𝜑1, … , 𝜑𝑁 ab. Bei der linearen Finiten Elemente Me-
thode werden stückweise Polynome als Ansatzfunktionen verwendet, da die auftretenden Integrale
über einen großen Bereich des Gebiets Null ergeben und diese somit einfach zu berechnen sind.6
Man suche ein 𝑢 є 𝑉𝑁 mit
𝐵(𝑢, 𝑣) = 𝐹(𝑣). Gl. 3.1
Definition 3.1: Linearformen sind lineare Operatoren 𝐹:𝑉 → ℝ mit dem Vektorraum V.
Definition 3.2: Bilinearformen „sind Funktionen 𝐵: 𝑉 𝘹 𝑊 → ℝ zweier Argumente, welche linear in
beiden Argumenten sind, also gilt 𝐵(𝑣1 + 𝑣2, 𝑤) = 𝐵(𝑣1, 𝑤) + 𝐵(𝑣2, 𝑤), 𝐵(𝜆𝑣,𝑤) = 𝜆𝐵(𝑣, 𝑤) =
𝐵(𝑣, 𝜆,𝑤) und 𝐵(𝑣,𝑤1 + 𝑤2) = 𝐵(𝑣, 𝑤1) + 𝐵(𝑣, 𝑤2).“7
Durch Einsetzen eines Arguments wird aus einer Bilinearform eine Linearform. Nun sucht man wie
bereits beschrieben (𝑢1, … , 𝑢𝑁), sodass
𝑢(𝑥) = ∑𝑢𝑗𝜑𝑗(𝑥)
𝑁
𝑗=1
Gl. 3.2
gilt. Setzt man dies in die Bilinearform ein, erhält man
𝐵 (∑𝑢𝑗𝜑𝑗
𝑁
𝑗=1
, 𝑣) = 𝐹(𝑣) ⩝ 𝑣 є 𝑉𝑁 Gl. 3.3
und nach Definition 3.2 kann die Bilinearform umgeformt werden zu
∑𝑢𝑗
𝑁
𝑗=1
𝐵(𝜑𝑗, 𝑣) = 𝐹(𝑣) ⩝ 𝑣 є 𝑉𝑁 . Gl. 3.4
Für alle 𝑖 = 1, … , 𝑁 gilt
∑𝑢𝑗
𝑁
𝑗=1
𝐵(𝜑𝑗, 𝜑𝑖) = 𝐹(𝜑𝑖). Gl. 3.5
Mit 𝐴𝑖𝑗 = 𝐵(𝜑𝑗, 𝜑𝑖) und 𝑓𝑖 = 𝐹(𝜑𝑖) erhält man das lineare Gleichungssystem
6 Nach [L11], S. 1 ff 7 Aus [L12], S. 119
8
∑𝐴𝑖𝑗𝑢𝑗 = 𝑓𝑖
𝑁
𝑗=1
. 8 Gl. 3.6
3.2 Der Banach-, Hilbert- und Lebesgueraum
Um die Variationsformulierung der FEM zu beschreiben, müssen zunächst die Funktionenräume
𝐵(𝛺), 𝐻1(𝛺) und 𝐿2(𝛺) definiert werden.
Definition 3.3: Ein Banach-Raum 𝐵(𝛺) ist ein normierter und bezüglich der Norm ||·|| vollständiger
Vektorraum.
Beispielsweise ist 𝐶0(𝛺) ein Raum mit der Norm
||𝑢||𝐶0(𝛺)
≔ 𝑠𝑢𝑝𝑥 є 𝛺
|𝑢(𝑥)| Gl. 3.7
bzw. allgemeiner ist die Norm aus 𝐶𝑘(𝛺) der Raum der 𝑘-fach stetig differenzierbaren beschränkten
Ableitungen
||𝑢||
𝐶𝑘(𝛺)≔ 𝑠𝑢𝑝
𝑥 є 𝛺∑ |𝐷𝛼𝑢(𝑥)|
|𝛼|≤𝑘
. 9 Gl. 3.8
Definition 3.4: „Ein Hilbert-Raum H ist ein Banach-Raum, dessen Norm durch ein Skalarprodukt ⟨·,·⟩
gemäß ||𝑥|| = √⟨𝑥, 𝑥⟩ herrührt.“10
Definition 3.5: Der Lebesgue-Funktionenraum 𝐿2(𝛺) ist durch
𝐿2(ℝ𝑛) ≔ {𝑢: 𝛺 → ℝ 𝑖𝑛𝑡𝑒𝑔𝑟𝑖𝑒𝑟𝑏𝑎𝑟 | ||𝑢||𝐿2(𝛺)
< ∞} Gl. 3.9
definiert.
Im 𝐿2-Raum ist durch
||𝑢||𝐿2(𝛺)
= √∫ |𝑢(𝑥)|2𝑑𝑥
𝛺
Gl. 3.10
eine Norm beschrieben.9 Die Norm ||·||𝐻𝑘(𝛺)
aus dem normierten linearen Raum 𝐻𝑘(𝛺) ist gegeben
durch
||𝑢||𝐻𝑘(𝛺)
= √ ∑ ||𝐷𝛼𝑢||0
2
|𝛼|≤𝑘
. 11 Gl. 3.11
Definition 3.6: Liegen die schwachen Ableitungen bis zur Ordnung 𝑘 є ℕ der reellwertigen Funktionen
𝑢 є 𝐿2(𝛺) im Lebesgue-Raum 𝐿2(𝛺), so wird dieser als Sobolev-Raum 𝐻𝑘(𝛺) bezeichnet. Sie sind
strikt größer als 𝐶𝑘(�̅�). 12
Für die Menge 𝑉𝑁 (Gl. 3.1) eignen sich lineare Räume von Funktionen aus dem Sobolev-Raum 𝐻𝑘(𝛺).
8 Nach [L12], S. 119 9 Nach [L12], S. 123 10 Aus [L12], S. 123 11 Nach [L4], S. 46 12 Nach [L4], S. 45
9
3.3 Schwache Formulierung
Am Beispiel der Differentialgleichung
−𝛥𝑢(𝑥, 𝑦) + 𝛽𝑢(𝑥, 𝑦) = 𝑓(𝑥, 𝑦) 𝑖𝑛 𝛺 Gl. 3.12 𝑢(𝑥, 𝑦) = 0 𝑎𝑢𝑓 𝜕𝛺 Gl. 3.13
kann die schwache Formulierung wie folgt ermittelt werden: Man multipliziert diese mit der Test-
funktion 𝑣(𝑥, 𝑦) є 𝐻01(𝛺) und integriert über das Gebiet 𝛺, sodass
∫(−𝛥𝑢 + 𝛽𝑢)𝑣𝑑(𝑥, 𝑦) = ∫𝑓𝑣𝑑(𝑥, 𝑦)
𝛺
𝛺
Gl. 3.14
ist. Nach Green’s Satz und mit partieller Integration ergibt
∫𝛻 · (𝑣𝛻𝑢)𝑑(𝑥, 𝑦)
𝛺
= ∫𝑣𝛥𝑢𝑑(𝑥, 𝑦)
𝛺
+ ∫𝛻𝑣 · 𝛻𝑢𝑑(𝑥, 𝑦)
𝛺
Gl. 3.15
umgestellt
−∫ 𝑣𝛥𝑢𝑑(𝑥, 𝑦) = ∫ 𝛻𝑣 · 𝛻𝑢𝑑(𝑥, 𝑦) − ∫𝛻 · (𝑣𝛻𝑢)𝑑(𝑥, 𝑦)
𝛺
𝛺
𝛺
. Gl. 3.16
Gl. 3.16 eingesetzt in Gl. 3.14 und mit dem Satz von Gauss
∫ 𝛻 · 𝐹𝑑(𝑥, 𝑦) = ∮ 𝐹 · �⃑� 𝑑𝑆
𝜕𝛺
𝛺
, Gl. 3.17
also somit
∫ 𝛻 · (𝑣𝛻𝑢)𝑑(𝑥, 𝑦) = ∮ (𝑣𝛻𝑢) · �⃑� 𝑑𝑆
𝜕𝛺
𝛺
, Gl. 3.18
ergibt dies
∫(𝛻𝑣 · 𝛻𝑢 + 𝛽𝑢𝑣)𝑑(𝑥, 𝑦)
𝛺
− ∮𝜕𝑢
𝜕�⃑� 𝑣𝑑𝑆
𝜕𝛺
= ∫𝑓𝑣𝑑(𝑥, 𝑦)
𝛺
⩝ 𝑣 є 𝐻01. Gl. 3.19
Die Testfunktion 𝑣 ist auf 𝜕𝛺 gleich Null, da 𝑣 є 𝐻01(𝛺), sodass man die schwache Formulierung
∫𝛻𝑢 · 𝛻𝑣 + 𝛽𝑢𝑣𝑑(𝑥, 𝑦)
𝛺
= ∫𝑓𝑣𝑑(𝑥, 𝑦)
𝛺
⩝ 𝑣 є 𝐻01 Gl. 3.20
als Ergebnis erhält.13
3.4 Galerkin-Verfahren und lineare Finite Elemente
„Es sei 𝛥 ≔ {𝑥0, … , 𝑥𝑁} mit 𝑎 = 𝑥0 < 𝑥1 < ⋯ < 𝑥𝑁 = 𝑏 eine Unterteilung des Intervalls [𝑎, 𝑏]. Dann
ist 𝑆𝛥𝑘,𝑟 ≔ {𝑢 є 𝐶𝑟([𝑎, 𝑏])| ⩝ 𝑖 = 1, … , 𝑁: 𝑢|[𝑥𝑖−1,𝑥𝑖] є 𝒫
𝑘} ein Raum stückweise polynomialer Splines,
der global 𝑟-fach differenzierbar ist und lokal aus Polynomen 𝑘-ten Grades besteht.“14 Bei linearen
Finiten Elementen ist 𝑘 = 1 und 𝑟 = 0.
Nun wird das Poisson-Problem betrachtet: „Finde 𝑢: [0,1] → ℝ mit
−𝑢′′ = 𝑓(𝑥), 𝑥 є ]0,1[ Gl. 3.21 𝑢(0) = 𝑢(1) = 0. “ 14 Gl. 3.22
Diese Formulierung ist äquivalent zu: „Suche 𝑢 є 𝐻01([0,1]), sodass
13 Nach [L8], S. 79 f und nach [L8], S. 203 f 14 Aus [L12], S. 126
10
𝐵(𝑢, 𝑣) ≔ ∫ 𝑢′(𝑥)𝑣′(𝑥)𝑑𝑥
1
0
= ∫ 𝑓(𝑥)𝑣(𝑥)1
0
=: 𝐹(𝑣) Gl. 3.23
für alle 𝑣 є 𝐻01([0,1]) gilt.“14 Bei linearen Finiten Elementen sind beispielsweise die Hutfunktionen
eine gute Wahl, da jedes stückweise lineare und global stetige 𝜑𝑖 є 𝑆𝛥1,0 nur an den Elementen
𝑒𝑖 = [𝑥𝑖−1, 𝑥𝑖] und 𝑒𝑖+1 = [𝑥𝑖 , 𝑥𝑖+1] ungleich Null ist. Diese Elemente sind Teil der Menge
𝒢𝛥 ≔ {𝑒𝑖 = [𝑥𝑖−1, 𝑥𝑖]|𝑖 = 1, … , 𝑁} und es gilt: 𝜑𝑖(𝑥𝑗) = 𝛿𝑖𝑗 ⩝ 𝑥𝑗 є 𝛥 = {𝑥0, … , 𝑥𝑁}. Damit lassen
sich die Steifigkeitsmatrix
𝐴𝑖𝑗 ≔ 𝐵(𝜑𝑗, 𝜑𝑖) = ∫𝜑𝑖
′(𝑥)𝜑𝑗′(𝑥)𝑑𝑥
𝛺
Gl. 3.24
und
𝑓𝑖 ≔ 𝐹(𝜑𝑖) = ∫𝑓(𝑥)𝜑𝑖(𝑥)𝑑𝑥
𝛺
Gl. 3.25
berechnen.15
3.5 FEM bei Spektralmethoden mit polynomialen Formfunktionen
In den vorherigen Kapiteln wurde die Finite Elemente Methode bei stückweise linearen Elementen
erläutert, nun soll dies auf Elementen mit polynomialen Formfunktionen erweitert werden. Der
spektrale ℎ𝑝-Algorithmus von Galerkin wird anhand der Differentialgleichung
−𝛻 · (𝐷(𝑥)𝛻𝑢) = 𝑓(𝑥) 𝑖𝑛 𝛺 Gl. 3.26 𝑢 = 0 𝑎𝑢𝑓 𝜕𝛺 Gl. 3.27
mit der symmetrischen und positiv definiten Matrix 𝐷 illustriert. Die schwache Formulierung (Herlei-
tung siehe Kap. 3.3) ist
∫ 𝛻𝑣 · (𝐷(𝑥)𝛻𝑢)𝑑(𝑥, 𝑦) = ∫𝑓𝑣𝑑(𝑥, 𝑦)
𝛺
𝛺
⩝ 𝑣 є 𝐻01(𝛺). Gl. 3.28
In der ℎ𝑝-FEM wird wie bereits beschrieben das Gebiet 𝛺 in 𝑁 Elemente 𝐾 unterteilt, welche ein
Abbild des Originalelements 𝐾 = (0,1)2 in der Elementabbildung 𝐹𝐾: 𝐾 = (0,1)2 → 𝐾 und Teil der
Triangulierung 𝔍 = {𝐾} im FE-Raum 𝑆 = {𝑢 є 𝐻01(𝛺)|𝑢|𝐾 ⃘ 𝐹𝐾 є 𝑆𝑝𝐾
(𝐾)} sind. Der Raum 𝑆𝑝𝐾(𝐾)
besteht aus Polynomen vom Grad 𝑝𝐾. Nun findet man ein 𝑢 є 𝑆, sodass Gl. 3.28 für alle 𝑣 є 𝑆 gilt.
Nach einer Transformation (�̂� = (𝐹𝐾′ )−𝑇(𝐴 ⃘𝐹𝐾)(𝐹𝐾
′ )−1𝐽𝐾, 𝑓 = 𝑓 ⃘𝐹𝐾𝐽𝐾, �̂� = 𝑣 ⃘𝐹𝐾 𝑢𝑛𝑑 �̂� = 𝑢 ⃘𝐹𝐾)
kann die linke Seite der Gl. 3.28 zu
𝑎𝐾(𝑢, 𝑣) = ∫𝛻�̂� · (�̂�𝛻�̂�)𝑑(𝜉1, 𝜉2)
�̂�
= ∫ ∑𝜕�̂�
𝜕𝜉𝑖�̂�𝑖𝑗
2
𝑖,𝑗=1
𝜕�̂�
𝜕𝜉𝑗𝑑(𝜉1, 𝜉2)
�̂�
Gl. 3.29
und die rechte Seite zu 𝑙𝐾(𝑢, 𝑣) = ∫ 𝑓�̂�𝑑(𝜉1, 𝜉2)
�̂� umgeschrieben werden mit 𝐽𝐾 = 𝑑𝑒𝑡𝐹𝐾
′ . Daraus
ergibt sich die Elementsteifigkeitsmatrix
𝐴𝐾 ≔ (𝑎𝐾(𝜑𝑖, 𝜑𝑗))
𝑖,𝑗=1
𝑁= ∫ 𝛻𝜑𝑖(𝑥, 𝑦) · �̂�(𝑥, 𝑦) · 𝛻𝜑𝑗(𝑥, 𝑦)𝑑𝑥𝑑𝑦
�̂�
Gl. 3.30
und der Elementlastvektor
15 Nach [L12], S. 127
11
𝐿𝐾 ≔ (𝑙𝐾(𝜑𝑖))𝑖,𝑗=1
𝑁= ∫𝑓𝜑𝑖(𝑥, 𝑦)𝑑𝑥𝑑𝑦
�̂�
, Gl. 3.31
falls {𝜑𝑖}𝑖,𝑗=1𝑁 eine Basis aus 𝑆𝑝𝐾
(𝐾) ist. Diese lokalen Matrizen können in das globale lineare System
eingeordnet und anschließend gelöst werden.16 Um die Integrale berechnen zu können, wird im Kap.
4 auf numerische Integration eingegangen.
3.6 Fehler bei linearen Finiten Elementen
Die Galerkin-Methode minimiert den Fehler 𝑢 − 𝑢ℎ. Damit ist 𝐼(𝑣) = 𝑎(𝑣, 𝑣) − 2(𝑓, 𝑣).
Satz 3.1: 𝐼(𝑣) wird durch 𝑢 über 𝐻01 mit 𝑆ℎ є 𝐻0
1 minimiert. Dann ist
min𝑣ℎ є 𝑆ℎ
𝑎(𝑢 − 𝑣ℎ, 𝑢 − 𝑣ℎ) = min𝑣ℎ є 𝑆ℎ
𝑎(𝑢 − 𝑢ℎ, 𝑢 − 𝑢ℎ) Gl. 3.32
und 𝑢ℎ ist die Projektion von 𝑢 auf 𝑆ℎ. Somit ist der Fehler 𝑢 − 𝑢ℎ orthogonal zu 𝑆ℎ und es gilt
𝑎(𝑢 − 𝑢ℎ, 𝑣ℎ) = 0 ⩝ 𝑣ℎ є 𝑆ℎ. Gl. 3.33
Die Minimierungsfunktion 𝑢ℎ entspricht der schwachen Formulierung 𝑎(𝑢ℎ, 𝑣ℎ) = (𝑓, 𝑣ℎ),
𝑣ℎ є 𝑆ℎ. 17 Beweis siehe (Strang, G., [L11], S. 40 f). Außerdem können nach (Strang, G., [L11]) die zwei
Sätze (siehe [L11], S. 44, Theorem 1.2 und S. 45, Theorem 1.3) aufgestellt werden, sodass der Fehler
𝑎(𝑒ℎ, 𝑒ℎ) ≤ 𝐶1ℎ2||𝑢′′||
0
2≤ 𝐶2ℎ
2||𝑓||0
2 Gl. 3.34
erfüllt.18
16 Nach [L1], S. 2 ff 17 Nach [L11], S. 39 f 18 Nach [L11], S. 47
12
4 Numerische Integration
4.1 Notwendigkeit von numerischen Quadraturregeln
Zur Berechnung von FE-Steifigkeitsmatrizen müssen Integrale gelöst werden, die jedoch häufig sehr
schwierig bzw. nicht exakt berechnet werden können. Hierfür werden Quadraturregeln eingeführt,
die diese Integrale approximieren.
Definition 4.1: Eine Quadraturregel ist eine numerische Regel, durch welche der Wert eines bestimm-
ten, definierten Integrals nur durch Auswertung der Funktion an einzelnen Punkten approximiert wer-
den kann.
Für Integrale höherer Dimension wird das analoge Problem auch Kubatur-Problem genannt. Weitere
Anwendungsgebiete mit mathematischen Problemen, bei denen Quadraturregeln unabdingbar sind,
sind Integraltransformationen wie Laplace Transformation oder Anfangswertprobleme von gewöhn-
lichen Differentialgleichungen.19
Zunächst werden die Eigenschaften des Riemann-Integrals definiert.
Definition 4.2: Ist das auf dem Raum 𝐶[𝑎, 𝑏] mit 𝑎 < 𝑏 der stetigen Funktionen definierte Integral
𝐼 = ∫ 𝑓(𝑥)𝑑𝑥
𝑏
𝑎
𝑚𝑖𝑡 𝐶[𝑎, 𝑏] → ℝ Gl. 4.1
gegeben, dann sind die Eigenschaften des Riemann-Integrals wie folgt:
1. „𝐼 ist linear und für die stetigen Funktionen 𝑓, 𝑔, 𝛼, 𝛽 є ℝ gilt
𝐼(𝛼𝑓 + 𝛽𝑔) = 𝛼𝐼(𝑓) + 𝛽𝐼(𝑔)". 20 Gl. 4.2
2. 𝐼 ist positiv mit
𝑓 ≥ 0 → 𝐼(𝑓) ≥ 0 Gl. 4.3
3. 𝐼 ist additiv, also kann das Integral in beliebig viele Teilintervalle zerlegt werden.21
Im folgenden Kapitel werden zu Beginn die drei Quadraturregeln Rechteckverfahren, Sehnentrapez-
formel und Simpsonregeln erläutert und am Beispiel des Integrals ∫ sin(𝜋𝑥)1
0𝑑𝑥 nachgerechnet. Der
Fokus liegt anschließend auf der Gauß-Lobatto-Quadratur, welche für die Berechnung der Steifig-
keitsmatrizen verwendet wird.
19 Nach [L7], S. 1 ff 20 Aus [L6], S. 295 21 Nach [L6], S. 295
13
4.2 Rechteckverfahren
Hierbei wird das Intervall [𝑎, 𝑏] in 𝑛 Teilintervalle unterteilt und somit der Integrand durch eine so-
genannte Treppenfunktion angenähert. Dabei beträgt die Mitte eines Teilintervalls
𝑚𝑘 =
𝑥𝑘−1 + 𝑥𝑘
2 Gl. 4.4
und mit Hilfe der konstanten Breite 𝑏−𝑎
𝑛 eines Intervalls berechnet sich das Integral über 𝑓(𝑥) nähe-
rungsweise zu
𝐼 ≈ ∑𝑏 − 𝑎
𝑛 𝑓(𝑚𝑘)
𝑛
𝑘=1
. 22 Gl. 4.5
Beispiel 4.1: Zerlegt man das Intervall [0,1] in vier
Teilintervalle, erhält man nach Gl. 4.5 die Approxi-
mation von ∫ sin (𝜋𝑥)1
0𝑑𝑥 zu 𝐼 ≈
∑ 𝐼𝑘 =𝑛𝑘=1 0,095671 + 0,230970 + 0,230970 +
0,095671 = 0,653282.
4.3 Sehnentrapezformel
Bei der Sehnentrapezformel wird der Integrand im Intervall [𝑎, 𝑏] durch stückweise lineare Funktio-
nen und somit durch die Summe der Trapezflächen mit der mittleren Höhe eines Trapezes
ℎ𝑘 =
𝑓(𝑥𝑘−1) + 𝑓(𝑥𝑘)
2 Gl. 4.6
approximiert. Das 𝑘-te Teilgebiet hat einen Wert von
𝐼𝑘 =
𝑏 − 𝑎
2𝑛(𝑓(𝑥𝑘−1) + 𝑓(𝑥𝑘)) =
𝑏 − 𝑎
𝑛ℎ𝑘 Gl. 4.7
und die Summe aller Teilgebiete ergibt den Näherungswert für das Gesamtintegral
𝐼 ≈ ∑𝑏 − 𝑎
𝑛ℎ𝑘.
𝑛
𝑘=1
23 Gl. 4.8
Beispiel 4.2: Für die Funktion 𝑓(𝑥) = sin (𝜋𝑥) erge-
ben sich nach Gl. 4.7 die Beiträge der vier Teilinter-
valle zum Gesamtwert des Integrals im Intervall [0,1]
und man erhält so den Näherungswert 𝐼 ≈ ∑ 𝐼𝑘𝑛𝑘=1 =
0,088388 + 0,213388 + 0,213388 + 0,088388 =
0,603552.
4.4 Simpsonregel
Bei der Simpsonregel wird der Integrand durch ein Polynom 3. Grades 𝑓(𝑥) = 𝑝𝑥3 + 𝑞𝑥2 + 𝑟𝑥 + 𝑠
angenähert. Um die Quadraturregel herzuleiten, gilt in den Grenzen von – 𝑙 bis 𝑙 folgender Ansatz:
22 Nach [L3], S. 137 f, (4.2), (4.3) 23 Nach [L3], S. 138, (4.4), (4.5)
∫ 𝑓(𝑥)𝑑𝑥 = [𝑝
𝑥4
4+ 𝑞
𝑥3
3+ 𝑟
𝑥2
2+ 𝑠𝑥]
𝑙
−𝑙
𝑙
−𝑙=
2
3𝑞𝑙3 + 2𝑠𝑙 =
1
3𝑙(𝑓(−𝑙) + 4𝑓(0) + 𝑓(𝑙)). Gl. 4.9
Abb. 4.2: Graph zum Veranschaulichen der Sehnentrapezformel mit äquidistanten Stütz-stellen
Abb. 4.1: Graph zum Veranschaulichen des Rechteckverfahrens mit Teilintervallen (blau)
14
Abb. 4.3: Graph zum Veranschaulichen der Simp-sonregel
Somit kann das Integral über ein Polynom 3. Grades
durch die Funktionswerte 𝑓(−𝑙), 𝑓(0) und 𝑓(𝑙)
eindeutig bestimmt werden. Das Intervall [𝑎, 𝑏]
wird in 𝑛 Doppelstreifen der Länge 2𝑙 zerlegt, so-
dass
𝑙 = 𝑥2𝑘 − 𝑥2𝑘−1 =
𝑏 − 𝑎
2𝑛. 24 Gl. 4.10
Der Wert des Gesamtintegrals errechnet sich über
die Summe der einzelnen Teilintervalle zu
𝐼 = ∑ 𝐼𝑘
𝑛
𝑘=1
= ∑ ∫ 𝑓(𝑥)𝑑𝑥𝑥𝑘+1
𝑥𝑘−1
𝑛
𝑘=1
≈𝑏 − 𝑎
6𝑛(𝑓(𝑥𝑘−1) + 4𝑓(𝑥𝑘) + 𝑓(𝑥𝑘+1)). 25 Gl. 4.11
Beispiel 4.3: Im Beispiel ∫ sin (𝜋𝑥)1
0𝑑𝑥 im Intervall [0,1] werden bei der Simpsonregel effektiv 9
Stützstellen verwendet.26 Das Gesamtintegral lässt sich nach Gl. 4.11 näherungsweise zu 𝐼 ≈
∑ 𝐼𝑘 =𝑛𝑘=1 0,093243 + 0,225109 + 0,225109 + 0,093243 = 0,636704 berechnen.
4.5 Vergleich der Verfahren und Güte einer Quadraturregel
Um nicht sinnlose Quadraturregeln zu erzeugen, müssen geeignete Kriterien bestimmt werden. Eine
Möglichkeit ist durch den Grad an Genauigkeit der Näherungslösung zur exakten Lösung definiert.
Somit minimiert eine gute Quadraturregel die Norm des Fehlers.27 Eine zweite Möglichkeit ist, den
Grad einer Regel zu bestimmen, welche durch den maximal, exakt integrierbaren Polynomgrad defi-
niert ist. Hierfür muss die Anzahl der existierenden Ableitungen von 𝑓(𝑥) größer als der Grad der
Quadraturregel sein.28
Der Vergleich der Ergebnisse der Verfahren aus den vorherigen Kapiteln zur exakten Lösung ergibt,
dass ∫ sin(𝜋𝑥)𝑑𝑥1
0 durch das Rechteckverfahren und die Sehnentrapezformel auf eine Genauigkeit
von einer und durch die Simpsonregel auf zwei Nachkommastellen genau approximiert wird (siehe
Tab. 4.1).26
24 Nach [L3], S. 138, (4.7), (4.8), (4.9) 25 Aus [L3], S. 140, (4.11) 26 Nach [L3], S. 141 27 Nach [L7], S. 93 28 Nach [L7], S. 116
Verfahren Approximation von ∫ sin(𝜋𝑥)𝑑𝑥1
0
Rechteckverfahren 0,653282
Sehnentrapezformel 0,603552
Simpsonregel 0,636704
Analytische Lösung 2
𝜋≈ 0,636620
Tab. 4.1: Vergleich der Ergebnisse der Verfahren zur exakten Lösung
15
4.6 Gaußsche Quadratur
4.6.1 Grundlagen der Gaußschen Quadratur Der Integrand der Funktion 𝑓(𝑥) kann im Eindimensionalen mithilfe der Gauß-Quadratur29, auch
Gauß-Christoffel-Quadratur genannt,
∫ 𝜔(𝑥)𝑓(𝑥)𝑑𝑥 = ∑𝜔𝑖𝑓(𝜉𝑖)
𝑛
𝑖=1
1
−1
+ 𝑅𝑛 Gl. 4.12
mit den Wichtungsfaktoren 𝜔𝑖 und den Stützstellen 𝜉𝑖 (häufig auch Knoten genannt) näherungs-
weise berechnet werden.30 Zur Vereinfachung der Berechnung sollte zunächst das im beliebigen In-
tervall 𝑥 є [𝑎, 𝑏] gegebene Integral auf das lokale Einheitsintervall 𝜉 є [−1,1] transformiert wer-
den. Die Substitutionen werden entsprechend den Formeln
𝑥(𝜉) =
𝑎 + 𝑏
2+
𝑏 − 𝑎
2𝜉, 𝜉(𝑥) =
𝑎 + 𝑏
𝑎 − 𝑏+
2𝑥
𝑏 − 𝑎 Gl. 4.13
𝑑𝑥 =
𝑏 − 𝑎
2𝑑𝜉, 𝑑𝜉 =
2
𝑏 − 𝑎𝑑𝑥 Gl. 4.14
vorgenommen.31 𝜔(𝑥) ist die Gewichtsfunktion, die im Folgenden definiert wird.
Definition 4.3: Die Gewichtsfunktion 𝜔(𝑥) ist eine Funktion, die nichtnegativ über das gegebene In-
tervall ist. Häufig ist die Funktion normalisiert, sodass ∫ 𝜔(𝑥) = 1𝑏
𝑎. Somit kann das Integral
∫ 𝜔(𝑥)𝑓(𝑥)𝑑𝑥𝑏
𝑎 als gewichteter Durchschnitt von 𝑓(𝑥) interpretiert werden. 32
Beispiel 4.4: Die Funktion 𝑓(𝑥) = 𝑠𝑖𝑛(𝜋𝑥) aus den vorherigen Kapiteln
soll nun in den Grenzen von 𝑎 = 0 bis 𝑏 = 1 mithilfe der Gauß-
Quadratur der Ordnung 𝑛 = 3 integriert werden. Dabei ist nach Gl. 4.13
𝑥(𝜉) =
1
2+
1
2𝜉 Gl. 4.15
und nach Gl. 4.14
𝑑𝑥 =
1 − 0
2𝑑𝜉 =
1
2𝑑𝜉, Gl. 4.16
um das Intervall 𝑥 є [0,1] auf das lokale Einheitsintervall 𝜉 є [−1,1] zu
transformieren. Nun kann folgender Ansatz erstellt werden:
∫ sin(𝜋𝑥)𝑑𝑥 = ∫ sin (𝜋 (1
2+
1
2𝜉))
1
2𝑑𝜉
1
−1
≈ ∑𝜔𝑖𝑓(𝜉𝑖)
𝑛
𝑖=1
1
0
Gl. 4.17
Setzt man nun die Stützstellen und Gewichte, die in Tab. 4.2 vorgegeben sind, ein, erhält man die
Approximationslösung mit
29 Benannt nach Carl Friedrich Gauß, veröffentlich im Jahr 1814 (nach [I2]) 30 Aus [L2], S. 321, (B.1) 31 Nach [L3], S. 143, (4.27), (4.28) 32 Nach [L5], S. 16, (1.10.1)
𝜉𝑖 𝜔𝑖
𝑖 = 1 −√3
5
5
9
𝑖 = 2 0 8
9
𝑖 = 3 √3
5
5
9
Tab. 4.2: Stützstellen und Ge-wichte der Gauß-Quadratur für 𝑛 = 3 Stützstellen aus Tab. 7.1
∫ sin(𝜋𝑥) 𝑑𝑥 ≈ 0,096309 + 0,444444 + 0,096309 = 0,637062
1
0
, Gl. 4.18
16
die sich der exakten Lösung von 0,636620 bis auf die zweite Nachkommastelle genau annähert. Um
die bereits verwendeten Gewichte und Stützstellen zu berechnen, kann nun mit der allgemeinen
Gleichung
∫ 𝑓(𝜉)𝑑𝜉 ≈ ∑𝜔𝑖𝑓(𝜉𝑖)
𝑛
𝑖=1
1
−1
Gl. 4.19
zur Veranschaulichung für 𝑛 = 1 der Ansatz
𝜔1 = ∫ 𝑑𝜉 = 2
1
−1
Gl. 4.20
𝜔1𝜉1 = ∫ 𝜉𝑑𝜉 = 0
1
−1
Gl. 4.21
und für 𝑛 = 2 der Ansatz
𝜔1 + 𝜔2 = ∫ 𝑑𝜉 = 2
1
−1
Gl. 4.22
𝜔1𝜉1+𝜔2𝜉2 = ∫ 𝜉𝑑𝜉 = 0
1
−1
Gl. 4.23
𝜔1𝜉1
2+𝜔2𝜉22 = ∫ 𝜉2𝑑𝜉 =
2
3
1
−1
Gl. 4.24
𝜔1𝜉1
3+𝜔2𝜉23 = ∫ 𝜉3𝑑𝜉 = 0
1
−1
Gl. 4.25
erstellt werden, sodass mit diesen Ansätzen eine eindeutige Lösung bestimmt werden kann.33 Man
erhält jeweils ein 2𝑛-dimensionales Gleichungssystem, das zwar immer lösbar ist, dies jedoch durch
seine Nichtlinearität sehr schwierig ist. Eine einfachere Möglichkeit zur Herleitung der Stützstellen
und Gewichte ergibt sich durch orthogonale Polynome, die im Kap. 4.6.2 genauer betrachtet werden
sollen.
4.6.2 Legendre-Polynome Definition 4.4: „Eine Schar von Polynomen
𝑃𝑛(𝑥) = 𝑥𝑛 + 𝑎𝑛,𝑛−1𝑥𝑛−1 + ⋯+ 𝑎𝑛,1𝑥 + 𝑎𝑛,0 = (𝑥 − 𝑥1)(𝑥 − 𝑥2)… (𝑥 − 𝑥𝑛) Gl. 4.26
wird als auf dem Intervall [𝑎, 𝑏] orthogonal bezüglich der Gewichtsfunktion 𝜔(𝑥) bezeichnet, wenn
∫ 𝑃𝑛(𝑥)𝑃𝑚(𝑥)𝜔(𝑥)𝑑𝑥 = 0 𝑓ü𝑟 𝑚 ≠ 𝑛 𝑚, 𝑛 = 0,1,2, …
𝑏
𝑎
Gl. 4.27
gilt.“34 𝑥1, 𝑥2, … , 𝑥𝑛 sind die Nullstellen des Polynoms 𝑃𝑛(𝑥). Wenn
∫ 𝑃𝑛(𝑥)𝑃𝑚(𝑥)𝜔(𝑥)𝑑𝑥 = 1
𝑏
𝑎
𝑓ü𝑟 𝑚 ≠ 𝑛 𝑚, 𝑛 = 0,1,2, … Gl. 4.28
gilt, nennt man diese Polynome orthonormal.
Satz 4.1: „Ist 𝜔(𝑥) eine Gewichtsfunktion, so sind die Nullstellen 𝑥𝑛 der orthogonalen Polynome 𝑃𝑛(𝑥) alle reell, verschieden und liegen innerhalb des Intervalls [𝑎, 𝑏].“35
33 Nach [L3], S. 142, (4.18), (4.19), (4.21) 34 Aus [L3], S. 144, Definition (4.1) 35 Aus [L3], S. 144, Satz (4.1)
17
Definition 4.5: Die Legendre-Polynome 𝑃𝑛(𝑥) sind durch die Gewichtsfunktion 𝜔(𝑥) = 1 im Intervall
[−1,1] definiert.
Weitere Arten von Polynomen sind in Tab. 4.3 gegeben.
Name: Intervall: Gewichtsfunktion: Symbol:
Legendre [−1,1] 1 𝑃𝑛(𝑥)
Jacobi [−1,1] (1 − 𝑥)𝛼(1 + 𝑥)𝛽 , 𝛼, 𝛽 > 1 𝑃𝑛(𝛼,𝛽)
(𝑥)
Tschebyscheff [−1,1] √1 − 𝑥² 𝑈𝑛(𝑥)
Laguerre [0,∞) 𝑒−𝑥 𝐿𝑛(𝑥)
Generalized Laguerre [0,∞) 𝑥𝛼𝑒−𝑥, 𝛼 > −1 𝐿𝑛(𝛼)
(𝑥)
Hermite (−∞,∞) 𝑒−𝑥² 𝐻𝑛(𝑥)
Tab. 4.3: Klassische orthogonale Polynome und ihre Gewichtsfunktion36
Um diese orthogonalen Polynome 𝑃𝑛(𝑥) zu berechnen, gibt es unterschiedliche Möglichkeiten, die
kurz vorgestellt werden sollen.
Orthonormale Polynome:
Um normierte Polynome zu berechnen, kann man den Ansatz 𝑃0(𝑥) = 𝑎 aufstellen. Da für ortho-
normale Polynome die Normierungsbedingung
∫ (𝑃𝑛(𝑥))
2𝑑𝑥 =
2
2𝑛 + 1
1
−1
Gl. 4.29
gleich 1 ist und
⟨𝑃𝑛, 𝑃𝑚⟩ =
0 𝑤𝑒𝑛𝑛 𝑛 ≠ 𝑚1 𝑤𝑒𝑛𝑛 𝑛 = 𝑚
Gl. 4.30
gilt37, kann mit
∫ 𝑃0
2(𝑥)𝑑𝑥 = 2𝑎 = 11
−1
Gl. 4.31
das Polynom 0. Grades zu 𝑃0(𝑥) =1
2 ermittelt werden. Für Polynome höheren Grades erfolgt der
Ansatz sinngemäß.
Rekursionsformel:
Nach der Gleichung
𝑃𝑛(𝑥) =
2𝑛 − 1
𝑛𝑥𝑃𝑛−1(𝑥) −
(𝑛 − 1)
𝑛𝑃𝑛−2(𝑥) 𝑓ü𝑟 𝑛 = 1,2,… 38 Gl. 4.32
können mit
𝑃−1(𝑥) = 0, 𝑃0(𝑥) = 1 Gl. 4.33
die orthogonalen Polynome (siehe Gl. 4.39 bis Gl. 4.42) rekursiv berechnet werden.
36 Nach [L5], S. 24 37 Nach [L5], S. 73, (2.7.4) und S. 27 38 Nach [L5], S. 88, (2.7.3.1)
18
Abb. 4.4: Orthogonale Legendre-Polynome 𝑃𝑛(𝑥) für 0 ≤ 𝑛 ≤ 5
Drei-Term-Rekursion:
Nach der Formel
𝑃𝑛(𝑥) = (𝑥 − 𝑎𝑛)𝑃𝑛−1(𝑥) − 𝑏𝑛𝑃𝑛−2(𝑥) 𝑓ü𝑟 𝑛 = 1,2,… Gl. 4.34
können ebenfalls orthogonale Polynome mit den Anfangsbedingungen
𝑃−1(𝑥) = 0, 𝑃0(𝑥) = 1, 𝑃1(𝑥) = 𝑥 − 𝛽1 Gl. 4.35
und
𝑎𝑛 =
𝐼𝑛,𝑛−1
𝐼𝑛−1,𝑛−1, 𝑏𝑛 =
𝐼𝑛−1,𝑛−1
𝐼𝑛−2,𝑛−2, Gl. 4.36
𝐼𝑛−1,𝑛−1 = ∫ 𝑥𝑛−1𝑃𝑛−1(𝑥)𝑑𝑥
𝑏
𝑎
Gl. 4.37
und
𝐼𝑛−2,𝑛−2 = ∫ 𝑥𝑛−2𝑃𝑛−2(𝑥)𝑑𝑥
𝑏
𝑎
Gl. 4.38
ermittelt werden.39
Beispielsweise erhält man die orthogonalen Polynome vom Grad 0, 1, 2 und 3 (siehe Abb. 4.4) zu
𝑃0(𝑥) = 1 Gl. 4.39 𝑃1(𝑥) = 𝑥 Gl. 4.40
𝑃2(𝑥) =3
2𝑥2 −
1
2 Gl. 4.41
𝑃3(𝑥) =
5
2𝑥3 −
3
2𝑥. Gl. 4.42
Die Nullstellen des 𝑛-ten Polynoms liegen somit innerhalb des Intervalls [−1,1] und zwischen den
Nullstellen des Polynoms 𝑃𝑛−1(𝑥) vom Grad (𝑛 − 1) und sind reell.
39 Nach [L3], S. 146 ff, (4.40), (4.41), (4.46), (4.47), (4.51) und nach [L5], S. 73, (2.6.7)
19
4.6.3 Bestimmung der Gauß-Quadraturformeln
Die Stützstellen für die Gauß-Quadratur vom Grad 𝑛 sind die Nullstellen des orthogonalen Polynoms
𝑃𝑛(𝑥) vom Grad 𝑛. Die Gewichte sind nach
𝜔𝑖 = ∫ 𝐿𝑖(𝑥)𝑑𝑥
𝑏
𝑎
= ∫ ∏𝑥 − 𝜉𝑗
𝜉𝑖 − 𝜉𝑗𝑑𝑥
1≤𝑗≤𝑛𝑗≠𝑖
𝑏
𝑎
Gl. 4.43
für einen Grad 𝑛 mit den Lagrange-Polynomen 𝐿𝑖(𝜉𝑗) = 𝛿𝑖𝑗 definiert und sind stets positiv (siehe Tab.
7.1).40 Außerdem erfüllen sie die Gleichung
𝜔𝑖 = −
𝑎𝑛+1
𝑎𝑛
1
𝑃𝑛+1(𝜉𝑖)𝑃𝑛′(𝜉𝑖)
Gl. 4.44
mit dem Führungskoeffizienten 𝑎𝑛 des orthonormalen Polynoms 𝑃𝑛(𝑥) = 𝑎𝑛𝑥𝑛 + ⋯.41 Gl. 4.44 kann
mit der Norm des Polynom 𝑛-ten Grades (siehe Gl. 4.29) und
𝑎𝑛 = 𝛽𝑛√2𝑛 + 1
2, Gl. 4.45
wobei
𝛽𝑛 =
1
2𝑛(2𝑛𝑛
) Gl. 4.46
ist42, umgestellt werden zu
𝜔𝑖 = −
1
𝑎𝑛2
1
𝛽𝑛+1𝑃𝑛+1(𝜉𝑖)𝛽𝑛𝑃𝑛′(𝜉𝑖)
= ⟨𝑃𝑛, 𝑃𝑛⟩1
𝑃𝑛+1(𝜉𝑖)𝑃𝑛′(𝜉𝑖)
. Gl. 4.47
Satz 4.2: Da das Polynom 𝑃𝑛 (𝑛 − 1) Koeffizienten besitzt, können maximal Polynome vom Grad 𝑁 ≤
2𝑛 − 1 exakt integriert werden.43
Beweis 4.1: Für die Gauß-Quadratur 𝐼𝑛−1(𝑓) = ∑ 𝜔𝑖𝑓(𝜉𝑖)𝑛𝑖=1 gilt: Falls die Approximation des Inte-
grals 𝐼𝑛−1(𝑓) exakt auf dem Polynom (𝑛 − 1)-ten Grades ist, dann ist diese Approximation auch
exakt für das Polynom (2𝑛 − 1)-ten Grades. 𝜉1, 𝜉2, … , 𝜉𝑛 seien die Nullstellen des 𝑛-ten Orthogonal-
polynoms 𝑃𝑛(𝑥). Diese Behauptung wird wie folgt bewiesen: Ist 𝐼𝑛−1 exakt auf 𝑃𝑛−1 und 𝑃 є 𝒫2𝑛−1,
dann kann 𝑃 mit den Polynomen 𝑄, 𝑅 є 𝑃𝑛−1 als 𝑃 = 𝑄𝑃𝑛 + 𝑅 geschrieben werden. Somit ist
∫ 𝜔𝑃 = ∫ 𝜔(𝑄𝑃𝑛 + 𝑅)
𝑏
𝑎
= ∫ 𝜔𝑅𝑏
𝑎
= 𝐼𝑛−1(𝑅)𝑏
𝑎
, Gl. 4.48
da der erste Term aufgrund der Orthogonalität von 𝑄 und 𝑃𝑛 Null ergibt. Nun kann dies rückwärts auf
die Quadraturformel angewendet werden und es gilt 𝐼𝑛(𝑅) = 𝐼𝑛(𝑃). Damit ist bewiesen, dass die
Gauß-Quadratur für Polynome bis zum Grad (2𝑛 − 1) exakt ist.44
40 Nach [L6], S. 307 41 Nach [L5], S. 88 f, (2.7.3.6), (2.7.3.7) 42 Nach [L5], S. 27 43 Nach [L6], S. 305 44 Nach [L6], S. 306 f
20
Abb. 4.5: Darstellung der Transformation vom globalen (links) zum lokalen (rechts) Gebiet
4.6.4 Gaußsche Quadratur: Zwei- und Mehrdimensional
Durch Multiplikation eindimensionaler Quadraturformeln, wird ein zweidimensionales Integral nach
∫ ∫𝑓(𝜉, 𝜂)𝑑𝜉𝑑𝜂 ≈
1
−1
1
−1
∑∑𝑓(𝜉𝑖, 𝜂𝑖)𝜔𝑖𝜔𝑗
𝑛
𝑗=1
𝑛
𝑖=1
Gl. 4.49
bzw. im Dreidimensionalen analog berechnet. Zur vereinfachten Berechnung sollte das Gebiet auf
das Einheitsgebiet 𝜉, 𝜂 = [−1,1]𝘹[−1,1] transformiert werden. Dies wird durch Abb. 4.545 verdeut-
licht, worauf jedoch nicht genauer eingegangen wird.46
4.6.5 Gauß-Integration mit vordefinierten Stützstellen In diesem Kapitel wird die Gauß-Integration mit fest vorgegebenen Stützstellen 𝑦𝑖 , 𝑖 = 1, … ,𝑚 be-
handelt, im Speziellen die Gauß-Lobatto-Integration, die eben diese Stützstellen bei 𝑦1 = −1 und
𝑦𝑛 = 1 besitzt und die Gewichtsfunktion 𝜔(𝑥) = 1 ist. Ein Integral über 𝑓(𝑥) innerhalb des Intervalls
[𝑎, 𝑏] wird nach Gleichung
∫ 𝑓(𝑥)𝑑𝑥 ≈ ∑𝑎𝑖𝑓(𝑦𝑖) + ∑𝜔𝑖𝑓(𝜉𝑖)
𝑛
𝑖=1
𝑚
𝑖=1
𝑏
𝑎
Gl. 4.50
angenähert, wobei die hintere Summation vom Grad 𝑛 ist und 𝑚 die Anzahl der vordefinierten Stütz-
stellen entspricht. 𝑎𝑖, 𝜔𝑖 und 𝜉𝑖 sind gesucht, sodass sie Polynome vom Grad (𝑚 + 2𝑛 − 1) exakt
integrieren.
Satz 4.3: Bei der Gauß-Quadratur mit vordefinierten Stützstellen ist der maximal integrierbare Poly-
nomgrad (𝑚 + 2𝑛 − 1) und es sind folgende zwei Bedingungen erfüllt:
1. Die Regel ist exakt für Polynome vom Grad ≤ 𝑚 + 𝑛 − 1
2. Für jedes Polynom 𝑝(𝑥) vom Grad ≤ 𝑛 − 1 gilt: ∫ 𝑟(𝑥)𝑠(𝑥)𝑝(𝑥)𝑑𝑥 = 0𝑏
𝑎
45 Nach [L3], S. 154, Abb. 4.4 46 Nach [L3], S. 152 f, (4.74), (4.86)
21
Die Polynome
𝑟(𝑥) = (𝑥 − 𝑦1)(𝑥 − 𝑦2)… (𝑥 − 𝑦𝑚) Gl. 4.51
𝑠(𝑥) = (𝑥 − 𝑥1)(𝑥 − 𝑥2)… (𝑥 − 𝑥𝑛) Gl. 4.52
mit den Stützstellen 𝑦1, 𝑦2, … , 𝑦𝑚 bzw. 𝑥1, 𝑥2, … , 𝑥𝑛 sind vom Grad 𝑚 bzw. 𝑛.47 Für den Beweis wer-
den die Skalarprodukte
⟨𝑢, 𝑣⟩ = ∫ 𝑢(𝑥)𝑣(𝑥)𝑑𝑥
𝑏
𝑎
Gl. 4.53
und
⟨𝑢, 𝑣⟩𝑟 = ∫ 𝑢(𝑥)𝑣(𝑥)𝑟(𝑥)𝑑𝑥
𝑏
𝑎
, 𝑟(𝑥) ≥ 0 Gl. 4.54
definiert.
Beweis 4.2: Der Beweis von (1.) ist trivial, da Funktionen 𝑛-ten Grades mithilfe der Lagrange-
Interpolation exakt integriert werden können. Nun wird davon ausgegangen, dass 𝑝(𝑥) vom Grad ≤
𝑛 − 1 ist. Dann ist 𝑡(𝑥) = 𝑟(𝑥)𝑠(𝑥)𝑝(𝑥) ein Polynom vom Grad ≤ 𝑚 + 2𝑛 − 1. Nimmt man nun an,
dass (1.) und (2.) gilt, kann man 𝑡(𝑥) = 𝑟(𝑥)𝑠(𝑥)𝑞(𝑥) + 𝑣(𝑥) mit dem Polynom 𝑞(𝑥) vom Grad ≤
𝑛 − 1 und 𝑣(𝑥) vom Grad ≤ 𝑚 + 𝑛 − 1 definieren. Folglich ist
∫ 𝑡(𝑥)𝑑𝑥 = ∫ [𝑟(𝑥)𝑠(𝑥)𝑞(𝑥) + 𝑣(𝑥)]𝑑𝑥
𝑏
𝑎
= ∫ 𝑣(𝑥)𝑑𝑥𝑏
𝑎
𝑏
𝑎
, Gl. 4.55
da der erste Teil durch (2.) verschwindet (siehe Beweis der Gauß-Integration im Kap. 4.6.3). Nun ist
𝑟(𝑥)𝑞𝑛(𝑥) mit den orthogonalen Polynomen 𝑞𝑛(𝑥), 𝑛 = 0,1,… eine Linearkombination aus den Po-
lynomen 𝑝𝑛(𝑥),… . , 𝑝𝑛+𝑚(𝑥). Am Beispiel der Gauß-Lobatto-Integration mit den Polynomen
𝑝𝑛(𝑥), 𝑝𝑛+1(𝑥), 𝑝𝑛+2(𝑥) ist dies
𝑟(𝑥)𝑞𝑛(𝑥) = |
𝑝𝑛(𝑥) 𝑝𝑛+1(𝑥) 𝑝𝑛+2(𝑥)
𝑝𝑛(−1) 𝑝𝑛+1(−1) 𝑝𝑛+2(−1)𝑝𝑛(1) 𝑝𝑛+1(1) 𝑝𝑛+2(1)
|. Gl. 4.56
Die Determinante ausmultipliziert ergibt in diesem Fall
𝑟(𝑥)𝑞𝑛(𝑥) = 𝑎𝑝𝑛(𝑥) + 𝑏𝑝𝑛+1(𝑥) + 𝑐𝑝𝑛+2(𝑥). 48 Gl. 4.57
Die rechte Seite dieser Gleichung ist in 𝒫𝑛+2 und es gilt
⟨𝑟(𝑥)𝑞𝑛(𝑥), 𝑝(𝑥)⟩ = ⟨𝑞𝑛, 𝑝⟩𝑟 = 0, Gl. 4.58
da jedes orthonormale Polynom orthogonal zu jedem Polynom niedrigeren Grades ist und 𝑟(𝑥)𝑞𝑛(𝑥)
vom Grad (𝑛 + 2) und 𝑝(𝑥) aus 𝒫𝑛−1 ist.
Nun muss noch folgende Behauptung bewiesen werden.
Satz 4.4: Es gilt:
𝑞𝑛(𝑥) = 𝛼𝑝𝑛+1′ (𝑥). Gl. 4.59
47 Nach [L5], S. 77, (2.7.1.1), (2.7.1.2) 48 Nach [L5], S. 78 ff, (2.7.1.3), (2.7.1.6)
22
Beweis 4.3:
1. Die Grade von 𝑞𝑛(𝑥) und 𝑝𝑛+1′ (𝑥) stimmen überein, da die Ableitung eines Polynoms (𝑛 +
1)-ten Grades vom Grad 𝑛 ist.
2. Es gilt 𝑞𝑛⏊𝑟 𝒫𝑛−1, indem man zeigt, dass 𝑝𝑛+1′ ⏊𝑟𝒫𝑛−1 ist und somit folgt aus
⟨𝑝𝑛+1′ , 𝑝⟩𝑟 = ⟨𝑝𝑛+1
′ (𝑥)𝑟(𝑥), 𝑝(𝑥)⟩
= ∫ 𝑝𝑛+1′ (𝑥)𝑟(𝑥)𝑝(𝑥)𝑑𝑥 = ⟨𝑝𝑛+1, (𝑟(𝑥)𝑝(𝑥))
′⟩ = 0
1
−1
Gl. 4.60
die Behauptung.
4.6.6 Gauß-Lobatto-Legendre-Quadraturformel Bei der Gauß-Lobatto-Integration wird die Funktion 𝑓(𝑥) im Intervall [−1,1] mit
∫ 𝑓(𝑥)𝑑𝑥 =2
𝑛(𝑛 − 1)[𝑓(1) + 𝑓(−1)] + ∑ 𝑤𝑖𝑓(𝜉𝑖) + 𝑅𝑛
𝑛−1
𝑖=2
1
−1
Gl. 4.61
approximiert. Die Stützstellen 𝜉𝑖 sind die Nullstellen der Ableitung des Legendre-Polynoms 𝑃𝑛−1′ (𝑥)
vom Grad (𝑛 − 1) mit den vordefinierten Stützstellen bei 𝑦1 = −1 und 𝑦𝑛 = 1. Die Gewichte erhält
man nach
𝜔𝑖 =
2
𝑛(𝑛 − 1)[𝑃𝑛−1(𝜉𝑖)]2 . 49 Gl. 4.62
4.6.7 Fehler von Gauß- und Gauß-Lobatto-Legendre-Quadraturformeln Der Fehler der Gauß-Quadraturformel im Intervall [−1,1] ist50
𝑅𝑛 =
22𝑛+1(𝑛!)4
(2𝑛 + 1)[(2𝑛)!]3𝑓(2𝑛)(𝜉) , − 1 < 𝜉 < 1 Gl. 4.63
und der Gauß-Lobatto-Quadraturformel ist51
𝑅𝑛 =
−𝑛(𝑛 − 1)32𝑛−1[(𝑛 − 2)!]4
(2𝑛 − 1)[(2𝑛 − 2)!]3𝑓(2𝑛−2)(𝜉) , − 1 < 𝜉 < 1 Gl. 4.64
worauf nicht genauer eingegangen wird.
49 Nach [L5], S. 80, (2.7.1.11), (2.7.1.12) 50 Aus [L5], S. 75 (2.7.11) 51 Aus [L5], S. 80, (2.7.1.13)
23
5 FE-Steifigkeitsmatrizen
5.1 Grundlagen von FE-Steifigkeitsmatrizen
Wie in Kap. 3 „Finite Elemente Methode“ hergeleitet, erhält man die FE-Steifigkeitsmatrizen für den
eindimensionalen Fall nach der Gleichung
𝐴𝑖𝑗 = ∫𝐿𝑖
′(𝑥) · 𝐷(𝑥) · 𝐿𝑗′ (𝑥)
𝛺
𝑑𝑥 Gl. 5.1
und im Zweidimensionalen mit
[𝐴𝑖𝑗]𝑘𝑙 = ∫𝛻𝐿𝑖𝑗(𝑥, 𝑦) · 𝐷(𝑥, 𝑦) · 𝛻𝐿𝑘𝑙(𝑥, 𝑦)𝑑𝑥𝑑𝑦
𝛺
, Gl. 5.2
wobei 𝐿𝑖 und 𝐿𝑗 die 1D-Formfunktionen, 𝐿𝑖𝑗 und 𝐿𝑘𝑙 die 2D-Formfunktionen, 𝐷 die Dehnratenfunkti-
on und 𝐴 die Steifigkeitsmatrix der Größe 𝑁𝑑𝘹𝑁𝑑 sind. Nun kann ausgenutzt werden, dass die Kno-
ten die Gauß-Lobatto-Stützstellen im Intervall [−1,1] sind und Gl. 5.2 kann für 𝑁 ≥ 2 (Anzahl der
Stützstellen in eine Koordinatenrichtung) mithilfe der Gauß-Lobatto-Quadraturformel aus Kap. 4 zu
[𝐴𝑖𝑗]𝑘𝑙 = ∫ 𝐷(𝑥, 𝑦) · ((𝜕𝑥𝐿𝑖𝑗(𝑥, 𝑦)) · (𝜕𝑥𝐿𝑘𝑙(𝑥, 𝑦)) + (𝜕𝑦𝐿𝑖𝑗(𝑥, 𝑦)) · (𝜕𝑦𝐿𝑘𝑙(𝑥, 𝑦))) 𝑑𝑥𝑑𝑦
𝛺
Gl. 5.3
= ∫ ∫ 𝐷(𝑥, 𝑦)1
−1
1
−1
· ((𝜕𝑥𝐿𝑖(𝑥)𝐿𝑗(𝑦)) · (𝜕𝑥𝐿𝑘(𝑥)𝐿𝑙(𝑦)) + (𝜕𝑦𝐿𝑗(𝑦)𝐿𝑖(𝑥))
· (𝜕𝑦𝐿𝑙(𝑦)𝐿𝑘(𝑥))) 𝑑𝑥𝑑𝑦
Gl. 5.4
≈ ∑ ∑ 𝜔𝑚𝜔𝑏𝐷(𝜉𝑚, 𝜉𝑏)
𝑁
𝑏=1
𝑁
𝑚=1
· ((𝐿𝑖′(𝜉𝑚)𝐿𝑗(𝜉𝑏)) · (𝐿𝑘
′ (𝜉𝑚)𝐿𝑙(𝜉𝑏)) + (𝐿𝑗′(𝜉𝑏)𝐿𝑖(𝜉𝑚))
· (𝐿𝑙′(𝜉𝑏)𝐿𝑘(𝜉𝑚))) ⩝ 𝑖, 𝑗, 𝑘, 𝑙 = 1,2,… ,𝑁
Gl. 5.5
umgeformt werden, falls 𝐷(𝑥, 𝑦) ein Skalar ist. In höherdimensionalen Gebieten geschieht dies ana-
log. Am Beispiel des ersten Terms ist 𝐿𝑖′(𝜉𝑚)𝐿𝑗(𝜉𝑏) = 0, falls 𝑗 ≠ 𝑏. Somit ergibt sich eine dünnbe-
setzte Steifigkeitsmatrix. Anschließend kann das Gleichungssystem 𝐴𝑢 = 𝑓 mit
𝑓 = ∫ ∫ 𝑓(𝑥, 𝑦)
1
−1
𝐿𝑖𝑗(𝑥, 𝑦)𝑑𝑥𝑑𝑦1
−1
≈ ∑∑𝜔𝑚𝜔𝑏
𝑁
𝑏=1
𝑓(𝜉𝑚, 𝜉
𝑏) · 𝐿𝑖(𝜉𝑚
) · 𝐿𝑗(𝜉𝑏) ⩝ 𝑖, 𝑗 = 1,2,… ,𝑁
𝑁
𝑚=1
Gl. 5.6
gelöst werden.
5.2 Formfunktionen
Zur Berechnung der FE-Steifigkeitsmatrizen benötigt man polynomiale Ansatzfunktionen vom Grad
𝑁 ≥ 2. Die Lagrange-Basispolynome (𝑁 − 1)-ten Grades können mit der Formel
24
𝐿𝑖(𝜉) = ∏𝜉 − 𝜉𝑗
𝜉𝑖 − 𝜉𝑗
𝑁
𝑖=1𝑖≠𝑗
Gl. 5.7
bestimmt werden52, welche die Bedingungen
𝐿𝑖(𝑥) = 𝛿𝑖𝑗 =
0 𝑓ü𝑟 𝑖 ≠ 𝑗1 𝑓ü𝑟 𝑖 = 𝑗
, 𝑖, 𝑗 = 1, 2, … ,𝑁 Gl. 5.8
erfüllen.53 Diese Polynome werden als Formfunktionen bezeichnet, die jeweils an einer Stützstelle
den Wert 1 und an allen anderen Stützstellen den Wert 0 annehmen. Lagrange-Polynome mehrdi-
mensionaler Elemente erhält man durch Multiplikation eindimensionaler Basispolynome. Diese wer-
den nun im Eindimensionalen für 𝑁 = 2, 3 und im Zweidimensionalen am Beispiel von 𝑁 = 2 herge-
leitet.
Beispiele eindimensionaler Formfunktionen:
Nach Tab. 7.2 sind für die Gauß-Lobatto-Integration für 𝑁 = 2 die Stützstellen bei 𝜉1
= −1 und 𝜉2=
1 und es ergeben sich nach Gl. 5.7 für die definierten linearen Lagrange-Polynome die Formfunktio-
nen auf dem Intervall [−1,1] (siehe Abb. 5.1 und Abb. 5.4):
𝐿1(𝜉) =
𝜉 − 𝜉2
𝜉1 − 𝜉2=
𝜉 − 1
−1 − 1= −
1
2𝜉 +
1
2, 𝐿2(𝜉) =
𝜉 − 𝜉1
𝜉2 − 𝜉1=
𝜉 − (−1)
1 − (−1)=
1
2𝜉 +
1
2. Gl. 5.9
Für 𝑁 = 3 sind die Stützstellen bei 𝜉1
= −1, 𝜉2
= 0 und 𝜉3
= 1 gegeben und man erhält folgende
quadratische Formfunktionen (siehe Abb. 5.2 und Abb. 5.5):
𝐿1(𝜉) =
𝜉 − 𝜉2
𝜉1 − 𝜉2·𝜉 − 𝜉3
𝜉1 − 𝜉3=
1
2𝜉2 −
1
2, 𝐿2(𝜉) =
𝜉 − 𝜉1
𝜉2 − 𝜉1·𝜉 − 𝜉3
𝜉2 − 𝜉3= −𝜉2 + 1, Gl. 5.10
𝐿3(𝜉) =
𝜉 − 𝜉1
𝜉3 − 𝜉1·𝜉 − 𝜉2
𝜉3 − 𝜉2=
1
2𝜉2 +
1
2. Gl. 5.11
Analog ergeben sich für 𝑁 = 4 und den Stützstellen bei 𝜉1 = −1, 𝜉2 ≈ −0.4472, 𝜉3 ≈ 0.4472 und
𝜉4 = 1 die kubischen Formfunktionen (siehe Abb. 5.3 und Abb. 5.6).54
Abb. 5.4-5.6: Lineare (𝑁 = 2) (Abb. 5.4), quadratische (𝑁 = 3) (Abb. 5.5) und kubische (𝑁 = 4) (Abb. 5.6) Formfunktionen im Eindimensionalen mit 𝑁 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1]
52 Nach [L10], S. 202, (7.2) 53 Nach [L8], S. 116, (3.61) 54 Nach [L8], S. 117 f, (3.63), (3.65), (3.66)
Abb. 5.1: Gauß-Lobatto-Stützstellen für 𝑁 = 2
Abb. 5.2: Gauß-Lobatto-Stützstellen für 𝑁 = 3
Abb. 5.3: Gauß-Lobatto-Stützstellen für 𝑁 = 4
25
Abb. 5.7: Lineare Formfunktionen im Zweidimensionalen für 𝑁 = 2 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1]
Abb. 5.8: Quadratische Formfunktionen im Zweidimensionalen für 𝑁 = 3 Stützstellen der Gauß-Lobatto-Quadratur im Intervall [−1,1]
Beispiele zweidimensionaler Formfunktionen:
Die Lagrange-Polynome des 4-Knoten-Rechteckelements im Zweidimensionalen, also für 𝑁 = 2
Stützstellen in jede Raumrichtung, erhält man durch Multiplikation der eindimensionalen Lagrange-
Polynome:
𝐿11(𝜉, 𝜂) = (−1
2𝜉 +
1
2) (−
1
2𝜂 +
1
2), 𝐿12(𝜉, 𝜂) = (
1
2𝜉 +
1
2) (−
1
2𝜂 +
1
2), Gl. 5.12
𝐿21(𝜉, 𝜂) = (1
2𝜉 +
1
2) (
1
2𝜂 +
1
2), 𝐿22(𝜉, 𝜂) = (−
1
2𝜉 +
1
2) (
1
2𝜂 +
1
2). Gl. 5.13
Erneut erhält man auf analoger Weise die 2D-Lagrange-Polynome im Intervall [−1,1] für 𝑁 = 3
Stützstellen nach Tab. 7.2:
26
5.3 Algorithmus in Matlab für zweidimensionale Gebiete als Pseudocode
1 Funktion steifigkeitsmatrix(𝑁,𝐷, 𝑓)
2 Initialisiere [𝐴𝑖𝑗]𝑘𝑙 = 0
3 Berechne Stützstellen 𝜉𝑖 , 𝑖 = 1,… , 𝑁 und Gewichte 𝜔𝑖, 𝑖 = 1,… ,𝑁 für die eindimensionale Gauß-Lobatto-Quadratur
4 Schleife über alle Stützpunkte (𝜉𝑖 , 𝜉𝑗), 𝑖, 𝑗 = 1,2,… , 𝑁
5 Schleife über alle Stützpunkte (𝜉𝑘 , 𝜉𝑙), 𝑘, 𝑙 = 1,2,… ,𝑁
// Symmetrie wird ausgenutzt
6 Falls Eintrag 𝑖, 𝑗 bzgl. 𝑘, 𝑙 in der linken unteren Dreiecksmatrix ist:
7 setzte [𝐴𝑖𝑗]𝑘𝑙 = [𝐴𝑘𝑙]𝑖𝑗
8 continue
9 Falls 𝑖! = 𝑘 && 𝑗! = 𝑙
10 continue
11 Schleife über alle Quadraturpunkte (𝜉𝑚 , 𝜉𝑏), 𝑚, 𝑏 = 1,2,… ,𝑁
12 Berechne Steifigkeitsmatrix [𝐴𝑖𝑗]𝑘𝑙= [𝐴𝑖𝑗]𝑘𝑙
+ 𝜔𝑚𝜔𝑏𝐷(𝜉𝑚 , 𝜉𝑏) ·
((𝐿𝑖′(𝜉𝑚)𝐿𝑗(𝜉𝑏)) · (𝐿𝑘
′ (𝜉𝑚)𝐿𝑙(𝜉𝑏)) + (𝐿𝑗′(𝜉𝑏)𝐿𝑖(𝜉𝑚)) · (𝐿𝑙
′(𝜉𝑏)𝐿𝑘(𝜉𝑚)))
// Rechte Seite für das Gleichungssystem berechnen
13 Schleife über alle Stützpunkte 𝜉𝑖 = 1,2, … ,𝑁
14 Schleife über alle Stützpunkte 𝜉𝑗 = 1,2,… ,𝑁
15 Schleife über alle Quadraturpunkte (𝜉𝑚 , 𝜉𝑏), 𝑚, 𝑏 = 1,2,… ,𝑁
16 Berechne rechte Seite 𝑓𝑖𝑗 = 𝑓𝑖𝑗 + 𝜔𝑚𝜔𝑏𝑓(𝜉𝑚 , 𝜉𝑏) · 𝐿𝑖(𝜉𝑚) · 𝐿𝑗(𝜉𝑏)
17 Löse Gleichungssystem 𝐴𝑢 = 𝑓 nach 𝑢 mit der Pseudoinversen von 𝐴
18 end
Der obige Code berechnet die FE-Steifigkeitsmatrizen [𝐴𝑖𝑗]𝑘𝑙 in Zeile 2 bis 12 und löst das Glei-
chungssystem 𝐴𝑢 = 𝑓 nach dem Lösungsvektor 𝑢. Die Eingabeparameter sind 𝑁 für die Anzahl der
Stützstellen in jede Raumrichtung, 𝐷 als Funktion der Dehnrate und die Funktion 𝑓 für die rechte
Seite des Gleichungssystems. Zuerst wird die Steifigkeitsmatrix mit 0 vorinitialisiert. Anschließend
werden die Stützstellen 𝜉𝑖, 𝑖 = 1,… ,𝑁 und Gewichte 𝜔𝑖, 𝑖 = 1, … , 𝑁 für die eindimensionale Gauß-
Lobatto-Integration nach Gl. 4.61 und Gl. 4.62 ermittelt (siehe Tab. 7.2). Diese wurden in Maxima be-
rechnet und nach Matlab importiert, um eine möglichst hohe Genauigkeit zu erzielen. Nun iteriert
man über alle Knoten bzgl. allen anderen Knotenpunkten und berechnet die Steifigkeitsmatrix nach
Gl. 5.5 mithilfe der Gauß-Lobatto-Quadraturformel. Die Formfunktionen mit den eingesetzten Stütz-
stellen 𝐿𝑖(𝜉𝑗), 𝑖, 𝑗 = 1,… ,𝑁 bzw. deren Ableitungen können ebenfalls nach Gl. 5.7 in Maxima be-
rechnet werden. Um das Gleichungssystem zu lösen, muss zunächst der Vektor der rechten Seite
nach Gl. 5.6 ermittelt (siehe Zeile 13 bis 16) und die Pseudoinverse (siehe Definition 5.5) der Matrix 𝐴
gebildet werden. Die Optimierungsstrategien in den Zeilen 6 bis 10 für eine schnelle Assemblierung
werden in Kap. 5.7 „Schnelle Assemblierung von FE-Steifigkeitsmatrizen“ erläutert.
27
5.4 Beispiele von FE-Steifigkeitsmatrizen
Im einfachsten Fall erhält man im Eindimensionalen mit zwei Stützstellen zum Gebiet aus Abb. 5.1 die
Steifigkeitsmatrix
[𝐴𝑖]𝑗 = [
1
2−
1
2
−1
2
1
2
] Gl. 5.14
und mit drei Stützstellen zum Gebiet aus Abb. 5.2 die Steifigkeitsmatrix
[𝐴𝑖]𝑗 = [
1.1667 −1.3333 0.1667−1.3333 2.6667 −1.33330.1667 −1.3333 1.1667
]. Gl. 5.15
Im Zweidimensionalen lässt sich die Steifigkeitsmatrix am Beispiel von 𝑁 = 2 Stützstellen zu
[𝐴𝑖𝑗]𝑘𝑙 = [
1.0 −0.5 −0.5−0.5 1.0 0−0.5
00
−0.51.0
−0.5
0−0.5−0.51.0
] Gl. 5.16
und am Beispiel von 𝑁 = 3 Stützstellen in jede Raumrichtung zu
[𝐴𝑖𝑗]𝑘𝑙
=
[ 0.7778 −0.4444 0.0556−0.4444 2.4444 −0.4444 0.0556−0.4444
00
0.055600
−0.44440
−1.777800
0.22220
0.777800
−0.444400
0.0556
−0.4444 0 00 −1.7778 00
2.4444−1.77780.2222
−0.444400
0−1.77787.1111
−1.77780
−1.77780
−0.44440.2222
−1.77782.4444
00
−0.4444
0.0556 0 00 0.2222 00
−0.444400
0.7778−0.44440.0556
00
−1.77780
−0.44442.4444
−0.4444
0.055600
−0.44440.0556
−0.44440.7778 ]
Gl. 5.17
berechnen.
5.5 Eigenschaften von FE-Steifigkeitsmatrizen und des Gleichungssystems 𝑨𝒖 = 𝒇
Bei der Berechnung von Steifigkeitsmatrizen und dem Lösen des Gleichungssystems 𝐴𝑢 = 𝑓 sind
folgende Eigenschaften zu erkennen, von denen einige im Algorithmus ausgenutzt werden können,
um die Laufzeit zu verringern:
Symmetrie: Steifigkeitsmatrizen sind symmetrisch bzgl. der Diagonalen, da im Zweidimensionalen
der Knoten (𝜉𝑖 , 𝜉𝑗) bzgl. des Knotens (𝜉𝑘, 𝜉𝑙) den gleichen Beitrag hat wie der Knoten (𝜉𝑘, 𝜉𝑙) bzgl.
des Knotens (𝜉𝑖, 𝜉𝑗) (siehe Gl. 5.14 bis Gl. 5.17). Dies wird im Algorithmus aus Kap 5.3 in den Zeilen 6
bis 8 berücksichtigt, um Berechnungen einzusparen.
Definition 5.1: Eine Matrix [𝐴𝑖𝑗]𝑖,𝑗=1
𝑁 ist symmetrisch, falls 𝐴𝑖𝑗 = 𝐴𝑗𝑖 ⩝ 𝑖, 𝑗 = 1,2,… ,𝑁 gilt.55
Größe: Die Steifigkeitsmatrix ist quadratisch und aus ℝ𝑁𝑑𝘹𝑁𝑑. Folglich steigt die Größe der Matrizen
mit höheren Dimensionen 𝑑 und somit auch die Laufzeit zur Berechnung extrem stark an.
Dünnbesetzte Matrix: An den Beispielen des vorherigen Kapitels kann man erkennen, dass bei 1D-
Elementen vollbesetzte Matrizen und bei mehrdimensionalen Elementen dünnbesetzte Matrizen
55 Nach [L8], S. 422, Definition (5.2)
28
entstehen, da die Knoten die Gauß-Lobatto-Stützstellen sind. Bei der exakten Berechnung erhält man
vollbesetzte Steifigkeitsmatrizen.
Definition 5.2: Eine Matrix nennt man dünnbesetzt oder schwachbesetzt, falls diese aus vielen Einträ-
gen gleich Null besteht.
Vorzeichen der Nebendiagonalen: Bei der Approximation der Steifigkeitsmatrizen mithilfe der Gauß-
Lobatto-Quadraturformel ist die Diagonale der Matrizen positiv und die Nebendiagonalen abwech-
selnd negativ und positiv.
Eigenwerte: Die Eigenwerte einer symmetrischen Matrix sind alle reell.
Definition 5.3: Ein Wert 𝜆 einer quadratischen Matrix 𝐴 nennt sich Eigenwert, falls die Gleichung
𝐴𝑣 = 𝜆𝑣 für mindestens einen Eigenvektor 𝑣 ≠ 0, 𝑣 є ℝ𝑁, gilt. Die Eigenwerte sind die Nullstellen des
charakteristischen Polynoms 𝑝𝑁(𝜆) = det(𝐴 − 𝜆𝐼) mit der Einheitsmatrix I.56
Singulär: Die Steifigkeitsmatrizen sind singulär, wodurch das lineare Gleichungssystem nicht oder
nicht eindeutig lösbar ist.
Definition 5.4: Eine quadratische Matrix ist singulär, wenn ihre Determinante den Wert Null hat und
somit die Spalten (oder Zeilen) linear abhängig sind. Der Rang dieser Matrix ist nicht voll.57
Definition 5.5: Die Pseudoinverse 𝐴+є ℂ𝑛𝘹𝑛 einer Matrix 𝐴 є ℂ𝑛𝘹𝑛 erfüllt folgende Eigenschaften:
𝐴+𝐴𝐴+ = 𝐴+ Gl. 5.18
𝐴𝐴+𝐴 = 𝐴 Gl. 5.19
(𝐴+𝐴)∗ = 𝐴+𝐴 Gl. 5.20
(𝐴𝐴+)∗ = 𝐴𝐴+ Gl. 5.21
Die Matrix 𝐴∗ ist die Adjungierte zu 𝐴 und die Matrizen 𝐴+𝐴 und 𝐴𝐴+ sind hermitesch. Ist die Matrix
𝐴 singulär, also ist der Rang 𝑟𝑎𝑛𝑔(𝐴) < 𝑛, dann ist der Vektor 𝑢 = 𝐴+𝑓 die Lösung des Gleichungs-
systems 𝐴𝑢 = 𝑓 mit der Pseudoinversen 𝐴+.58
Bandbreite einer Matrix: Die Bandbreite ist der größte Abstand des Elements ungleich Null einer
Zeile vom entsprechenden Element der Hauptdiagonale. Diese hängt von der Nummerierung der
Knoten ab. Durch Ausnutzen der Bandstruktur kann der Aufwand an arithmetischen Operationen von
direkten Lösungsverfahren reduziert werden.59
5.6 Lösen des Gleichungssystems 𝑨𝒖 = 𝒇
Da die Matrix 𝐴 singulär ist, muss in Matlab zunächst die Pseudoinverse von 𝐴 mit 𝑝𝑖𝑛𝑣(𝐴) gebildet
werden, bevor das Gleichungssystem gelöst werden kann. Am Beispiel eines zweidimensionalen Ge-
biets mit 9 Stützstellen, also 𝑁 = 3, der Steifigkeitsmatrix aus Gl. 5.17 und der Funktion
𝑓(𝑥, 𝑦) = sin (
𝜋
2𝑥) sin (
𝜋
2𝑦) Gl. 5.22
(siehe Abb. 5.9) lässt sich die rechte Seite und der approximierte Lösungsvektor zu
56 Nach [L8], S. 423, Definition (5.3) 57 Nach [I6] 58 Nach [I4] 59 Nach [L8], S. 426 und S. 440
29
Abb. 5.9: Beispielfunktion Gl. 5.22 für die rechte Seite des Gleichungssystems 𝐴𝑢 = 𝑓
Abb. 5.10: Logarithmischer Vergleich der ana-lytischen (𝛼 = 2.4) und der approximierten Fehlerkonvergenz
𝑓 =
(
0.1111110
−0.111111000
−0.1111110
0.111111 )
Gl. 5.23 bzw. �̃� =
(
0.1666670
−0.166667000
−0.1666670
0.166667 )
Gl. 5.24
berechnen. �̃� ist die genäherte Lösung zur exakten Lösung 𝑢.
Zur Funktion Gl. 5.22 kann die analytische Lösung
𝑢(𝑥, 𝑦) = −
2
𝜋2 sin (𝜋
2𝑥) sin (
𝜋
2𝑦) Gl. 5.25
ermittelt werden. Vergleicht man nun die exakte Lösung mit der approximierten Lösung, ergibt sich
die Fehlertabelle Tab. 5.1. Ab einer Anzahl an Stützstellen von 13𝘹13 liegt der Fehler im Bereich von
10−14. Daraus ergibt sich aus der Fehlerabschätzung 𝑒−𝛼𝑁 = max𝑖,𝑗=1,..,𝑁
|𝑢(𝑁)(𝜉𝑖𝑗) − �̃�(𝑁)(𝜉𝑖𝑗)| die ex-
ponentielle Fehlerkonvergenz
1
𝑒2.4·𝑁 Gl. 5.26
mit beispielsweise 𝛼 ≈ 2.4, sodass der Feh-
ler mit zunehmender Stützstellenanzahl 𝑁
exponentiell sinkt (siehe Abb. 5.10).
𝑵 Fehler 𝐦𝐚𝐱𝒊,𝒋=𝟏,..,𝑵
|𝒖(𝑵)(𝝃𝒊𝒋) −
�̃�(𝑵)(𝝃𝒊𝒋)|
𝜶
2 0.297357632715324 ≈ 3.0 · 10−1 0.60640985701 3 0.035975700618009 ≈ 3.6 · 10−2 1.10830385042 4 0.002510674748109 ≈ 2.5 · 10−3 1.49680093450 5 0.000116393817016 ≈ 1.2 · 10−4 1.81170622849 6 0.000019766454313 ≈ 2.0 · 10−5 1.80525404728 7 0.000000584347024 ≈ 5.8 · 10−7 2.05039583029 8 0.000000139285565 ≈ 1.4 · 10−7 1.97334244830 9 0.000000002327712 ≈ 2.3 · 10−9 2.20870891452
10 0.000000000572537 ≈ 5.7 · 10−10 2.12809444256 11 0.000000000006523 ≈ 6.5 · 10−12 2.34142213686 12 0.000000000001837 ≈ 1.8 · 10−12 2.25188952456 13 0.000000000000020 ≈ 2.0 · 10−14 2.42698556831
Tab. 5.1: Fehlertabelle abhängig von der Anzahl 𝑁 der Stützstel-len im Zweidimensionalen
30
Abb. 5.12: Aufwand zur Berechnung der eindimensio-nalen Steifigkeitsmatrizen abhängig von der Anzahl 𝑁 der Stützstellen und der Optimierungsstrategie gemes-sen in Sekunden
Abb. 5.11: Aufwand zur Berechnung der zweidimen-sionalen Steifigkeitsmatrizen abhängig von der An-zahl 𝑁 der Stützstellen in eine Raumrichtung und der Optimierungsstrategie gemessen in Sekunden
5.7 Schnelle Assemblierung von FE-Steifigkeitsmatrizen
Nun können einige Eigenschaften von Steifigkeitsmatrizen verwendet werden, um die Assemblierung
aus Kap. 5.3 zu optimieren. Der Aufwand zur Berechnung der Steifigkeitsmatrizen im Eindimensiona-
len beträgt 4𝑁3 Float-Operationen. Nutzt man aus, dass Steifigkeitsmatrizen symmetrisch sind, kann
der Aufwand zu 4𝑁3 −𝑁2
2 verringert werden. Dies entspricht der zeitlichen Messung aus Abb. 5.12,
wobei, abhängig von der Anzahl 𝑁 der Stützstellen, der blaue Graph die Zeitmessung ohne Optimie-
rung und der rote Graph die Zeitmessung unter Ausnutzen der Symmetrie darstellt.
Im Zweidimensionalen (siehe Abb. 5.11) sind 11𝑁6 Float-Operationen nötig. Durch die Symmetrie der
Steifigkeitsmatrizen kann erneut erheblich profitiert werden. Zusätzlich können viele Rechenoperati-
onen eingespart werden, falls die Knoten 𝑖, 𝑗 und 𝑘, 𝑙 nicht auf einer Achse liegen, da dann der Ein-
trag der Steifigkeitsmatrix Null ergibt und der Aufwand auf 11𝑁5 reduziert wird (siehe roter Graph).
Außerdem wird beispielsweise der Term 𝐿𝑖′(𝜉𝑚)𝐿𝑗(𝜉𝑏) aus Gl. 5.5 Null, falls 𝑗 ≠ 𝑏. Wird dies durch if-
Abfragen überprüft, kann der Zugriff auf die Matrix 𝐿 vermieden und die Rechenzeit weiter verrin-
gert werden (siehe gelber Graph).
In Matlab besteht die Möglichkeit for-Schleifen auf mehreren Prozessoren verteilt laufen zu lassen.
Wird die äußerste for-Schleife durch „parfor“ auf vier Prozessoren parallelisiert, kann im Zweidimen-
sionalen der Code optimiert werden (siehe Abb. 5.11 lila Graph). Im Eindimensionalen wird kein Vor-
teil erzielt, da die Zeitmessung bereits im Millisekundenbereich liegt und die Matrizen der Stützstel-
len und Gewichte an alle Prozessoren geschickt werden müssen.
Der durchschnittliche Speed-Up im Eindimensionalen liegt für 2 ≤ 𝑁 ≤ 100 bei 2 und im Zweidimen-
sionalen für 9 ≤ 𝑁 ≤ 49 zwischen 2 und 530, welcher mit zunehmender Anzahl an Stützstellen stetig
steigt. Für 𝑁 ≤ 8 erzielt man keine Zeitersparnis.
31
6 Fazit Die Berechnung von Steifigkeitsmatrizen durch das Lösen der Integrale ist zwar exakt, allerdings ist
dies aufwendig und man erhält voll besetzte Matrizen. Die Möglichkeit, die Integrale durch numeri-
sche Quadraturregeln zu approximieren und die Stützstellen 𝜉𝑖 so zu wählen, dass die Formfunktio-
nen mit eingesetzten Gauß-Lobatto-Stützstellen an sehr vielen Knoten Null ergeben, ist eine gute
Alternative. Die Laufzeit kann erheblich gesenkt werden (siehe Abb. 5.11 und Abb. 5.12), da die Steifig-
keitsmatrizen dünnbesetzt sind. Allerdings muss für das Lösen des Gleichungssystems 𝐴𝑢 = 𝑓 zuerst
die Pseudoinverse von 𝐴 gebildet werden.
Im Zweidimensionalen geht der Fehler sehr schnell gegen Null (siehe Abb. 5.10). In der Fehlertabelle
Tab. 5.1 ist ersichtlich, dass ab einer Stützstellenanzahl von 𝑁 = 13 in jede Raumrichtung der Fehler
bereits in der Größenordnung 10−14 liegt. Somit ist die 𝑝-Methode der Finiten Elemente Methode
eine gute Möglichkeit, partielle Differentialgleichungen zu lösen.
Eine Option wäre nun, die Assemblierung auf 𝑛-dimensionale Gebiete zu erweitern bzw. die ℎ-
Version der FEM zu betrachten. Dies würde allerdings den Rahmen dieser Bachelorarbeit überstei-
gen.
32
7 Anhang
7.1 Stützstellen und Gewichte für die Gauß-Quadraturformel
Anzahl
Stützstellen:
Stützstellen 𝝃𝒊: Gewichte 𝝎𝒊:
𝑛 = 1: 𝜉1 = 0 𝜔1 = 2
𝑛 = 2: 𝜉1 = −1
√3≈ −0.577350269189625764509148780
𝜉2 =1
√3≈ 0.57735026918962576450914878050
𝜔1 = 1
𝜔2 = 1
𝑛 = 3: 𝜉1 = −√3
5≈ −0.774596669241483377035853079
𝜉2 = 0
𝜉3 = √3
5≈ 0.774596669241483377035853079
𝜔1 =5
9≈ 0.555555555555555555555555555556
𝜔2 =8
9≈ 0.888888888888888888888888888889
𝜔3 =5
9≈ 0.555555555555555555555555555556
𝑛 = 4: 𝜉1/4 ≈ ±0.86113631159405257522394648889
𝜉2/3 ≈ ±0.33998104358485626480266575910
𝜔1/4 ≈ 0.34785484513745385737306394922
𝜔2/3 ≈ 0.65214515486254614262693605077
𝑛 = 5: 𝜉1/5 ≈ ±0.90617984593866399279762687829
𝜉2/4 ≈ ±0.53846931010568309103631442070
𝜉3 = 0
𝜔1/5 ≈ 0.23692688505618908751426404071
𝜔2/4 ≈ 0.47862867049936646804129151483
𝜔3 ≈ 0.56888888888888888888888888888
𝑛 = 6: 𝜉1/6 ≈ ±0.93246951420315202781230155449
𝜉2/5 ≈ ±0.66120938646626451366139959501
𝜉3/4 ≈ ±0.23861918608319690863050172168
𝜔1/6 ≈ 0.17132449237917034504029614217
𝜔2/5 ≈ 0.36076157304813860756983351383
𝜔3/4 ≈ 0.46791393457269104738987034398
𝑛 = 7: 𝜉1/7 ≈ ±0.94910791234275852452618968404
𝜉2/6 ≈ ±0.74153118559939443986386477328
𝜉3/5 ≈ ±0.40584515137739716690660641207
𝜉4 = 0
𝜔1/7 ≈ 0.12948496616886969327061143267
𝜔2/6 ≈ 0.27970539148927666790146777142
𝜔3/5 ≈ 0.38183005050511894495036977548
𝜔4 ≈ 0.41795918367346938775510204081
𝑛 = 8: 𝜉1/8 ≈ ±0.96028985649753623168356086856
𝜉2/7 ≈ ±0.79666647741362673959155393647
𝜉3/6 ≈ ±0.52553240991632898581773904918
𝜉4/5 ≈ ±0.18343464249564980493947614236
𝜔1/8 ≈ 0.10122853629037625915253135430
𝜔2/7 ≈ 0.22238103445337447054435599442
𝜔3/6 ≈ 0.31370664587788728733796220198
𝜔4/5 ≈ 0.36268378337836198296515044927
𝑛 = 9: 𝜉1/9 ≈ ±0.96816023950762608983557620290
𝜉2/8 ≈ ±0.83603110732663579429942978806
𝜉3/7 ≈ ±0.61337143270059039730870203934
𝜉4/6 ≈ ±0.32425342340380892903853801464
𝜉5 = 0
𝜔1/9 ≈ 0.81274388361574411971892158110
𝜔2/8 ≈ 0.18064816069485740405847203124
𝜔3/7 ≈ 0.26061069640293546231874286941
𝜔4/6 ≈ 0.31234707704000284006863040658
𝜔5 ≈ 0.33023935500125976316452506928
𝑛 = 10: 𝜉1/10 ≈ ±0.97390652851717172007796401208
𝜉2/9 ≈ ±0.86506336668898451073209668842
𝜉3/8 ≈ ±0.67940956829902440623432736511
𝜉4/7 ≈ ±0.43339539412924719079926594316
𝜉5/6 ≈ ±0.14887433898163121088482600112
𝜔1/10 ≈ 0.66671344308688137593568809893
𝜔2/9 ≈ 0.14945134915058059314577633965
𝜔3/8 ≈ 0.21908636251598204399553493422
𝜔4/7 ≈ 0.26926671930999635509122692156
𝜔5/6 ≈ 0.29552422471475287017389299465
Tab. 7.1: Stützstellen und Gewichte für die Gauß-Quadraturformel im Intervall [−1,1]
33
7.2 Stützstellen und Gewichte für die Gauß-Lobatto-Quadraturformel
Anzahl
Stützstellen:
Stützstellen 𝝃𝒊: Gewichte 𝝎𝒊:
𝑛 = 2: 𝜉1/2 = ±1 𝜔1/2 = 1
𝑛 = 3: 𝜉1/3 = ±1
𝜉2 = 0
𝜔1/3 = 0.33333333333333333333333333333
𝜔2 = 1.3333333333333333333333333333
𝑛 = 4: 𝜉1/4 = ±1
𝜉2/3 ± 0.44721359549995793928183473374
𝜔1/4 = 0.16666666666666666666666666666
𝜔2/3 = 0.83333333333333333333333333333
𝑛 = 5: 𝜉1/5 = ±1
𝜉2/4 = ±0.65465367070797714379829245624
𝜉3 = 0
𝜔1/5 = 0.1
𝜔2/4 = 0.54444444444444444444444444444
𝜔3 = 0.71111111111111111111111111111
𝑛 = 6: 𝜉1/6 = ±1
𝜉2/5 = ±0.76505532392946469285100297395
𝜉3/4 = ±0.28523151648064509631415099404
𝜔1/6 = 0.066666666666666666666666666666
𝜔2/5 = 0.37847495629784698031661280821
𝜔3/4 = 0.55485837703548635301672052512
𝑛 = 7: 𝜉1/7 = ±1
𝜉2/6 = ±0.83022389627856692987203221396
𝜉3/5 = ±0.46884879347071421380377188190
𝜉4 = 0
𝜔1/7 = 0.047619047619047619047619047619
𝜔2/6 = 0.27682604736156594801070040629
𝜔3/5 = 0.43174538120986262341787102228
𝜔4 = 0.48761904761904761904761904761
𝑛 = 8: 𝜉1/8 = ±1
𝜉2/7 = ±0.87174014850960661533744576122
𝜉3/6 = ±0.59170018143314230214451073139
𝜉4/5 = ±0.20929921790247886876865726034
𝜔1/8 = 0.035714285714285714285714285714
𝜔2/7 = 0.21070422714350603938299206577
𝜔3/6 = 0.34112269248350436476424067710
𝜔4/5 = 0.41245879465870388156705297140
𝑛 = 9: 𝜉1/9 = ±1
𝜉2/8 = ±0.89975799541146015731234524441
𝜉3/7 = ±0.67718627951073775344588542709
𝜉4/6 = ±0.36311746382617815871075206870
𝜉6 = 0
𝜔1/9 = 0.027777777777777777777777777777
𝜔2/8 = 0.16549536156080552504633972002
𝜔3/7 = 0.27453871250016173528070561857
𝜔4/6 = 0.34642851097304634511513153213
𝜔5 = 0.37151927437641723356009070294
𝑛 = 10: 𝜉1/10 = ±1
𝜉2/9 = ±0.91953390816645881382893266082
𝜉3/8 = ±0.73877386510550507500310617485
𝜉4/7 = ±0.47792494981044449566117509273
𝜉5/6 = ±0.16527895766638702462621976595
𝜔1/10 = 0.022222222222222222222222222222
𝜔2/9 = 0.13330599085107011112622717075
𝜔3/8 = 0.22488934206312645211945782173
𝜔4/7 = 0.29204268367968375787558225737
𝜔5/6 = 0.32753976118389745665651052791
Tab. 7.2: Stützstellen und Gewichte für die Gauß-Lobatto-Quadraturformel im Intervall [−1,1]
34
8 Quellenverzeichnis Literaturquellen:
[L1] Melenk, J.M.: Fully Discrete hp-Finite Elements: Fast Quadrature. Schweden, Göteborg: Research
Report No. 99-15, 19999
[L2] Szabó, B.; Babuška, I.: Introduction to Finite Element Analysis. Formulation, Verification and Vali-
dation. United Kingdom: John Wiley & Sons, Ltd., 2011
[L3] Gaul, L.; Fiedler, C.: Methode der Randelemente in Statik und Dynamik. Stuttgart: Springer-Verlag
Berlin Heidelberg, 1997, 2013
[L4] Schwab, C.: Einführung in die Numerik Partieller Differentialgleichungen: Stationäre Probleme.
Vorlesungsmanuskript. 1998/1999
[L5] J. Davis, P; Rabinowitz, P.: Methods of Numerical Integration. New York 10003: Academic Press,
Inc., 1975
[L6] Deuflhard, P.; Hohmann, A.: Numerische Mathematik 1 – Eine algorithmisch orientierte Einfüh-
rung. 4. Auflage. Berlin 10785: Walter de Gruyter GmbH & Co. KG, 2008
[L7] Engels, H.: Numerical Quadrature and Cubature – (Computational mathematics and applica-
tions). Bristol. John Wright & Sons, Ltd., 1980
[L8] Jung, M.; Langer, U.: Methode der finiten Elemente für Ingenieure – Eine Einführung in die nume-
rischen Grundlagen und Computersimulation. Wiesbaden. Springer Vieweg, 2013
[L9] Seydel, R.: Einführung in die numerische Berechnung von Finanz-Derivaten: Computational Fi-
nance. Köln: Springer-Verlag Berlin Heidelberg, 2000
[L10] Knothe, K.: Finite Elemente – Eine Einführung für Ingenieure. Berlin Heidelberg. Springer-Verlag,
2008
[L11] Strang, G.; J. Fix, G.: An Analysis of the Finite Element. Englewood Cliffs, N.J., Prentice-Hall, 1973
[L12] Neuß, N.: Numerik für Anwender. Institut für Angewandte Mathematik. Friedrich-Alexander-
Universität Erlangen-Nürnberg, 2008
[L13] Wittel, F.K.: Eine kurze Einführung in die Finite Elemente Methode. Zürich, 2010
Internetquellen:
[I1] Duruflé, M.: Grob, P.; Joly, P.: Influence of Gauss and Gauss-Lobatto quadrature rules on the ac-
curacy of a quadrilateral finite element method in the time domain. John Wiley & Sons, 2009
https://hal.archives-ouvertes.fr/hal-00403791/document
zuletzt aufgerufen am: 28.08.2016, 9:18 Uhr
Wikipedia: Finite-Elemente-Methode; Gauß-Quadratur; Pseudoinverse
[I2] https://de.wikipedia.org/wiki/Gau%C3%9F-Quadratur
zuletzt aufgerufen am: 28.08.2016, 9:20 Uhr
[I3] https://de.wikipedia.org/wiki/Finite-Elemente-Methode
zuletzt aufgerufen am: 28.08.2016, 9:21 Uhr
[I4] https://de.wikipedia.org/wiki/Pseudoinverse
zuletzt aufgerufen am: 28.08.2016, 9:24 Uhr
[I5] P-Methode:
http://www.cae-wiki.info/wikiplus/index.php/P-Methode
zuletzt aufgerufen am: 28.08.2016, 9:25 Uhr
[I6] StatSoft: Matrixsingularität
https://www.statsoft.de/glossary/M/MatrixSingularity.htm
zuletzt aufgerufen am: 28.08.2016, 9:26 Uhr