WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und...

17
WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II: Elemente zum Bau virtueller Anlagenkomponenten Kapitel 9: Algorithmen 3: Gewöhnliche Differentialgleichungen Inhalt Gewöhnliche Differentialgleichungen • Euler-Verfahren • Runge-Kutta-Verfahren • Adams-Verfahren • Gear-Verfahren Systeme gewöhnlicher Differentialgleichungen

Transcript of WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und...

Page 1: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 1

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Simulation komplexer technischer Anlagen

Teil II: Elemente zum Bau virtueller Anlagenkomponenten

Kapitel 9: Algorithmen 3:

Gewöhnliche Differentialgleichungen

Inhalt• Gewöhnliche Differentialgleichungen

• Euler-Verfahren

• Runge-Kutta-Verfahren

• Adams-Verfahren

• Gear-Verfahren

• Systeme gewöhnlicher Differentialgleichungen

Page 2: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 2

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Gewöhnliche Differentialgleichungen

),( tyfydtd

in a t b

Zu lösen sei 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 (z.B. durch Rundungsfehler) geändert werden.

Ein System der Ordnung m ist durch m-Gleichungen definiert.

Diskretisiert man dieses System, so erhält man ein System von Gleichungen, das man vorteilhaft mit Hilfe von

Matrizen und Vektoren beschreibt.

),...,,2,1(11 tymyyfydt

d

),...,,2,1(22 tymyyfydt

d

),...,,2,1( tymyyf mymdt

d

Page 3: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 3

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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 in den folgenden Abschnitten kurz erläutert.

btamittyfydt

d ),(

1

12

1......a ),(),(

),()()(

tt t

t dttyfdttyf

dttyfbaayby

1 ),(1tt dttyfyy nn

nn

Page 4: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 4

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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 yn+1 = yn + h f (yn+1/2, t n+1/2)

Euler-Verfahren entsprechen der Differenzennäherung

),(2

22/1 tnynfh

yyn

1 n hf fdt nt

nt

Page 5: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 5

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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

t x

TT

21

21

xiTiTi

T

dtiT

2121/i

2

2

x

iTiTiT

dx

T

Page 6: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 6

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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, daß beschränkt ist, t und x hängen also voneinander ab.

2mit )121(1 txTniTniTniTniTni

)11

1211(1 TniTniTniTniTni

)121(1 TniTniTniTniTni

TnTnTngTn )(1

1)(

'1

Tng

gTn

)'(1' Tng

Page 7: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 7

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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) muß 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 nnn

o

n fh

),(),2

(2

),2

(2),(6/1

43

21 (

ytyt

ytytyy

hfh

f

hffh

nn

nnnnn

),(

),2

(2/1

),2

(2/1

34

23

12

1

ytyy

ytyy

ytyy

yy

hfh

hfh

hfh

nn

nn

nn

n

Page 8: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 8

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Beispiel zum Runge-Kutta-Verfahren

Gegeben sei das Anfangswertproblem: = y2

y (0) = -

0 t 0,3

h = 0,1

y

Und für den Schritt n+1 folgt:

Page 9: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 9

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Adams-Verfahren

Eine weitere Verbesserung der Bestimmung der rechten Seite erhält man dadurch, daß man denIntegranden über eine Funktionsentwicklung darstellt.

Als Entwicklungskoeffizienten können die Werte der diskreten Zeitpunkte verwendet werden.Entwicklungsfunktionen sind dann wieder die Lagrange-Polynome i

n. Zum Zeitschritt n ist folgendeEntwicklung möglich:

Page 10: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 10

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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 n; gilt

Page 11: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 11

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

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 von ni gilt

Page 12: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 12

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Gear-Verfahren - 1

Die Klasse der Gear-Verfahren erhält man, wenn man nicht den Integranden, sonderndie Lösung nach Lagrange-Funktionen entwickelt und anschließend ableitet

Page 13: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 13

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Gear-Verfahren - 2

Page 14: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 14

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

StabilitätDrei Fehlerquellen können auftreten

a) Näherung von ydtd

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 notwendigenBedingung für die Verkleinerung von Fehlern bei derIteration gilt auch bei der Zeitfortschaltung .

e 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.

Page 15: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 15

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Systeme gewöhnlicher Differentialgleichungen

Ein 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 muß nach physikalischen Gesichtspunkten geschehen.

Haben die Gleichung verschiedene Zeitkonstanten, wird das Gleichungssystem "steif". Dann breiten sich Fehler stark aus (implizite Lösugnen). Hat man Nichtlinearitäten zu betrachten, so müssen Newton- oder Newton-Raphson-Methoden zur Lösung verwendet werden.

Page 16: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 16

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Lösung von Systemen gewöhnlicher Differentialgleichungen

Die zugehörige Jakobi- oder Hesse-Matrix erhält man durch

Ableitung der Ausgangsgleichung. Sie hat folgende Elemente:

Es sei yK ein Näherungsvektor zum Iterationaschritt K, Dann gilt

Page 17: WS 98/99 Simulation, Kp. 9 1 Universität Stuttgart IKE Institut für Kernenergetik und Energiesysteme Simulation komplexer technischer Anlagen Teil II:

WS 98/99 Simulation, Kp. 9 17

Universität StuttgartIKE Institut für Kernenergetik

und Energiesysteme

Aufbau eines Programms zur Lösung von Differentialgleichungen

Die numerische Lösung von Differentialgleichungen kann - zumindest für einfache Probleme - schnell und übersichtlich programmiert werden. Im Folgenden ist ein typisches Flußdiagramm gezeigt.

Zeitfortschaltung, Eigenwertiteration,

Nichtlinearität

Lösung des Gleichungssystems

Berechnung der rechten Seiten

Neue

Matrizen

Nicht linear

ja

nein

neinja (bei Quellrechnung,

Endzeitpunkt, Endgenauigkeit)

Eingabe und ihre Verarbietung Geometrie, Materialdaten, Randbedingungen,

Anfangswerte

Ausgabe

Nein linear

Erzeugung des Gleichungssystems

Ende