Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
skript-mehrgitter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sander, Oliver
skript-mehrgitter
Commits
5327216f
Commit
5327216f
authored
3 years ago
by
Sander, Oliver
Browse files
Options
Downloads
Patches
Plain Diff
Verbessere Beschreibung der FE-Methode
parent
87916e7a
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Pipeline
#6183
passed
3 years ago
Stage: test
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
skript-mehrgitter-sander.tex
+45
-53
45 additions, 53 deletions
skript-mehrgitter-sander.tex
with
45 additions
and
53 deletions
skript-mehrgitter-sander.tex
+
45
−
53
View file @
5327216f
...
...
@@ -149,7 +149,7 @@ $\Gamma_N$.}
Sei
$
\Omega
\subset
\R
^
d
$
ein Gebiet und
$
f :
\Omega
\to
\R
$
.
Der Rand
$
\partial
\Omega
$
von
$
\Omega
$
sei zerlegt in zwei disjunkte Teile
$
\Gammatight
{
D
}$
und
$
\Gammatight
{
N
}$
,
und wir bezeichnen die äußere Einheitsnormale mit
$
\nu
$
.
Wir betrachten als Beispiel die
{
\em
Poisson-Gleichung
}
Wir betrachten als Beispiel die
\em
ph
{
Poisson-Gleichung
}
\begin{equation}
\label
{
eq:starke
_
formulierung
}
-
\Delta
u
\colonequals
-
\sum
_{
i=1
}^
d
\frac
{
\partial
^
2 u
}{
\partial
x
_
i
^
2
}
= f
...
...
@@ -200,18 +200,18 @@ einsetzen und erhalten
Wir schreiben dies als
\begin{equation}
\label
{
eq:schwache
_
formulierung
}
a(u,v) = l(v)
a(u,v) =
\el
l
(v)
\end{equation}
mit
\begin{equation*}
a(v,w)
=
\int
_
\Omega
\nabla
v
\nabla
w
\,
dx
\quad
\text
{
und
}
\quad
l(v)
=
\int
_{
\Gamma
_
N
}
g v
\,
ds
a(v,w)
\colonequals
\int
_
\Omega
\nabla
v
\nabla
w
\,
dx
\
q
quad
\text
{
und
}
\
q
quad
\el
l
(v)
\colonequals
\int
_{
\Gamma
_
N
}
g v
\,
ds
+
\int
_
\Omega
f v
\,
dx.
\end{equation*}
Man nennt
\eqref
{
eq:schwache
_
formulierung
}
die
{
\em
schwache Formulierung
}
(oder
{
\em
Variationsformulierung
}
)
Man nennt
\eqref
{
eq:schwache
_
formulierung
}
die
\em
ph
{
schwache Formulierung
}
(oder
\em
ph
{
Variationsformulierung
}
)
von
\eqref
{
eq:starke
_
formulierung
}
.
$
a
(
\cdot
,
\cdot
)
$
ist eine symmetrische Bilinearform. Hat
$
\Gammatight
{
D
}$
...
...
@@ -233,10 +233,10 @@ Dann hat die Variationsgleichung
\begin{equation*}
u
\in
H
\quad
:
\quad
a(u,v) = l(v)
a(u,v) =
\el
l
(v)
\qquad
v
\in
H
\end{equation*}
for jedes
$
l
\in
H'
$
eine eindeutig bestimmte Lösung.
for jedes
$
\el
l
\in
H'
$
eine eindeutig bestimmte Lösung.
\end{theorem}
...
...
@@ -246,11 +246,11 @@ for jedes $l \in H'$ eine eindeutig bestimmte Lösung.
Sei
$
V
_
h
$
ein endlichdimensionaler Teilraum von
$
H
^
1
_{
\Gammatight
{
D
}}$
(mit Dimension
$
n
$
).
Der Index
$
h
$
bezeichne einen Ordnungsparameter. Die
{
\em
diskrete Variationsformulierung
}
bezeichne einen Ordnungsparameter. Die
\em
ph
{
diskrete Variationsformulierung
}
lautet
\begin{equation}
\label
{
eq:diskrete
_
formulierung
}
u
_
h
\in
V
_
h
\quad
:
\quad
a(u
_
h,v
_
h) = l(v
_
h)
u
_
h
\in
V
_
h
\quad
:
\quad
a(u
_
h,v
_
h) =
\el
l
(v
_
h)
\qquad
\text
{
für alle
$
v
_
h
\in
V
_
h
$}
.
\end{equation}
Anwendung des Lax--Milgram-Lemmas ergibt wieder Existenz und Eindeutigkeit
...
...
@@ -260,40 +260,39 @@ Sei $\{\varphi_i\}, 0 \le i < n$, eine Basis von $V_h$. Dann ist
\eqref
{
eq:diskrete
_
formulierung
}
äquivalent zu
\begin{equation*}
%\label{eq:diskrete_formulierung}
u
_
h
\in
V
_
h
\quad
:
\quad
a(u
_
h,
\varphi
_
i) = l(
\varphi
_
i)
u
_
h
\in
V
_
h
\quad
:
\quad
a(u
_
h,
\varphi
_
i) =
\el
l
(
\varphi
_
i)
\qquad
\text
{
für alle
$
0
\le
i < n
$}
.
\end{equation*}
Dies wiederum entspricht dem linearen Gleichungssystem
\begin{equation}
\label
{
eq:fe
_
lineares
_
gleichungssystem
}
A
\bar
{
u
}
= b,
A
x
= b,
\end{equation}
wobei
\begin{alignat*}
{
2
}
A
&
\in
\R
^{
n
\times
n
}
,
\qquad
&
A
_{
ij
}
&
=
a(
\varphi
_
i,
\varphi
_
j)
\qquad
&
A
_{
ij
}
&
\colonequals
a(
\varphi
_
i,
\varphi
_
j)
=
\int
_
\Omega
\nabla
\varphi
_
i
\nabla
\varphi
_
j
\,
dx
\\
%
b
&
\in
\R
^
n,
\qquad
&
b
_
i
&
=
l(
\varphi
_
i)
b
_
i
&
\colonequals
\el
l
(
\varphi
_
i)
=
\int
_{
\Gamma
_
N
}
g
\varphi
_
i
\,
ds
+
\int
_
\Omega
f
\varphi
_
i
\,
dx
\end{alignat*}
und
$
\bar
{
u
}
\in
\R
^
n
$
die Koeffizienten von
$
u
_
h
$
bzgl.
\
der Basis
$
\{\varphi
_
i
\}
$
sind.
und
$
x
\in
\R
^
n
$
die Koeffizienten von
$
u
_
h
$
bzgl.
\
der Basis
$
\{\varphi
_
i
\}
$
sind.
Die Matrix
$
A
$
nennt man
{
\em
Steifigkeitsmatrix
}
. Dieser Ausdruck kommt aus den
\bigskip
Die Matrix
$
A
$
nennt man
\emph
{
Steifigkeitsmatrix
}
. Dieser Ausdruck kommt aus den
Anfangstagen der Finiten Elemente in der Ingenieurswelt, wo insbesondere mechanische
Probleme gelöst wurden. Die Matrix
$
A
$
beschreibt dabei die Steifigkeit des simulierten
Objekts, und der Vektor
$
b
$
beschreibt die von außen wirkenden Kräfte. Den Vektor
$
b
$
nennt man deshalb manchmal auch
{
\em
Lastvektor
}
.
nennt man deshalb manchmal auch
\em
ph
{
Lastvektor
}
.
\emph
{
Beachte:
}
Ohne weitere Annahmen ist an dieser Stelle davon auszugehen, dass
$
A
$
voll besetzt ist. Das bedeutet, dass fast jeder Eintrag von
$
A
$
von Null verschieden ist,
wobei der Ausdruck
\glqq
fast jeder
\grqq
{}
hier nicht mathematisch streng gemeint ist.
\section
{
Finite Elemente
}
\label
{
sec:finite
_
elemente
}
...
...
@@ -301,8 +300,10 @@ wobei der Ausdruck \glqq fast jeder\grqq{} hier nicht mathematisch streng gemein
Finite Elemente sind eine bestimmte Möglichkeit, den Teilraum
$
V
_
h
$
zu wählen.
Sei
$
\Omega
$
von jetzt ab
{
\em
polygonal berandet
}
. Wir füllen
$
\Omega
$
mit einer Triangulierung / einem
{
\em
Gitter
}
. Ein Beispielgitter für
\medskip
Sei
$
\Omega
$
von jetzt ab
\emph
{
polygonal berandet
}
. Wir füllen
$
\Omega
$
mit einer Triangulierung / einem
\emph
{
Gitter
}
. Ein Beispielgitter für
ein zweidimensionales Gebiet sieht man in Abbildung~
\ref
{
fig:2d-Beispielgitter
}
.
\begin{figure}
...
...
@@ -317,11 +318,11 @@ ein zweidimensionales Gebiet sieht man in Abbildung~\ref{fig:2d-Beispielgitter}.
\label
{
def:triangulierung
}
Es sei
$
\Omega
\subset
\R
^
2
$
polygonal berandet, und
$
\Gammatight
{
D
}$
auf dem
Rand aufgelöst. Eine Menge
$
\mathcal
{
T
}$
von abgeschlossenen Dreiecken
$
t
$
heißt
{
\em
Triangulierung
}
von
$
\Omega
$
, falls gilt
von abgeschlossenen Dreiecken
$
T
$
heißt
\em
ph
{
Triangulierung
}
von
$
\Omega
$
, falls gilt
\begin{enumerate}
\item
Die Menge der Dreiecke überdeckt den Abschluss des Gebiets
\begin{equation*}
\overline
{
\Omega
}
=
\bigcup
_{
t
\in
\mathcal
{
T
}}
t
.
\overline
{
\Omega
}
=
\bigcup
_{
T
\in
\mathcal
{
T
}}
T
.
\end{equation*}
%
\item
Der Schnitt zweier Dreiecke aus
$
\mathcal
T
$
ist entweder eine
...
...
@@ -330,21 +331,21 @@ gemeinsame Kante, ein gemeinsamer Eckpunkt, oder leer.
\end{definition}
Der Diskretisierungsparameter
\begin{equation*}
h
=
\max
_{
t
\in
\mathcal
{
T
}}
\operatorname
{
diam
}
t
,
h
\colonequals
\max
_{
T
\in
\mathcal
{
T
}}
\operatorname
{
diam
}
T
,
\end{equation*}
der als Index in
$
V
_
h
$
auftaucht, beschreibt traditionell die Feinheit des Gitters.
Oft nennt man
$
h
$
auch
{
\em
Gitterweite
}
.
Oft nennt man
$
h
$
auch
\em
ph
{
Gitterweite
}
.
\begin{definition}
Der Raum
\begin{equation*}
V
_
h
^{
(1)
}
V
_
h
^{
p
}
\colonequals
\{
v
\in
C(
\overline
{
\Omega
}
)
\;
|
\;
\text
{$
v
$
ist
affin
auf
$
t
$
für alle
$
t
\in
\mathcal
{
T
}$
, und
$
v|
_{
\Gamma
_
D
}
=
0
$}
\}
\text
{$
v
$
ist
Polynom von Grad
$
\le
p
$
auf
$
T
$
für alle
$
T
\in
\mathcal
{
T
}$
, und
$
v|
_{
\Gamma
_
D
}
=
0
$}
\}
\end{equation*}
heißt Raum der Lagrange-Elemente
erster
Ordnung
heißt Raum der Lagrange-Elemente
$
p
$
-
Ordnung
bezüglich der Triangulierung
$
\mathcal
{
T
}$
.
\end{definition}
...
...
@@ -353,41 +354,32 @@ bezüglich der Triangulierung $\mathcal{T}$.
\includegraphics
[width=0.4\textwidth]
{
generalP1function
}
\includegraphics
[width=0.4\textwidth]
{
nodalP1basis
}
\end{center}
\caption
{
Links: eine Finite-Elemente Funktion. Rechts: ein Element der Knotenbasis
}
\caption
{
Links: eine Finite-Elemente Funktion. Rechts: ein Element der Knotenbasis
erster Ordnung
}
\label
{
fig:beispiel-fe-funktion
}
\end{figure}
Als Basis von
$
V
_
h
^{
(
1
)
}$
wählt man gewöhnlich die
{
\em
Knotenbasis
}
. Sei
$
\mathcal
V
$
die Menge der Knoten des Gitters. Dann ist die Knotenbasis die Menge
der Funktionen
$
\varphi
_
i
\in
V
_
h
^{
(
1
)
}$
mit
Als Basis von
$
V
_
h
^{
p
}$
wählt man gewöhnlich die
\em
ph
{
Knotenbasis
}
. Sei
$
\mathcal
L
$
die Menge der
Lagrange-
Knoten des Gitters. Dann ist die Knotenbasis die Menge
der Funktionen
$
\varphi
_
i
\in
V
_
h
^{
p
}$
mit
\begin{equation*}
\varphi
_
i (v
_
j) =
\delta
_{
ij
}
\qquad
\text
{
für alle
$
v
_
j
\in
\mathcal
{
V
}$}
.
\text
{
für alle
$
v
_
j
\in
\mathcal
{
L
}$}
.
\end{equation*}
Es ist also insbesondere
$
\dim
V
_
h
^{
(
1
)
}
=
\abs
{
\mathcal
V
\setminus
\mathcal
{
V
}_{
\Gamma
_
D
}}$
Es ist also insbesondere
$
\dim
V
_
h
^{
p
}
=
\abs
{
\mathcal
L
\setminus
\mathcal
{
L
}_{
\Gamma
_
D
}}$
(Abbildung~
\ref
{
fig:beispiel-fe-funktion
}
).
{
\em
Wichtig:
}
Da die Basisfunktionen
$
\varphi
_
i
$
einen `lokalen'
Träger haben, so sind die meisten Matrixeinträge
\begin{equation*}
A
_{
ij
}
= a(
\varphi
_
i,
\varphi
_
j)
=
\int
_
\Omega
\nabla
\varphi
_
i
\nabla
\varphi
_
j
\,
dx
\end{equation*}
gleich Null! Die Matrix
$
A
$
ist also
{
\em
dünnbesetzt
}
.
Das ist eine wichtige Eigenschaft, denn müsste man alle Einträge von
$
A
$
in Betracht ziehen,
so wären das
\glqq
zu viele
\grqq
{}
(nämlich quadratisch viele).
Nur bei einer dünnbesetzten Matrix bleibt der Aufwand handhabbar.
Denn
$
n
$
kann sehr groß werden; aktuell sind Werte im Bereich weniger Millionen auf einem
einzelnen Rechner realistisch. Auf einem großen Parallelrechner können es durchaus einige
Milliarden werden.
\bigskip
Der Diskretisierungsfehler hängt hauptsächlich von der Gitterauflösung
$
h
$
,
der Ordnung
$
p
$
der Finite-Elemente-Funktionen, und der Glattheit von
$
u
$
ab.
\begin{theorem}
Es sei
$
h
$
klein genug,
$
u
\in
H
^
1
_
0
(
\Omega
)
\cap
H
^{
2
}
(
\Omega
)
$
,
$
\Omega
\in
\R
^
2
$
. Dann gilt die a priori Abschätzung
Es sei
$
h
$
klein genug,
$
u
\in
H
^
1
_
0
(
\Omega
)
\cap
H
^{
p
+
1
}
(
\Omega
)
$
die Lösung
der schwachen Formulierung, und
$
u
_
h
$
die entsprechende Finite-Elemente-Lösung in
$
V
_
h
^
p
$
.
Dann gilt die a priori Abschätzung
\begin{equation*}
\norm
{
u - u
_
h
}_
1
\le
C h
\abs
{
u
}_{
2
}
\norm
{
u - u
_
h
}_
1
\le
C h
^
p
\abs
{
u
}_{
p+1
}
\end{equation*}
mit einer Konstanten
$
C
$
.
\end{theorem}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment