universität stuttgart wissensverarbeitung und numerik i nstitut für k ernenergetik und e...
TRANSCRIPT
8/1
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Simulation komplexer technischer Anlagen
Teil II: Elemente zum Bau virtueller Anlagenkomponenten
Kapitel 8: Algorithmen 2: Gewöhnliche Differentialgleichungen
Inhalt
• Gewöhnliche Differentialgleichungen
• Euler- und Differenzen-Verfahren
• Verfahren höherer Ordnung
• Systeme gewöhnlicher Differentialgleichungen
Experimente
Freier Fall
Explizite und implizite Zeitdiskretisierung
8/2
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Das sollten Sie heute lernen
Was ist eine gewöhnliche Differentialgleichung Numerische Lösung gew. Dgl‘en Differenzenverfahren implizit und explizit Eulerverfahren Diskretisierung gew. Dgl‘en Struktur von Programmen zur Lösung von Dgl‘en Ursachen für instabiles Verhalten
8/3
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Grundbegriffe aus der Theorie der Differentialgleichungen
Gleichungen zwischen Funktionen und ihren Ableitungen heißen Differentialgleichungen (Dgl). Man unterscheidet gewöhnliche Differentialgleichungen und partielle Differentialgleichungen. Gewöhnliche Differentialgleichungen enthalten nur gewöhnliche Ableitungen. Als Beispiel sei die Schwingungsgleichung angeführt:
Differentialgleichungen mit einer unabhängigen Variablen sind immer gewöhnliche Differentialgleichungen. Differentialgleichungen mit mehreren unabhängigen Variablen enthalten gewöhnlich partielle Ableitungen nach den einzelnen Variablen. Man spricht dann von partiellen Differentialgleichungen. Sie werden entweder direkt oder in Operatorform angeschrieben. Sei L der Operator
so lautet die Schwingungsgleichung L y = f(t)
L kann verschieden definiert werden.
Die Ordnung n einer Differentialgleichung gibt die höchste Ableitung in der Differentialgleichung an.
)(22 tfyyy
222
2L
dtd
dt
d
8/4
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Gewöhnliche Differentialgleichungen
Zu lösen sei in a t b
mit y(a) = yo
Typischerweise hat bei solchen Problemen die unabhängige Variable die Bedeutung der Zeit. Yo ist dann ein Anfangswert.
Von den Problemen, die im Rahmen dieser Vorlesung behandelt werden, fordern wir:
a) Sie müssen eine eindeutige Lösung y(t) haben.
b) Die Lösung darf nur vom Anfangswert abhängen.
c) Sie darf sich nur wenig ändern, wenn yo oder f wenig geändert werden.
Eine Differentialgleichung heißt
linear, wenn ihre Koeffizienten nicht von den abhängigen Variablen oder ihren Ableitungen abhängen;
halb-linear, wenn in den Randbedingungen nichtlineare Funktionen der Abhängigen oder ihren Ableitungen vorkommen;
quasi-linear, wenn auch in den Koeffizienten der Differentialgleichung Abhängigkeiten der Lösungen auftreten,
nicht-linear, wenn die Differentialgleichung Potenzen von Ableitungen enthält.
),( tyfydt
d
8/5
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Lösung gewöhnlicher Differentialgleichungen
Integriert man
so erhält man
Das Intervall tn bis tn+1 heißt Zeitschritt n+1 für einen Zeitschritt gilt:
Daraus ergeben sich folgende Möglichkeiten, yn+1 zu bestimmen:
1. Integration der rechten Seite nach dem Newton-Verfahren Euler- und Runge-Verfahren.
2. Entwicklung der rechten Seite nach Lagrange-Funktionen und anschließende Integration
Adams-Verfahren.
3. Näherung der Ableitung (linke Seite) durch eine Approximation der Ordnung n
Gear-Verfahren.
Die Verfahren werden im Folgenden kurz erläutert.
btamittyfydt
d ),(
2
11 2
1......),(),(
),()()(tt
ta
tt dttyfdttyf
dttyfbaayby
dttyfyy nt
ntnn ,11
8/6
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Euler-VerfahrenDer Integrand wird durch einen konstanten Wert genähert. Dazu gibt es drei Möglichkeiten:
a) f (y,t) = f (yn,tn)
b) f (y,t) = f (yn+1, tn+1)
c) f (y,t) = f (yn+, tn+ ) mit 0 1
Die rechte Seite wird damit
Daraus folgen 3 Bestimmungsgleichungen für
a) explizites Verfahren: yn+1 = yn + h f (yn, tn)
b) implizites Verfahren: yn+1 = yn + h f (yn+1, tn+1) (entspricht Iterationsvorschrift)
c) modifiziertes Euler-Verfahren: yn+1 = yn + h f (yn+ , tn+)
Setzt man = 0, 5, so folgt Prediktorschritt
Korrektorschritt
Euler-Verfahren entsprechen der Differenzennäherung
),(222/1 tyfhyy nnn
1 hf fdt nn
n
tt
) t,(y fh y y21/n21/nn1n
8/7
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
21
21
xiTiTi
T
dtiT
2121/i
2
2
xiTiTiT
dx
T
Die Wärmeleitgleichung als BeispielDie Wärmeleitgleichung ist eigentlich eine partielle Differentialgleichung. Sie lautet
Diskretisiert man zunächst den x-Raum,
so erhält man x xi, T Ti und
oder am Ortspunkt i
Das ist eine gewöhnliche Differentialgleichung, allerdings aus einem System von Differentialgleichungen für alle diskreten Punkte des Ortsraumes.
Zur Lösung des Problems benötigen wir Die Länge des Stabes Die Zahl der Punkte i Werte für T am linken und rechten Rand Einen Wert von Die Dauer der Simulation Die Zahl der Zeitschritte Die Temperaturverteilung zum Zeitpunkt 0.
Die Diskretisierung ist konsistent, wenn Orts- und Zeitableitung am gleichen Raum-Zeit-Punkt erfolgen.
2
2
x
T
t
T
8/8
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Die Wärmeleitgleichung in diskreter Form
Explizites Verfahren
Implizites Verfahren
Gemischtes Verfahren (Zwischenschrittverfahren)
Fehlerfortpflanzung beim expliziten Verfahren
Für cond g = verringert sich Fehler
wegen
folgt, dass beschränkt ist, t und x hängen also voneinander ab.
2/mit )121(1 xtTniTniTniTniTni
)11
1211(1 TniTniTniTniTni
)121(1 TniTniTniTniTni
TnTnTngTn )(1
1)(
1
Tng
gTn
)(1 Tng
8/9
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Runge-Kutta-Verfahren
Verwendet man zur Integration der rechten Seite Verfahren höherer Ordnung, so erhält man die Klasse der Runge-Kutta-Verfahren zur Lösung von gewöhnlichen Differentialgleichungen.
a) Integration mit Trapez-Regel
Verfahren von Heun
Lösung iterativ mit Startwert
b) Iteration mit Simpson-Regel
Die Simpson-Regel verwendet die Punkte tn,tn+1/2 und t n+1 zur Integration, f (y,t) muss also an diesen Punkten genähert werden. Dies leistet gerade das Runge- Kutta-Verfahren der Ordnung 4.
Die Zwischenwerte werden wie folgt genähert:
Für f (y,t) = f (t) degeneriert das Verfahren zur Simpson-Formel.
)),(),((2
111 tytyyy nnnnnn ffh
),(1 tyyy nnnn
fho
),(),2
(2),2
(2),(6/14321
( ytytytytyy hfh
fh
ffhnnnnnnn
),(),2
(2/1
),2
(2/1
3412
231
yhtfhyyyh
tfhyy
yh
tfhyyyy
nnnn
nnn
8/10
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Beispiel zum Runge-Kutta-VerfahrenGegeben sei das Anfangswertproblem: = y2 mit
y (0) = - 4 0 t 0,3 h = 0,1
Die exakte Lösung lautet
Für und
Für den Schritt n+1 folgt:
2)2)2)(201(
101()4,(
2)2)(201(
201
101
4
2)2)2)(201(
201()3,2(
22201
201
3
2)2)(201()2,2(2
201
2
2)1,n(tf
)41(/1
2
nynynyyhntfund
nynynynyy
nynynyyhntfundnynynyy
nynyyhntfundnynyy
wirdnyy
ty
y
nyy 1
222220/120/110/12
22220/120/122220/12260/1
1
ny
ny
ny
ny
ny
ny
ny
ny
ny
iy
ny
ny
8/11
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Adams-Verfahren
Eine weitere Verbesserung der Bestimmung der rechten Seite erhält man dadurch, dass man den Integranden über eine Funktionsentwicklung darstellt.
Als Entwicklungskoeffizienten können die Werte der diskreten Zeitpunkte verwendet werden.
Entwicklungsfunktionen sind dann wieder die Lagrange-Polynome .
Zum Zeitschritt n ist folgende Entwicklung möglich:
mit m n
Damit lässt sich f (y, t) integrieren.
Die mi sind tabelliert.
m
i
miin
tin
yftyf0
),(),(
n
i
mim
infdtjn
t
jnt
mijn
t
jnt
m
iin
fdttyf
0111 0
,
8/12
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Baskford-Adams-Verfahren
Man unterscheidet zwei Fälle:
a) j = 1 Verfahren nach Adams-Baskford
Bestimmung von yn+1:
Integration zwischen tn und tn+1
Entwicklung von f bis zur Stelle tn
Aus Entwicklung bis tn wird Verlauf extrapoliert - Prediktor-Schritt. Für die Integrale ni gilt:I
ni
0 1 2 3 4
ni 1
2ni 1 1
12ni 5 1 -1
24ni 9 19 -5 1
720ni 251 646 -264 106 -19
8/13
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Adams-Moulton-Verfahrenb) j = 0 Verfahren nach Adams-Moulton
Bestimmung von yn+1
Integration zwischen tn und tn+1
Entwicklung von f bis zur Stelle tn+1 (ersetze n durch n+1 in allgemeiner Formel)
Entwicklung verwendet schon Endwert - Korrektor-Schritt oder implizit. Lösungen nur iterativ.
Für die Integrale ni gilt:
I
ni
0 1 2 3 4
ni 1
2ni 1 1
12ni 5 1 -1
24ni 9 19 -5 1
720ni 251 646 -264 106 -19
8/14
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Gear-Verfahren - 1
kn
r
kknn
kn
r
kknnn
nrkkn
r
nrk
r
kknn
rk
r
kkn
ybfa
yoder
ybayafydt
dmanerhält
kfürdt
d
abund
dt
damit
tdt
dyty
dt
dDaraus
tyty
11
1
11
11
110
10
11
01
1
01
)()(
)()(
Die Klasse der Gear-Verfahren erhält man, wenn man nicht den Integranden,sondern die Lösung nach Lagrange-Funktionen entwickelt und anschließend ableitet
8/15
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Gear-Verfahren - 2
nnn
knn
kk
r
kjj jnkn
jnnk
knrk
r
j jnn
yftyund
bt
a
tta
pb
rfürtt
ttp
rfürpdt
d
tta
1
1
11
1 11
11
1
1 11
11
konstantt und 1 rfür manerhält Daraus
1
11
1
Die allgemeine Form der Koeffizienten lautet:
Das entspricht dem Ergebnis nach Euler
8/16
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Gear-Verfahren -3
nn
n
nnnnn tt
t
ttttta
1
1
1111
1111
man erhält 2 r Für
nn
nn
nn
nn
tt
ttp
tt
ttp
1
12
1
111
111
111
1
11
21k
3
1
3
4
3
2
2
43
3
1
3
4
3
2
3
1
3
4
3
22
3 a
nnnn
nnnn
n
nnnn
kk
yyfty
ft
yyyy
dt
d
yyftyund
bbk
p
tka
pb
t
konstanttfür manerhält Daraus
:1 giltoderimplizitifferenzenRückwärtsddieFür
Daraus folgt
8/17
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Stabilität -1
Drei Fehlerquellen können auftreten
a) Näherung von
b) Näherung des Integrals der rechten Seite,
c) Bestimmung von y.
Werden Fehler durch die Zeitfortschaltung verkleinert, so heißt ein Verfahren stabil. Analog der notwendigen Bedingung für die Verkleinerung von Fehlern bei der Iteration gilt auch bei der Zeitfortschaltung.
ydt
d
Bedingungnotwendigealsygtfo
ygyg
ygygcondwegen
gcondwennstabilistygyn
1)(lg
)()(
)(
1,1
8/18
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Stabilität -2
Mehrschrittverfahren kann man darstellen als
Dann gibt es zu dieser Gleichung ein charakteristisches Polynom p ()
Für p () = 0 gibt es m-Nullstellen und man kann zeigen:
Ein Verfahren ist stabil, wenn für alle Nullstellen gilt
und Nullstellen mit höchstens als einfache Nullstellen vorkommen.
Verfahren nach Adam und Gear sind stabil. Die Verfahren von Runge-Kutta sind schwach stabil. Explizite Euler-Verfahren sind für große Zeitschritte instabil.
0
11
22
11
aammam
mamp
1
1
),(10
....1211
tyFhmn
yany
ma
ny
ma
ny
8/19
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Systeme gewöhnlicher DifferentialgleichungenEin System der Ordnung m wird durch m-Gleichungen definiert
Diskretisiert man dieses System, so kann man für jede Gleichung eine der beschriebenen Methoden verwenden. Die Auswahl muss nach physikalischen Gesichtspunkten geschehen.
Haben die Gleichung verschiedene Zeitkonstanten, wird das Gleichungssystem "steif". Dann breiten sich Fehler stark aus (implizite Lösungen). Hat man Nichtlinearitäten zu betrachten, so müssen Newton- oder Newton-Raphson-Methoden zur Lösung verwendet werden.
),,2
,1
(
),,2
,1
(2
2
),,2
,1
(1
1
tmyyy
mf
dtm
dy
tmyyyf
dt
dy
tmyyyf
dt
dy
8/20
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Aufbau eines Programms zur Lösung von Dgl‘enDie numerische Lösung von Differentialgleichungen kann - zumindest für einfache Probleme - schnell und übersichtlich programmiert werden. Im Folgenden ist ein typisches Flussdiagramm gezeigt.
Zeitfortschaltung, Eigenwertiteration,
Nichtlinearität
Lösung des Gleichungssystems
Berechnung der rechten Seiten
Neue
Matrizen
Nicht linear
ja
nein
nein ja (bei Quellrechnung, Endzeitpunkt,
Endgenauigkeit)
Eingabe und ihre Verarbietung Geometrie, Materialdaten,
Randbedingungen, Anfangswerte
Ausgabe
Nein linear
Erzeugung des Gleichungssystems
Ende
8/21
Universität Stuttgart W
isse
nsv
erar
be
itu
ng
un
d N
um
erik
Institut für Kernenergetikund Energiesysteme
Simulation technischer Systeme, WS 01/02 Kap. 8: Algorithmen-2
Diese Fragen sollten Sie jetzt beantworten können
Geben Sie eine gewöhnliche Differentialgleichung in differentieller und integraler Form an
Diskretisieren sie eine erste Ableitung implizit, explizit und zentral. Erklären Sie Unterschiede und Folgen
Heun Verfahren Runge Kutta Verfahren Zeichnen Sie ein Struktogramm für die Lösung einer nichtlinearen
DGL. Geben Sie ein Beispiel für eine Nichtlinearität. Prinzip der ADAMS Verfahren Wie lautet eine Pade Aproximation der Ordnung 1 Was ist Stabilität und wie kann man sie beeinflussen