Sie sind auf Seite 1von 85

Technische Universität München

Zentrum Mathematik

Diplomarbeit

Multirate-Verfahren für
gekoppelte
differentiell-algebraische Systeme

Bernd Möller

Themensteller: Prof. Dr. M. Arnold


Betreuer: Prof. Dr. M. Arnold
Abgabetermin: 15. April 2003
Hiermit erkläre ich, dass ich die Diplomarbeit selbstständig angefertigt und nur
die angegebenen Quellen verwendet habe.

München, 13. April 2003

Bernd Möller
Vorwort

Die vorliegende Diplomarbeit ist in Zusammenarbeit mit dem Deutschen Zentrum


für Luft- und Raumfahrt (DLR), Institut für Aeoroelastik, Abteilung Fahrzeug-
Systemdynamik in Oberpfaffenhofen entstanden. Ich möchte mich ganz herzlich für
die gute Zusammenarbeit und tatkräftige Unterstützung bei allen Mitarbeitern der
Abteilung bedanken.
Mein besonderer Dank gilt meinem Betreuer Prof. Dr. Martin Arnold für die
Unterstützung und Förderung der Arbeit. Er stand mir während der gesamten
Entstehungsphase stets mit wertvollem Wissen zur Seite.
Danken möchte ich auch meinem Kollegen Andreas Fuchs. Zahlreiche Diskussio-
nen und anregender Gedankenaustausch haben ebenso wie viele weitere Unterstüt-
zungen entschieden zum Gelingen dieser Arbeit beigetragen.
Nicht zuletzt sei noch Antonie Maschke und Michaela Mansch für die Durchsicht
der Arbeit nach sprachlichen Gesichtspunkten gedankt.

iii
Inhaltsverzeichnis

1 Einleitung 1

2 Zeitintegration differentiell-algebraischer Gleichungen 7


2.1 DAEs und ihre mathematischen Grundlagen . . . . . . . . . . . . . 7
2.1.1 Problemklasse . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.2 Differentiationsindex . . . . . . . . . . . . . . . . . . . . . . 9
2.1.3 Indexreduktion durch Differentiation . . . . . . . . . . . . . 11
2.1.4 Drift-Off-Effekt und Stabilisierung . . . . . . . . . . . . . . . 12
2.2 Numerische Integration der DAEs . . . . . . . . . . . . . . . . . . . 15
2.2.1 Implizite Runge-Kutta-Verfahren . . . . . . . . . . . . . . . 15
2.2.2 NDF-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 Der Matlab Integrator ode15s . . . . . . . . . . . . . . . . . . . . 19
2.3.1 Aufruf des Integrators in Matlab . . . . . . . . . . . . . . 20
2.3.2 Erkennen einer DAE . . . . . . . . . . . . . . . . . . . . . . 20
2.3.3 Berechnung konsistenter Anfangswerte . . . . . . . . . . . . 21
2.3.4 Integrationsroutine . . . . . . . . . . . . . . . . . . . . . . . 23

3 Multirate- und Multimethod-Verfahren 27


3.1 Multirate-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.1.2 Effizienzbetrachtungen . . . . . . . . . . . . . . . . . . . . . 30
3.1.3 Beispiel: Eingebettete Multirate-Runge-Kutta-Verfahren . . 33
3.2 Multimethod-Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.2.1 Gesamtschritt-Strategie . . . . . . . . . . . . . . . . . . . . 36
3.2.2 Einzelschritt-Strategie . . . . . . . . . . . . . . . . . . . . . 37

4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme 39


4.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.2 Multirate-Verfahren für gekoppelte DAEs . . . . . . . . . . . . . . . 40
4.2.1 Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.2.2 Definition des Algorithmus . . . . . . . . . . . . . . . . . . . 44
4.3 Konvergenzanalyse und Fehlerschätzung . . . . . . . . . . . . . . . 46

v
Inhaltsverzeichnis

4.4 Beweis des Konvergenzsatzes . . . . . . . . . . . . . . . . . . . . . . 47


4.4.1 Fehler der differentiellen Variablen . . . . . . . . . . . . . . 48
4.4.2 Fehler der algebraischen Variablen . . . . . . . . . . . . . . . 49
4.4.3 Fehler der Inter- und Extrapolation . . . . . . . . . . . . . . 52
4.4.4 Fehlerabschätzung für y1 . . . . . . . . . . . . . . . . . . . . 55
4.4.5 Fehlerabschätzung für y2 . . . . . . . . . . . . . . . . . . . . 57
4.4.6 Fehlerabschätzung für u . . . . . . . . . . . . . . . . . . . . 58
4.4.7 Schlussfolgerungen . . . . . . . . . . . . . . . . . . . . . . . 59
4.5 Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Numerische Ergebnisse 63
5.1 Benchmarkproblem: Mathematisches Doppelpendel . . . . . . . . . 63
5.2 Anmerkungen zur Integration des Benchmarkproblems . . . . . . . 66
5.3 Einfluss der Integrationsreihenfolge auf die Konvergenz . . . . . . . 67
5.4 Einfluss der Makroschrittweite und der Interpolationsordnung . . . 68
5.5 Konvergenzbedingung bei Stützstellen aus mehreren Makrointervallen 72
5.6 Kopplung mittels steifer Feder . . . . . . . . . . . . . . . . . . . . . 73

6 Zusammenfassung 75

vi
1 Einleitung
Die Computersimulation wird heute in fast allen technischen Bereichen eingesetzt.
Mit ihrer Hilfe ist es möglich, Einblicke in das Systemverhalten von oftmals sehr
komplexen technischen Prozessen zu gewinnen. Sie wird unter anderem dann einge-
setzt, wenn eine experimentelle Bestimmung zu zeit- oder kostenintensiv oder sogar
unmöglich ist.
Bevor man einen Prozess simulieren kann, muss zuerst ein mathematisches Mo-
dell des Systems aufgestellt werden. Bei großen und komplexen Systemen bietet
sich hierbei insbesondere eine modulare Modellierung an. Dies bedeutet, dass man
das komplette System in kleinere Subsysteme „zerlegt“, welche dann einzeln mo-
delliert und mittels Kopplungsbedingungen verknüpft werden. Häufig erhält man
auf diesem Weg Systeme, die durch differentiell-algebraische Gleichungen (engl.:
differential algebraic equations, DAEs) beschrieben werden. DAEs sind eine Misch-
form aus gewöhnlichen Differentialgleichungen und algebraischen Nebenbedingun-
gen [AP98, BCP96].
Die Aufteilung in Subsysteme ergibt sich in den meisten Fällen direkt aus der
Struktur des technischen Systems. Es liegt z. B. bei der Modellierung eines LKWs
nahe, ein Modell für die Reifen, ein Modell für die Radaufhängung, ein Modell
für die Achsen etc. zu erstellen und diese dann schließlich zu einem Gesamtmodell
miteinander zu verknüpfen [ESF98]. Oftmals kann man zudem für die einzelnen
Subsysteme auf bekannte und vielfach erprobte Modellkomponenten zurückgreifen,
anstatt eigene Modelle entwickeln zu müssen.
Der Vorteil der Modularisierung wird noch viel deutlicher, wenn man Systeme
mit Komponenten aus verschiedenen Ingenieurbereichen betrachtet: Die Spezialis-
ten der einzelnen Gebiete können unabhängig voneinander ihre Modelle entwickeln
und modifizieren, sobald sie sich untereinander über Schnittstellen zwischen den
Teilsystemen geeinigt haben [KS00]. Des Weiteren können die Ergebnisse der Sub-
systeme nach einer Simulation leichter validiert werden – entsprechende Erfahrung
vorausgesetzt.
Das Ergebnis der modularen Modellierung ist ein Gesamtmodell bestehend aus
gekoppelten Modellgleichungen. Nun liegt es nahe, für eine numerische Berech-
nung nicht das komplette globale System mit einem Zeitintegrationsverfahren zu
integrieren, sondern die entkoppelten Teilsysteme einzeln zu lösen. In der Lite-
ratur [AG01] ist diese Vorgehensweise unter dem Begriff verteilte Zeitintegration
(engl.: distributed time integration) bekannt. Werden für komplexe technische Sys-

1
1 Einleitung

Teilsystem 1 Teilsystem 2
y10 = f1 (y1 , y2 ) y20 = f2 (y1 , y2 )

Integration
   
yn+1,1 Φ(f1 , yn,1 , yn,2 , τ )
=
yn+1,2 Φ(f2 , yn,1 , yn,2 , τ )

Abbildung 1.1: Klassische Zeitintegration

teme spezialisierte Integratoren gekoppelt, dann spricht man von Simulatorkopp-


lung [KS00] oder Co-Simulation [ACHH02].
Untersucht man z. B. die Fahrdynamik von zwei Hochgeschwindigkeitszügen, die
aneinander vorbeifahren, so ist es notwendig aerodynamische Effekte in das Modell
der Fahrdynamik zu integrieren. Im Allgemeinen werden dazu ein Solver aus der
Strömungsmechanik (engl.: computational fluid dynamics, CFD) und ein Integra-
tor für die Lösung des die Fahrzeuge beschreibenden Mehrkörpersystems (MKS)
gekoppelt [ACHH02].
Um die Vorgehensweise der verteilten Zeitintegration zu verdeutlichen, betrachte
man exemplarisch ein System gewöhnlicher Differentialgleichungen y 0 (t) = f (y(t)).
Dieses kann mit y = (y1 , y2 ) in zwei miteinander gekoppelte Subsysteme aufgeteilt
werden. Teilsystem 1 und Teilsystem 2 sind folglich definiert durch

y10 = f1 (y1 , y2 ), (1.1a)


y20 = f2 (y1 , y2 ), (1.1b)

wobei die Zeitabhängigkeit der Variablen y1 und y2 nicht mehr explizit angegeben
wird. Würde man dieses gekoppelte System mittels einer „klassischen“ Zeitintegra-
tion lösen, dann wäre es nur formal in zwei Subsysteme aufgeteilt. Das eingesetzte
Integrationsverfahren hat in jedem ausgeführten Zeitschritt der Integration Zugriff
auf die Variablen beider Systeme. In Abbildung 1.1 wird schematisch ein Integra-
tionsschritt yn 7→ yn+1 mittels einer klassischen Zeitintegration dargestellt. In der
Abbildung steht Φ(fi , y1 , y2 , τ ) für eine nicht näher spezifizierte Verfahrensfunkti-
on eines Einschrittverfahrens mit rechter Seite fi (y1 , y2 ) und Schrittweite τ, wobei
i = 1, 2.
Im Gegensatz dazu geht man bei einer verteilten Zeitintegration einen anderen
Weg, wobei wir uns hier auf die Situation des Beispiels (1.1) beschränken wollen:

2
Teilsystem 1 Teilsystem 2
y10 = f1 (y1 , ye2 ) y20 = f2 (e
y 1 , y2 )

Integration Integration
yn+1,1 = Φ1 (f1 , yn,1 , ye2 , τ1 , H) yn+1,2 = Φ2 (f2 , ye1 , yn,2 , τ2 , H)

yn+1,1 yn+1,2
ye2 ye1

Datenaustausch
an diskreten Zeitpunkten T0 , T1 , . . . , TN

Abbildung 1.2: Verteilte Zeitintegration

Beide Teilsysteme werden unabhängig voneinander mit (nicht notwendigerweise)


verschiedenen Verfahrensfunktionen Φi in H/τi Schritten der Länge τi integriert
(H/τi sei ganzzahlig). Der Wert der jeweiligen Variablen des anderen Teilsystems
(z. B. y2 im Falle des Teilsystems 1) ist dem Integrationsverfahren nicht zu jedem
Zeitpunkt bekannt, da die Teilsysteme entkoppelt gelöst werden. Man spricht des-
halb von externen Variablen, die lediglich an vorgegebenen, diskreten Synchronisa-
tionspunkten zwischen den Teilsystemen ausgetauscht und aktualisiert werden.
Der Zeitschritt zwischen zwei benachbarten Synchronisationspunkten Tn und
Tn+1 wird als Makroschritt der Länge H bezeichnet. Der Name Makroschritt wurde
gewählt, weil üblicherweise innerhalb eines Makroschrittes die Integration der Teil-
systeme eine gewisse Anzahl kleinerer Schritte, sogenannte Mikroschritte, benötigt,
um eine gegebene Genauigkeit einzuhalten.
Abbildung 1.2 verdeutlicht das Prinzip der verteilten Zeitintegration, sie stellt
schematisch einen Makroschritt yn 7→ yn+1 des Systems (1.1) dar. Die zwei Teilsys-
teme werden mit nicht näher spezifizierten Einschrittverfahren Φi in H/τi Mikro-
schritten integriert. Während dieser Schritte ist der konkrete Werte der externen
Variablen unbekannt, sie werden deshalb in der Abbildung mit yei bezeichnet.
Die jeweilige externe Variable muss folglich innerhalb eines Makroschrittes appro-
ximiert werden. Dies wird in der Regel durch Extrapolationen realisiert, vgl. Abbil-
dung 1.3. Wählt man die Integrationsreihenfolge jedoch so, dass das entsprechende
Teilsystem der benötigten externen Variablen bereits bis zum nächsten Synchro-
nisationspunkt integriert wurde und diese Daten in dem betrachteten Teilsystem
aktualisiert wurden, dann können die Werte der externen Variablen auch durch
Interpolationen angenähert werden [GW84], vgl. dazu Abbildung 1.4.
Es hat sich gezeigt, dass verteilte Zeitintegrationen viele Vorteile haben und von

3
1 Einleitung

yn,1 Mikroschritte yn+1,1 = yn+1,1 (f1 , yn,1 , yen,2 , τ1 )


yen,2
yen,1
yn,2 Mikroschritte yn+1,2 = yn+1,2 (f2 , yen,1 , yn,2 , τ2 )

Abbildung 1.3: Extrapolation der externen Variablen in beiden Teilsystemen.

großem praktischen Nutzen sind, weshalb sie derzeit ein viel beachtetes Forschungs-
gebiet darstellen. Ein bedeutender Vorteil liegt in der Tatsache, dass die Integration
vom Prinzip her effizienter und robuster wird, da der jeweils eingesetzte Integrator
an die spezielle Struktur und Eigenschaften der Teilsysteme angepasst werden kann.
Charakteristische Beispiele sind gekoppelte Probleme, in denen nur einzelne Teilsy-
teme steif sind oder in denen Teilsysteme mit unterschiedlichen Zeitskalen vorliegen,
d. h. die Variablen eines Teilsystems ändern sich in einer viel kleineren Zeitskala als
die eines anderen Teilsystems.
Beispielsweise trifft man in Anwendungen aus dem Bereich der Radioübertragung
oft auf gekoppelte Systeme von analogen und digitalen Netzwerken. Die Frequenz
des analogen Schaltkreises liegt im Mikrosekunden-Bereich, der digitale Schalt-
kreis dagegen wird in Nanosekunden gemessen [BGK02]. Besonders bei Systemen
mit dieser Eigenschaft bietet sich eine verteilte Integration mit einem Multirate-
Verfahren an. Ein Multirate-Verfahren löst alle Teilsysteme zwar mit dem gleichen
Zeitintegrationsverfahren, aber mit unterschiedlichen Schrittweiten in den Teilsys-
temen [GW84, GR93].
Werden die Teilsysteme hingegen mit unterschiedlichen Zeitintegrationsverfahren
integriert, so spricht man von einem Multimethod-Verfahren. Dieses Vorgehen bietet

yn,1 Mikroschritte yn+1,1 = yn+1,1 (f1 , yn,1 , yen,2 , τ1 )


yen,2
yen+1,1
yn,2 Mikroschritte yn+1,2 = yn+1,2 (f2 , yen+1,1 , yn,2 , τ2 )

Abbildung 1.4: Extrapolation der externen Variablen in Teilsystem 1,


Interpolation der externen Variablen in Teilsystem 2.

4
sich zum Beispiel an, wenn ein steifes und ein nicht-steifes Teilsystem gekoppelt sind,
da im nicht-steifen Teilsystem ein explizites Verfahren eingesetzt werden kann und
nur im steifen Teilsystem implizit gerechnet werden muss.
Des Weiteren begünstigt der modulare Aufbau eine parallele Integration der Teil-
systeme, insbesondere bei vielen internen, also dem jeweiligen Teilsystem zugehö-
rende, und wenigen externen, d. h. anderen Teilsystemen zugeordneten, Variablen.
Wenn nur wenige Variablen in Wechselwirkung mit anderen Teilsystemen stehen,
kann potenziell viel Rechenzeit gespart werden, was wiederum bedeutet, dass man
auch sehr komplexe Systeme in vertretbarer Zeit untersuchen kann [MN87].
Ebenso ist eine räumlich verteilte Integration denkbar, d. h. die Simulation muss
nicht zwangsläufig an einem physikalischen Ort gerechnet werden. So können zum
Beispiel zwei Entwicklungsteams an unterschiedlichen Standorten ihre Teilsysteme
vor Ort auf ihrer jeweiligen Hardware integrieren. Durch eine Netzwerkverbindung
muss dann lediglich eine periodische Synchronisation zu gegebenen Zeitpunkten
erfolgen [KS00].
Leider hat die verteilte Zeitintegration auch Nachteile. Wie oben beschrieben
wurde, müssen die externen Variablen durch Extra- und Interpolation approximiert
werden. Somit kommt zusätzlich zu dem Fehler einer klassischen numerischen Zeit-
integration ein Fehlerterm hinzu, der durch die Extra- und Interpolation bedingt
ist. Oft müsste man bei einer verteilten Integration kleinere Schrittweiten verwen-
den – im Vergleich zur klassischen Integration –, um eine vorgegebene Genauigkeit
zu erreichen. Dies bedeutet aber wiederum mehr Rechenaufwand, den es eigentlich
zu vermeiden gilt. Zu kleine Schrittweiten sind außerdem praktisch nicht immer
möglich, denn durch die nötige Synchronisation zwischen den Teilsystemen kommt
ein gewisser Overhead im Algorithmus hinzu. Bei „zu kleinen“ Schrittweiten würde
dieser überwiegen und den Algorithmus ineffizient machen.
Der schwerwiegendste Nachteil ist aber, dass mindestens in einem Teilsystem eine
Extrapolation zur Approximation der externen Variablen zwingend nötig ist (vgl.
Abbildungen 1.3 und 1.4). Dadurch erhält das Verfahren teilweise einen expliziten
Charakter, der Algorithmus kann bei steifen Problemen numerisch instabil [HW96]
werden und unbrauchbare Ergebnisse liefern. Ein Ziel dieser Arbeit soll deshalb
sein, ein Kriterium zu finden, das Stabilität bei einer verteilten Integration von
gekoppelten differentiell-algebraischen Systemen garantieren kann.
Die vorliegende Arbeit ist folgendermaßen aufgebaut:
Kapitel 2 befasst sich zuerst mit den Grundlagen der Zeitintegration von DAEs,
dann werden zwei mögliche Verfahrensklassen zu ihrer Lösung dargestellt: impli-
zite Runge-Kutta-Verfahren und NDF-Verfahren (engl.: numerical differentiation
formulae) [SR97]. Den Abschluss dieses Kapitels bildet eine Übersicht über den
Integrator ode15s, der in dem Softwarepaket Matlab zur Integration von DAEs
zur Verfügung steht.
Kapitel 3 geht im Detail auf die verteilte Zeitintegration ein. Es werden Multirate-

5
1 Einleitung

und Multimethod-Verfahren sowie deren möglichen Strategien der Integrationsrei-


henfolge vorgestellt. Als Beispiel eines Multirate-Verfahrens dient das eingebettete
Multirate-Runge-Kutta-Verfahren.
Im darauf folgenden Kapitel 4 wird ein Multirate-Algorithmus zur Lösung von
gekoppelten DAEs formuliert. Er basiert auf dem impliziten Euler-Verfahren, das
im Sinne eines Prototyps den theoretischen Stabilitätsuntersuchungen zu Grunde
gelegt werden soll. Des Weiteren wird das Konvergenzverhalten des vorgestellten
Multirate-Verfahrens untersucht, wobei man ein Stabilitätskriterium findet, das –
wenn eingehalten – die Konvergenz dieses Verfahrens sicherstellt.
In Kapitel 5 werden anschließend die theoretischen Ergebnisse durch numerische
Experimente an Hand eines mathematischen Doppelpendels gestützt.
Eine Zusammenfassung steht am Ende der Arbeit in Kapitel 6.

6
2 Zeitintegration
differentiell-algebraischer
Gleichungen
Inhalt dieses Kapitels ist die numerische Lösung differentiell-algebraischer Gleichun-
gen (engl.: differential algebraic equations, DAEs). Bevor wir uns der Numerik zu-
wenden, werden zuerst die nötigen analytischen Grundlagen der DAEs behandelt.
Einen tiefer gehenden Einblick findet man darüberhinaus in einschlägigen Monogra-
phien, wie z. B. [BCP96] oder [HW96].
Im Anschluss werden zwei Verfahrensklassen beschrieben, die sich zur numeri-
schen Lösung von DAEs eignen: Implizite Runge-Kutta-Verfahren (IRK) und so
genannte NDF-Verfahren.
Am Ende dieses Kapitels wird die Implementierung der NDF-Verfahren in der
kommerziellen Software Matlab – einer Softwareumgebung für wissenschaftliches
Rechnen – im Detail vorgestellt.

2.1 DAEs und ihre mathematischen Grundlagen


2.1.1 Problemklasse
Wie schon in der Einleitung dieser Arbeit erwähnt, führen mathematische Model-
le von technischen Prozessen häufig auf DAEs. Vereinfacht ausgedrückt handelt
es sich bei diesen häufig um ein System aus gewöhnlichen Differentialgleichungen
(engl.: ordinary differential equations, ODEs) mit algebraischen Nebenbedingun-
gen. Genauer gesagt sind DAEs spezielle implizite Gleichungen in endlich vielen
Unbekannten y : [t0 , tN ] → Rny

F (t, y(t), y 0 (t)) = 0, (2.1)

wobei t ∈ [t0 , tN ] unabhängige Variable ist und F, y Vektoren von gleicher Dimen-
sion sind. Die Einteilung, ob es sich um eine ODE oder DAE handelt, erfolgt mit
Hilfe der Jakobimatrix ∂F/∂y 0 . Als Voraussetzung sei der Rang der Jakobimatrix
konstant, Rg(∂F/∂y 0 ) = const, für alle t ∈ [t0 , tN ], y(t) ∈ Rny , y 0 (t) ∈ Rny .
Dann heißt F (t, y(t), y 0 (t)) = 0 ein

7
2 Zeitintegration differentiell-algebraischer Gleichungen

∂F
a) (implizites) System gewöhnlicher Differentialgleichungen, falls Rg( ∂y 0 ) = ny ,

∂F
b) differentiell-algebraisches System, falls 0 < Rg( ∂y 0 ) < ny oder

∂F
c) (parameterabhängiges) nichtlineares Gleichungssystem, falls Rg( ∂y 0 ) = 0.

Diese Klassifizierung wird an einem Beispiel veranschaulicht.

Beispiel 2.1. Wir wollen das mathematische Pendel


in Absolutkoordinaten (vgl. nebenstehende Abbildung) ζ
betrachten. Schwingt ein Massenpunkt m (hier wur- η
de o. E. m = 1 angenommen) ungedämpft in ei-
nem (η-ζ)-Koordinatensystem, kann man die Bewe- l
gungsgleichungen leicht an Hand des Euler-Lagrange-
(η, ζ)
Formalismus [HW96, Abschnitt VII.1] ermitteln. Wer- a
den die Geschwindigkeiten mit u und v bezeichnet und m
steht λ für den Lagrange-Multiplikator, so erhält man
mit Pendellänge l und Fallbeschleunigung a folgende Bewegungsgleichungen für
das Pendel:

η 0 = u, (2.2a)
ζ 0 = v, (2.2b)
u0 = −2ηλ, (2.2c)
v 0 = −a − 2ζλ, (2.2d)
0 = η 2 + ζ 2 − l2 . (2.2e)

In der Form (2.1) mit y = (η, ζ, u, v, λ) kann man überprüfen, dass


 
4×4
I 0
 
∂F
0 < Rg 0
= Rg   = 4 < ny = 5.
∂y 0 0

Es ist somit ersichtlich, dass es sich hier um eine DAE handelt. Die algebraische
Nebenbedingung (2.2e) sorgt dafür, dass sich der Massenpunkt auf einer Kreisbahn
mit einem Radius gleich der Pendellänge bewegt.

Im Bereich der Mehrkörpersysteme (MKS) wird meistens angenommen, dass ein


System (2.1) in seiner autonomen und semi-expliziten Form

η 0 = f (η, ζ), (2.3a)


0 = b(η, ζ), (2.3b)

8
2.1 DAEs und ihre mathematischen Grundlagen

geschrieben werden kann. Dann kann die Mannigfaltigkeit M, auf der die Lösungen
der DAE aufgrund der Zwangsbedingung liegen, explizit angegeben werden. Für
y = (η, ζ) in (2.3b) gilt:
M = {y : b(y) = 0}. (2.4)

Bemerkung 2.2. Im Unterschied zu ODEs existiert für DAEs nicht zu allen An-
fangswerten eine Lösung. Notwendigerweise müssen die gewählten Anfangswerte auf
der Mannigfaltigkeit M liegen. DAEs mit höherem Index (siehe Abschnitt 2.1.2)
können jedoch versteckte Zwangsbedingungen (engl.: hidden constraints) besitzen,
die ebenfalls eingehalten werden müssen. Erfüllen Anfangswerte sowohl die gegebe-
nen als auch die versteckten Zwangsbedingungen, so werden sie konsistent genannt.

Beispiel 2.3. Gegeben sei ein System

y 0 = f (y, z), (2.5a)


0 = b(y). (2.5b)

Differenziert man die Zwangsbedingung einmal nach der Zeit, dann erhält man die
versteckte Zwangsbedingung

d b(y(t))
0= = by (y)y 0 = by (y)f (y, z). (2.6)
dt
Konsistente Anfangswerte (y0 , z0 ) müssen daher nicht nur die Bedingung b(y0 ) = 0,
sondern auch die Bedingung by (y0 )f (y0 , z0 ) = 0 erfüllen.

2.1.2 Differentiationsindex
Differentiell-algebraischen Gleichungen kann – sofern er existiert – ein so genannter
differentieller Index (engl.: differentiation index), kurz Index, zugeordnet werden.
Dieser hilft DAEs zu klassifizieren, weil er ein Maß für den „Unterschied“ einer
DAE im Vergleich zu einer ODE darstellt. Motiviert wird dies durch die Hoffnung,
die algebraischen Zwangsbedingungen eines gegebenen Systems mittels analytischer
Differentiation so umformen zu können, dass aus dem differentiell-algebraischen
System ein implizites System gewöhnlicher Differentialgleichungen in allen Unbe-
kannten wird. Auf dieses neu gebildete System könnte man dann die bekannten
ODE-Lösungsverfahren [HNW93] anwenden.
Zur Verdeutlichung wird eine semi-explizite DAE der Form (2.3) betrachtet und
die Zwangsbedingung (2.3b) nach t differenziert. Man erhält

η 0 = f (η, ζ), (2.7a)


bζ (η, ζ)ζ 0 = −bη (η, ζ)η 0 . (2.7b)

9
2 Zeitintegration differentiell-algebraischer Gleichungen

Wenn bζ regulär ist, dann ist das System (2.7) eine implizite ODE. In diesem Fall
sagt man, das System (2.3) habe den Index 1. Ist aber bζ singulär, dann kann (2.7)
unter geeigneten Glattheitsvoraussetzungen durch Umformungen und Koordinaten-
transformationen wieder auf die semi-explizite Form (2.3) gebracht werden. Diffe-
renziert man erneut, erhält man bei Regularität von (dem neu geformten) bζ den
Index 2. Ist bζ wiederum singulär, d. h. das „neue“ System ist immer noch keine im-
plizite ODE, so wird dieser Schritt so lange wiederholt, bis bζ regulär ist. Wenn dies
nach endlich vielen Schritten der Fall ist, bezeichnet man die Anzahl der benötigten
Differentiationsschritte als Index.

Definition 2.4. Gegeben sei F (t, y(t), y 0 (t)) = 0, ein differentiell-algebraisches Sys-
tem mit genügend oft differenzierbarer Funktion F. Existiert eine Zahl i ∈ N, die
angibt wie oft ein Teil oder die gesamte DAE nach der Zeit abgeleitet werden muss,
um y 0 (t) als eine stetige Funktion von y und t ausdrücken zu können, so wird die
kleinste solche Zahl differentieller Index genannt.

Aus dieser Definition ergibt sich, dass eine implizite gewöhnliche Differential-
gleichung den Index 0 hat. Des Weiteren kann man eine DAE vom Index 1 aus
numerischer Sicht noch als einigermaßen „gutartig“ ansehen. Im Allgemeinen lässt
sich jedoch sagen: Je höher der Index einer DAE ist, desto größer sind die Probleme
einer numerischen Approximation der Lösung. Die algebraischen Variablen müssen
bei einem Index größer als 1 aus höheren Ableitungen angenähert werden und durch
diese numerische Differentiationen wird u. a. die Ordnung der Approximation her-
abgesetzt.

Beispiel 2.5. Als Beispiel für eine Indexbestimmung wird noch einmal das Pen-
del (2.2) betrachtet. Um den Index zu bestimmen differenziert man die Zwangsbe-
dingung (2.2e) und erhält

0 = ηη 0 + ζζ 0 . (2.8)

Man erkennt, dass λ0 nicht in dieser Gleichung vorkommt, das System ist im-
mer noch eine DAE. Also setzt man für die Ableitungen die Gleichungen (2.2a)
und (2.2b) ein und differenziert anschließend ein zweites Mal

0 = ηu + ζv, (2.9)
2 2
0 = η 0 + ηu0 + ζ 0 + ζv 0 . (2.10)

Einsetzen von (2.2c)-(2.2e) ergibt die Gleichung

0 = −2l2 λ − aζ + u2 + v 2 , (2.11)

10
2.1 DAEs und ihre mathematischen Grundlagen

und erneutes Ableiten führt schließlich zu

0 = −2l2 λ0 − aζ 0 + 2uu0 + 2vv 0 . (2.12)

Man sieht, dass die letzte Gleichung nach λ0 auflösbar ist. Deshalb kann eine ODE
bestehend aus den Gleichungen (2.2a)-(2.2d) zusammen mit (2.12) gebildet werden.
Der Index ergibt sich aus der Anzahl der benötigten Ableitungen, die DAE (2.2)
hat demnach den Index 3.

Beispiel 2.6. Differenziert man (2.6) in Beispiel 2.3 erneut nach der Zeit und ist die
Matrix by (y)fz (y, z) in einer Umgebung der Lösung regulär, dann ist (2.5) ein Index-
2-System. Für konsistente Anfangswerte dieses Systems ist es daher ausreichend, die
beiden Zwangsbedingungen (2.5b) und (2.6) zu erfüllen.

Bemerkung 2.7. Es bleibt anzumerken, dass der Index noch auf andere Weise
definiert werden kann, z. B. als so genannter Störungsindex (engl.: perturbation
index) [HW96, VII.1]. Dieser beruht auf einem Konzept von Hairer, Lubich & Roche
und kann als ein Maß für die Anfälligkeit einer Lösung in Bezug auf Störungen des
gegebenen Problems gesehen werden. Wir wollen hier nicht weiter darauf eingehen
sondern nur anmerken, dass kein allgemeiner Bezug zwischen differentiellen Index
und Störungsindex hergestellt werden kann.

2.1.3 Indexreduktion durch Differentiation


Wie oben erwähnt wurde, bereiten DAEs mit hohem Index numerische Probleme.
Einzig für Index-1- und spezielle Index-2-Systeme existieren effiziente Zeitintegrati-
onsverfahren. Man sollte deshalb versuchen, Systeme mit höherem Index zu redu-
zieren, um diese Verfahren nutzen zu können.
Der intuitive Weg den Index zu reduzieren ist das wiederholte Ableiten der alge-
braischen Zwangsbedingungen – prinzipiell genauso wie bei der Indexbestimmung.
Im Gegensatz dazu muss man aber den letzten Differentiationsschritt nicht durch-
führen, denn in der Regel ist eine Reduktion auf ein Index-1-System ratsam, in
speziellen Fällen genügt auch ein Index-2-System. Zum Beispiel können mechani-
sche Mehrkörpersysteme (2.14) in einer Index-2-Formulierung sehr effizient mit dem
Integrator DASSL [Pet82] integriert werden.

Beispiel 2.8. Im Pendelbeispiel 2.5 hat man nach zweimaligem Ableiten (2.11)
erhalten, und zusammen mit (2.2a)-(2.2d) ergibt sich für das mathematische Pendel

11
2 Zeitintegration differentiell-algebraischer Gleichungen

Fehler in den Zwangsbed.


0.01

abs( η2 + ζ2 − l2 )

0.005

abs( ηη′ + ζζ′ )

0
0 10 20 30 40 50
t [s]

Abbildung 2.1: Drift-Off im Pendelbeispiel: Fehler in den Zwangsbedingungen.

die Index-1-Formulierung wie folgt:

η 0 = u, (2.13a)
ζ 0 = v, (2.13b)
u0 = −2ηλ, (2.13c)
v 0 = −a − 2ζλ, (2.13d)
0 = −2λ η 2 + ζ 2
− aζ + u2 + v 2 .

(2.13e)

2.1.4 Drift-Off-Effekt und Stabilisierung


Die Indexreduktion durch Differentiation hat den erheblichen Nachteil, dass durch
die Differentiationen gewisse Zwangsbedingungen nicht mehr im System enthalten
sind. Im Laufe einer Integration werden diese nicht mehr exakt erfüllt und es kann
passieren, dass die Lösung sich von ihrer ursprünglich vorgegebenen Mannigfaltig-
keit M (2.4) entfernt bzw. „abdriftet“. Aus diesem Grund spricht man von einem
Drift-Off-Effekt.

Beispiel 2.9. In der Index-1-Formulierung (2.13) des Pendelbeispiels kommen die


Forderungen (2.2e) und (2.9) nicht mehr vor, die vorgegebene Pendellänge l wird
nicht mehr explizit eingehalten. Abbildung 2.1 zeigt den quadratisch anwachsen-
den Fehler in der Positionszwangsbedingung (2.2e) (das entspricht der Abweichung
von der Pendellänge) und den linear wachsenden Fehler in der Geschwindigkeits-
zwangsbedingung (2.9). Das Beispiel wurde als Index-1-Formulierung (2.13) mit
dem Matlab-Integrator ode15s bis zum Zeitpunkt tN = 50 und einer Pendellänge
von l = 10 integriert. Die Matlab-Toleranzen atol und rtol wurden auf 10−6
gesetzt.

12
2.1 DAEs und ihre mathematischen Grundlagen

Es hängt von der Problemstellung ab, inwieweit die Effekte des Drifts Schwie-
rigkeiten bereiten oder nicht. Es ist möglich, dass die Integratoren ineffizient, im
schlimmsten Fall sogar instabil werden. Der Drift-Off könnte aber im Grunde vermie-
den werden, denn er ist keine Eigenschaft der ursprünglichen DAE. Man müsste nur
ausdrücklich dafür sorgen, dass die Lösung des reduzierten Systems auf der Mannig-
faltigkeit bleibt. So hat man verschiedene Stabilisierungsstrategien entwickelt, von
denen zwei im Folgenden vorgestellt werden sollen.

Baumgarte-Stabilisierung
Die Idee der Baumgarte-Stabilisierung ist es, eine Linearkombination aus der ur-
sprünglichen Zwangsbedingung und all ihren Ableitungen, die benötigt wurden, um
die DAE auf den gewünschten Index zu reduzieren, als neue Zwangsbedingung zu
verwenden. Dies soll exemplarisch an Hand eines mechanischen Mehrkörpersystems
mit Index 3 dargestellt werden.
Die Bewegungsgleichungen für mechanische Mehrkörpersysteme lassen sich durch
den Euler-Lagrange-Formalismus [HW96, VII.1] aufstellen und haben folgende, all-
gemeine Form

q 0 = v, (2.14a)
M (q)v 0 = ψ(q, v) − GT (q)λ, (2.14b)
0 = γ(q). (2.14c)

Hier bezeichnet q die Lagekoordinaten, v die Geschwindigkeiten und λ die Lagrange-


Multiplikatoren. Die Massenmatrix ist M (q), der Vektor der eingeprägten Kräfte
und Momente sei ψ(q, v) und mit γ(q) = 0 sollen die Zwangsbedingungen bezeichnet
werden. Differenziert man die Zwangsbedingung nach der Zeit,
d γ(q(t)) ∂γ(q(t)) d q(t)
0 = γ0 = = = G(q)v, (2.15)
dt ∂q dt
wobei G(q) = ∂γ/∂q, so erhält man ein Index-2-System. Erneutes Ableiten nach
der Zeit führt auf ein Index-1-System mit folgender Zwangsbedingung:

d2 γ(q(t)) ∂ 2 γ(q(t)) d q(t) ∂γ(q(t)) d2 q(t)


0 = γ 00 = = + = G0 (q)v +G(q)v 0 . (2.16)
d t2 ∂q 2 dt ∂q d t2
Bei der Baumgarte-Stabilisierung wird nun die Zwangsbedingung auf Beschleuni-
gungs-Ebene (2.16) durch eine Linearkombination der Zwangsbedingungen auf Be-
schleunigungs- (2.16), Geschwindigkeits- (2.15) und Positions-Ebene (2.14c) ersetzt.
Die neue Zwangsbedingung lautet demnach

0 = γ 00 + β1 γ 0 + β2 γ. (2.17)

13
2 Zeitintegration differentiell-algebraischer Gleichungen

Die Koeffizienten β1 und β2 müssen so gewählt werden, dass der Fehler – verur-
sacht durch den Drift-Off – möglichst schnell gedämpft wird. Das bedeutet: die
ODE (2.17) soll ein asymptotisch stabiles Verhalten aufweisen. Dies wird erreicht,
wenn alle Eigenwerte einen Realteil kleiner als Null haben. In der Praxis hat sich
gezeigt, dass eine gute Wahl der Koeffizienten jedoch nicht einfach ist: Eine opti-
male Wahl hängt in der Regel von der Schrittweite ab. Auch für nicht-optimale
Koeffizienten bleibt grundsätzlich das Problem, dass eine zu kleine Dämpfung den
Drift-Off-Effekt nicht vermeiden kann, eine zu große Dämpfung das System steif
macht. Daher existiert kein allgemeines Verfahren, angemessene Werte zu einem
gegebenen Problem zu finden. Weiterführende Informationen zur Wahl der Koeffi-
zienten können in [ACR94] nachgelesen werden.
Die Baumgarte-Stabilisierung findet trotz der schwierigen Suche nach geeigneten
Koeffizienten häufig ihre Anwendung: Ein wesentlicher Vorteil ist, dass sie theore-
tisch auf alle reduzierten Systeme angewandt werden kann.

Gear-Gupta-Leimkuhler-Formulierung
Die Gear-Gupta-Leimkuhler-Formulierung (GGL) bietet die Möglichkeit, den Index
einer DAE um eins zu reduzieren und gleichzeitig das System zu stabilisieren, d. h.
den Drift-Off-Effekt zu vermeiden.
Besonders die Bewegungsgleichungen von mechanischen Mehrkörpersystemen las-
sen sich durch diese Methode einfach auf ein stabiles Index-2-System bringen. Aus-
gehend von der Index-2-Formulierung (2.14a)-(2.14b) und (2.15) führt man zur
Stabilisierung zusätzliche Lagrange-Multiplikatoren κ ∈ Rnλ ein und erreicht da-
mit, dass sowohl (2.15) als auch die zu Grunde liegende, ursprüngliche Zwangs-
bedingung (2.14c) erfüllt werden. Die Bewegungsgleichungen lauten damit in der
GGL-Formulierung
q 0 = v + GT (q)κ, (2.18a)
M (q)v 0 = ψ(q, v) − GT (q)λ, (2.18b)
0 = γ(q) (2.18c)
0 = G(q)v. (2.18d)
Lemma 2.10. Sei M (q) positiv definit und G(q) habe vollen Rang. Dann besitzt
das System (2.18) den Index 2. Für jede Lösung (q, v, λ, κ) des Systems (2.18) gilt
κ = 0 und (q, v, λ) ist Lösung des Systems (2.14).
Beweis. Um den Index von System (2.18) zu bestimmen, werden die beiden Zwangs-
bedingungen (2.18c) und (2.18d) einmalig differenziert. Man erhält
G(q)v + G(q)GT (q)κ = 0, (2.19)
G(q)v 0 + G0 (q)v = 0. (2.20)

14
2.2 Numerische Integration der DAEs

Ersetzt man in der letzten Gleichung v 0 durch (2.18b), so folgt

G(q)M −1 (q)GT (q)λ = f (q, v), (2.21)

mit f (q, v) = G(q)M −1 (q)ψ(q, v) + G0 (q)v. Da die beiden Matrizen G(q)GT (q)
und G(q)M −1 (q)GT (q) regulär sind, kann man nach einer weiteren Differentiation
von (2.19) und (2.21) das System nach λ0 und κ0 auflösen. Das System hat demnach
den Index 2.
Die Äquivalenz der beiden Systeme kann gezeigt werden, indem angenommen
wird, dass (q, v, λ, κ) eine Lösung des Systems (2.18) darstellt. Aus den Gleichun-
gen (2.19) und (2.18d) ergibt sich

G(q)GT (q)κ = 0,

woraus κ = 0 folgt. Deshalb erfüllt die Lösung des Systems (2.18) auch die Glei-
chung (2.14a). Entsprechend gilt, dass eine Lösung des Systems (2.14) auch Lösung
des Systems (2.18) mit κ = 0 ist.

2.2 Numerische Integration der DAEs


2.2.1 Implizite Runge-Kutta-Verfahren
Für eine numerische Integration einer DAE stehen viel weniger Verfahren zur Verfü-
gung als zum Lösen einer ODE, da die Nebenbedingung eine besondere Behandlung
erforderlich macht. DAEs weisen Eigenschaften auf, die ähnlich zu sehr steifen ODE-
Systemen sind. In der Klasse der Einschrittverfahren haben sich hauptsächlich die
impliziten Runge-Kutta-Verfahren (IRK) als Integratoren für DAEs hervorgetan.
Die analytische Lösung y(t) des Systems

F (t, y(t), y 0 (t)) = 0, t ∈ [t0 , tN ], (2.22a)


y 0 (t0 ) = y0 , (2.22b)

existiere. Diese Lösung soll auf einem diskreten Gitter mit Zeitpunkten

t0 < t1 < · · · < tN ,

und Schrittweiten
hn := tn − tn−1 , (n = 1, . . . , N ),
mittels eines s-stufigen IRK-Verfahren approximiert werden. Vorausgesetzt, man
hat konsistente Anfangswerte (vgl. Bemerkung 2.2), kann man durch Auflösen des

15
2 Zeitintegration differentiell-algebraischer Gleichungen

Systems
s
!
X
F tn−1 + ci hn , yn−1 + hn aij Yj0 , Yi0 = 0, (i = 1, . . . , s), (2.23a)
j=1
s
X
yn = yn−1 + hn bi Yi0 , (2.23b)
i=1

einen Schritt yn−1 7→ yn berechnen. Der i-te Stufenvektor Yi0 stellt hier eine Appro-
ximation von y 0 (tn−1 + ci hn ) dar.
Um eine vollständige Lösung auf dem diskreten Zeitgitter zu erreichen, müssen
N nichtlineare Gleichungssysteme der Dimension s · ny gelöst werden, üblicherwei-
se mit einem vereinfachten Newton-Verfahren. Deshalb ist bei IRK-Verfahren eine
effiziente Implementierung sehr wichtig, falls sie mit den Mehrschrittverfahren kon-
kurrieren wollen. Der Vorteil der Einschrittverfahren ist dabei, dass sie aufgrund
ihrer Struktur nach Unstetigkeitsstellen mit einer hohen Ordnung fortgesetzt wer-
den können, während Mehrschrittverfahren erst neu gestartet werden müssen – für
gewöhnlich mit niedriger Ordnung [AP98].
Man muss außerdem noch festhalten, dass im Allgemeinen IRK-Verfahren ange-
wandt auf implizite DAEs eine geringere Ordnung haben können als bei DAEs mit
einfacherer (z. B. semi-expliziter) Struktur [BCP96].

Bemerkung 2.11. Das implizite Euler-Verfahren ist ein einstufiges IRK. Das Sys-
tem (2.23a) reduziert sich in diesem Fall auf
 
yn − yn−1
F tn−1 + hn , yn , = 0. (2.24)
hn

2.2.2 NDF-Verfahren
NDF-Verfahren (engl.: numerical differentiation formulae) [SR97] sind eine Erwei-
terung der bekannten BDF-Verfahren (engl.: backward differentiation formulae)
und gehören damit zur Klasse der Mehrschrittverfahren [DB94]. Es folgt ein kur-
zer Überblick über BDF, um anschließend die Unterschiede zu NDF aufzeigen zu
können.

BDF-Verfahren

Die Idee hinter den k-Schritt BDF-Verfahren ist es, die analytische Lösung y(t)
(vgl. (2.22)) durch ein Interpolationspolynom π, welches die numerische Lösung
yn zu den Zeitpunkten tn , tn−1 , . . . , tn−k interpoliert, anzunähern. Für die Ablei-

16
2.2 Numerische Integration der DAEs

tung y 0 (t) gilt dann näherungsweise y 0 (t) ≈ π 0 (t) und man fordert daher
 
d π(y, t; tn , . . . , tn−k )
F tn , yn , = 0.
dt

t=tn
y=yn

Die weiteren Darstellungen der BDF-Verfahren setzen ein äquidistantes Gitter mit
h := tn − tn−1 voraus, um die Notation zu erleichtern.

Definition 2.12. Mit ∇ wird der rückwärtsgenommene Differenzenoperator be-


zeichnet. Er sei wie folgt rekursiv definiert:

∇0 yn = yn ,
∇i yn = ∇i−1 yn − ∇i−1 yn−1 .

Die rückwärtsgenommenen Differenzen haben für hinreichend oft stetig differen-


zierbare Funktionen y zudem die Eigenschaft, Ableitungen zu approximieren, also

∇k y ≈ hk y(t)(k) .

Nun lassen sich die k-Schritt BDF besonders einfach aufschreiben [DB94, Ab-
schnitt 7.3.2]: !
k
1X1 i
F tn , yn , ∇ yn = 0. (2.25)
h i=1 i
Da ein k-Schritt BDF-Verfahren die Ordnung k besitzt, hat diese Notation zudem
den Vorteil, dass man leicht Summanden hinzufügen und damit die Ordnung des
Verfahrens erhöhen kann.
Das nichtlineare System (2.25) wird üblicherweise mit einem Newton-Verfahren
gelöst. Die Iteration startet mit dem Prädiktor
k
X
yn(0) = ∇i yn−1 . (2.26)
i=0

Die Korrektor-Iteration wird abhängig von einer vorgegebenen Toleranz nach end-
lich vielen Schritten abgebrochen. Der führende Term des Abbruchfehlers im Mehr-
schrittverfahren ist dann gegeben durch
1
hk+1 y (k+1) (t), (2.27)
k+1
und dieser Ausdruck kann vorteilhaft durch
1
∇k+1 yn (2.28)
k+1

17
2 Zeitintegration differentiell-algebraischer Gleichungen

approximiert werden [SR97].


Bisher wurde hier ein äquidistantes Gitter vorausgesetzt, BDF-Verfahren kön-
nen jedoch auch mit adaptivem Gitter implementiert werden [DB94]. Die gängigen
Implementierungen arbeiten jedoch aus praktischen Gründen mit quasi-konstanter
Schrittweite, d. h. die Schrittweite wird so lange wie möglich konstant gehalten. Ist
es nötig, bzw. vorteilhaft, zu einem hneu überzugehen, werden z. B. bereits berech-
nete Lösungen interpoliert um die k + 1 Werte an den neuen Stützstellen von π mit
Abstand hneu zu erhalten [SR97].
Zusätzlich zur Schrittweitensteuerung existiert in den Implementierungen meist
auch eine Ordnungssteuerung. Die BDF-Verfahren können jedoch nicht beliebig
hohe Ordnungen annehmen. Für erste und zweite Ordnung erreicht das Verfahren
noch A-Stabilität [HW96]. Für Ordnungen k > 6 ist es jedoch nicht einmal mehr
nullstabil, d. h. Fehler wachsen exponentiell an, das Verfahren ist nicht konvergent
gegen die analytischen Lösung.

Bemerkung 2.13. Das BDF-Verfahren der Ordnung 1 ist das implizite Euler-
Verfahren.

Übergang zu NDF-Verfahren
Um die schlechte Stabilität bei BDF-Verfahren hoher Ordnung zu verbessern, wur-
de eine verwandte Klasse von Verfahren eingeführt, die NDF-Verfahren. Sie gehen
auf Klopfenstein und Reiher zurück, die Ergebnisse dieses Abschnittes wurden je-
doch [SR97] entnommen.
Wenn man den Prädiktor (2.26) im Vergleich zu (2.25) betrachtet, so fällt auf,
dass in der Summe ein zusätzlicher vorangegangener Wert zur Berechnung einge-
setzt wird. Dieser zusätzliche Wert kann eingesetzt werden, um die Stabilität zu
verbessern. Es ergibt sich das NDF-Verfahren
k
!
1X1 i
∇ yn − κωk yn − yn(0) = 0.

F tn , yn , (2.29)
h i=1 i

Hier ist κ ein skalarer Parameter und der Koeffizient ωk ist gegeben durch
k
X 1
ωk = .
j=1
j

Wird κ gleich Null gewählt, reduziert sich das Verfahren zu einem gewöhnlichen
BDF-Verfahren.
Die Wirkung des zusätzlichen Terms wird deutlich, wenn man die Gleichung

yn − yn(0) = ∇k+1 yn

18
2.3 Der Matlab Integrator ode15s

und die Abschätzung des Abbruchfehlers (2.28) eines BDF-Verfahrens betrachtet.


Ist es möglich, (2.22) auf die Form y 0 = fˆ(t, y) einer gewöhnlichen Differentialglei-
chung zu bringen, dass ist die in [SR97] untersuchte Problemklasse, dann kann der
Abbruchfehler der NDF-Verfahren für beliebige Werte κ mit
 
1
κωk + hk+1 y (k+1) (t) (2.30)
k+1

angegeben werden.

Bemerkung 2.14. Dieser Ausdruck ist jedoch für implizite ODEs und DAEs nicht
mehr gültig, da (2.29) nicht invariant gegenüber Multiplikationen von F (t, y, y 0 ) = 0
mit einer regulären Matrix von links ist.

Klopfenstein und Reiher haben für NDF-Verfahren mit k = 3 bis k = 6 Schritten


den Parameter κ jeweils so berechnet, dass der Winkel der A(α)-Stabilität [HW96]
maximiert wird, das Verfahren also stabiler als das entsprechende BDF-Verfahren
ist. Da 2-stufige BDF schon A-stabil sind, wurde mit Erfolg versucht den Abbruch-
fehler zu minimieren ohne die Stabilität zu verletzen. NDF sind ebenso wie BDF
nicht nullstabil für k > 6.

Bemerkung 2.15. Das NDF-Verfahren der Ordnung 1 ist durch die Hinzunah-
me des Prädiktors kein Einschritt-Verfahren mehr. Anstatt des impliziten Euler-
Verfahrens erhält man
 
yn − yn−1
F tn−1 + hn , yn , − κ (yn − 2yn−1 + yn−2 ) = 0.
h

Die Zweischritt-Natur wird jedoch nicht als Nachteil angesehen. Man muss aber
beachten, dass dieses Verfahren nicht geeignet ist, um die Integration zu starten –
für den ersten Schritt ist ein Einschritt-Verfahren nötig.

2.3 Der Matlab Integrator ode15s


In Matlab trägt die Implementierung des NDF-Verfahrens den Namen ode15s.
Das Verfahren wurde entwickelt, um steife ODEs der Form

M (t, y)y 0 = f (t, y) (2.31)

zu integrieren. Es wurde dann erweitert um auch DAEs – in diesem Fall ist M (t, y)
singulär – mit Index 1 lösen zu können.
Ab Version 6.0 von Matlab werden auch zeit- und ortsabhängige Massenmatri-
zen M (t, y) unterstützt [Mat02].

19
2 Zeitintegration differentiell-algebraischer Gleichungen

2.3.1 Aufruf des Integrators in Matlab


Der Integrator ode15s kann sowohl steife gewöhnliche Differentialgleichungen als
auch differentiell-algebraische Index-1-Systeme lösen. Bei der Entwicklung wurde
Wert darauf gelegt, dass der Aufruf in Matlab in beiden Fällen nicht nur gleich,
sondern auch einheitlich mit den anderen zur Verfügung stehenden Integratoren ist.
Daher wird eine Zeitintegration mit

[t, y] = ode15s(odefun, tspan, y0, options)

gestartet. Hier erfolgt durch odefun die Auswertung der rechten Seite eines Sys-
tems (2.31), tspan ist ein Vektor mit Anfangs- und Endzeitpunkt der Integration,
y0 der Vektor der Anfangsbedingungen und options beinhaltet optionale Argu-
mente die mittels der Funktion odeset gesetzt werden.
Soll in Matlab eine DAE gelöst werden, dann muss vor der eigentlichen In-
tegration ein Aufruf von odeset erfolgen und dem Integrator die Existenz einer
(singulären) Massenmatrix M (t, y) mitgeteilt werden. Diese und andere optionale
Argumente werden durch folgenden Funktionsaufruf festgelegt:

options = odeset(’Name1’,Wert1,’Name2’,Wert2,. . . ).

Nachfolgend seien nur die Optionen aufgelistet, die von besonderer Bedeutung für
die Integration von DAEs in ode15s sind:

• Mass: Diese Option muss entweder auf eine konstante Massenmatrix oder eine
Matrixfunktion gesetzt werden.

• MassSingular: Man kann die Option auf ’yes’ setzen oder Matlab ent-
scheiden lassen, ob es sich um eine DAE handelt.

• InitialSlope: Hiermit wird eine konsistente erste Ableitung y00 der Anfangs-
werte gegeben; die Gleichung M (t0 , y0 )y00 = f (t0 , y0 ) muss erfüllt sein.

• BDF: Mit ’on’ werden BDF-Verfahren anstatt NDF-Verfahren zur Integration


verwendet.

• MaxOrder: Beschränkt die maximale Ordnung der NDF- oder BDF-Verfahren


auf den angegebenen Wert (k = 1, . . . , 5).

2.3.2 Erkennen einer DAE


Der Anwender kann mittels der Option MassSingular dem Integrator mitteilen, ob
es sich bei dem zu integrierenden System um eine ODE oder DAE handelt. Die drei
möglichen Werte sind ’yes’, ’no’ oder der Standardwert ’maybe’. Im letzteren

20
2.3 Der Matlab Integrator ode15s

Fall muss der Integrator die Massenmatrix M (t, y) auf Singularität testen. Dazu
wird geprüft, ob das Kriterium
eps*nnz(Mt)*condest(Mt) > 1
erfüllt ist. Hier ist eps die Maschinengenauigkeit, nnz(Mt) die Anzahl der Nicht-
Null-Elemente der Massenmatrix M (t0 , y0 ) und condest(Mt) liefert eine untere
Schranke der Konditionszahl von M (t0 , y0 ). Ist das Kriterium erfüllt, dann ist die
Massenmatrix sehr schlecht konditioniert und wird damit als numerisch singulär
angesehen. Das System (2.31) wird demnach wie eine DAE behandelt. Es ist denk-
bar, dass eine schlecht konditionierte ODE für eine DAE gehalten wird, aber dies
bringt kaum Nachteile mit sich. Zum einen ist die automatische Bestimmung von
Anfangsschrittweiten etwas weniger effektiv. Auch werden bei der eigentlichen Inte-
gration dann Zeilenskalierungen eingesetzt, die ansonsten nicht angewandt würden.
Im Abschnitt 2.3.3 wird erläutert, dass die Integration eventuell nicht mit dem vor-
gegebenem Anfangswert begonnen wird, sondern mit einem Wert der zumindest
in einer kleinen Umgebung des Anfangswertes liegt, so dass auch hier kein großer
Nachteil entsteht.
Hat die Massenmatrix M (t, y) Diagonalgestalt, d. h. die DAE hat eine semi-
explizite Form, kann man die algebraischen Variablen zu einem reduzierten System
zusammenfassen und es muss nur dieses reduzierte System nichtlinearer Gleichun-
gen gelöst werden. Es ist daher von Vorteil, semi-explizite DAEs zu erkennen, zumal
der Test auf eine Diagonalmatrix in Matlab nicht viel kostet. Liegt eine diagonale
Massenmatrix vor, dann entsprechen alle Null-Elemente auf der Hauptdiagonalen
von M (t, y) algebraischen Variablen. Auf das reduzierte System wird zusätzlich
noch die Funktion condest angewandt: Bei Singularität handelt es sich um ein
System mit einem Index größer als 1, das nicht mit ode15s integriert werden kann.

2.3.3 Berechnung konsistenter Anfangswerte


Die Entwickler von ode15s haben Wert darauf gelegt, dass es für den Anwender
keinen Unterschied macht, ob eine ODE oder eine DAE gelöst wird. Der Funkti-
onsaufruf soll in beiden Fällen derselbe sein. Das steht aber im Gegensatz zu der
Tatsache, dass bei DAEs konsistente Anfangswerte für die Existenz einer Lösung nö-
tig sind. Zusätzlich zu einer Wahl von y(t0 ) =: y0 muss ein y 0 (t0 ) =: y00 vorgegeben
werden, so dass die Gleichung M (t0 , y0 )y00 = f (t0 , y0 ) erfüllt wird. Der benötigte
Wert y00 muss daher in einer Initialisierungsphase berechnet werden.
Um konsistente Anfangsbedingungen zu erhalten wird in vielen anderen Imple-
mentierungen ein „kleiner“ Schritt t0 +h0 des impliziten Euler-Verfahrens berechnet.
Die ode15s-Entwickler folgten dieser Strategie aus zwei Gründen nicht: Erstens star-
tet die eigentliche Integration mit dieser Strategie erst ab dem Zeitpunkt t0 + h0 ,
und zweitens hat man bei diesem Schritt noch keinen Fehlerschätzer zur Hand, der
die Iteration beenden könnte.

21
2 Zeitintegration differentiell-algebraischer Gleichungen

Die hier gewählte Strategie zur Anfangswertbestimmung verlangt vom Anwender


einen „geschätzten“ Wert y0 . Um daraus einen berechneten konsistenten Anfangs-
wert ỹ zu erhalten, wird das nichtlineare Gleichungssystem
 
ỹ − y0
M (t0 , ỹ) = f (t0 , ỹ), (2.32)
h0

mit hinreichend kleinem Parameter h0 gelöst. Dies könnte als Schritt t0 − h0 7→ t0


eines impliziten Euler-Verfahrens interpretiert werden. Dieser Schritt ist zulässig,
da keine Funktionsauswertung zu einem Zeitpunkt vor t0 stattfindet. Ist man mit
dem Schätzwert y0 genügend nahe an einem konsistenten Wert, dann ist die Metho-
de (2.32) wohl definiert [SRK99].
Die oben genannte Strategie ist prinzipiell zufriedenstellend, aber es treten bei der
Umsetzung einige Schwierigkeiten auf. Es wurde ein „kleines“ h0 gefordert, dies be-
wirkt aber eine schlechte Kondition der Iterationsmatrix M (t, y)−hωJ (vgl. (2.39)),
die eventuell nicht durch Zeilenskalierungen behoben werden kann.
Aus diesem Grund sollte der erste Schritt nicht „zu klein“ sein. In ode15s wird
deshalb h0 auf den kleineren Wert von 10−4 t0 und der maximal erlaubten Schritt-
weite hmax gesetzt. Im gängigen Fall t0 = 0 wird für h0 der Endzeitpunkt der Inte-
gration tN genommen. Bei einem solchen Vorgehen kann es jedoch leicht passieren,
dass h0 viel zu groß wird. Um mit dieser Situation umzugehen, wird h0 solange re-
duziert, bis mit der Approximation der Jakobimatrix J in der Fröbenius-Norm gilt:
kM k = hkJk. Damit wird erreicht, dass M und J in etwa gleicher Größenordnung
zur Iterationsmatrix beisteuern.
Zur Lösung des nichtlinearen Gleichungssystems (2.32) wird ein vereinfachtes
Newton-Verfahren eingesetzt. Es wird angenommen, dass der geschätzte Anfangs-
wert y0 zumindest so gut ist, dass jeder Iterationsschritt die Genauigkeit verbessert.
Falls dies nicht der Fall ist, wird eine neue Jakobimatrix gebildet. Um diese Konver-
genz zu testen wurden zwei Tests implementiert. Die Iteration wird abgebrochen,
wenn das Residuum-Kriterium

kM (t0 , ỹ)ỹ 0 − f (t0 , ỹ)k 6 10−3 rtol max(kM (t0 , ỹ)ỹ 0 k, kf (t0 , ỹ)k) (2.33)

erfüllt ist. Für den anderen Test muss die Lösung ∆ der Gleichung
∂F
∆ = −Qskal F,
∂ ỹ

mit F := M (t0 , ỹ)ỹ 0 −f (t0 , ỹ) und der Skalierungsmatrix Qskal , folgender Bedingung
genügen:
∆ 6 10−3 rtol max(kỹk, ky0 k). (2.34)
Eine erfolgreiche Initialisierung erzeugt einen konsistenten Anfangswert ỹ mit
der Ableitung ỹ 0 = (ỹ − y0 )/h0 , die zwar konsistent ist, aber dazu neigt groß zu

22
2.3 Der Matlab Integrator ode15s

sein. Die Ursache hierfür ist, dass y0 inkonsistent ist und wenn h → 0 geht, dann
folgt daraus ỹ → y(t0 ) 6= y0 . Für eine effiziente Integration wünscht man sich jedoch
eine gemäßigte Steigung ỹ 0 , deshalb wird die Initialisierung (2.32) ein zweites Mal
gestartet und y0 durch ỹ ersetzt:
 
ŷ − ỹ
M (t0 , ŷ) = f (t0 , ŷ). (2.35)
h0
Mit einem konsistenten Schätzwert ỹ konvergiert die Prozedur schnell gegen den
nahen konsistenten Anfangswert ŷ mit der dazugehörenden Steigung (ŷ − ỹ)/h0 .
Diese Steigung ist nur mäßig steil, denn sie wird aus den beiden konsistenten An-
fangswerten ŷ und ỹ approximiert.

2.3.4 Integrationsroutine
Klopfenstein und Reiher sind bei höheren Ordnungen mit ihren NDF-Verfahren
(siehe Abschnitt 2.2.2) im Vergleich zu BDF-Verfahren nach Ansicht der Autoren
von [SR97] wenig erfolgreich gewesen. Die verbesserte Stabilität werde auf Kosten
der Effizienz erkauft und der Mehraufwand sei nicht gerechtfertigt. Wenn das NDF-
Verfahren der Ordnung 6 jedoch genügend stabil geworden wäre, dann hätte man die
zusätzlichen Kosten in Kauf genommen. Der Winkel dieses A(α)-Stabilitätsgebietes
konnte jedoch von den ursprünglichen 18◦ auf lediglich 29◦ erhöht werden, das
Verfahren ist also noch immer nicht stabil genug um einen praktischen Nutzen zu
haben.
Man ging bei der Implementierung von ode15s daher einen anderen Weg: Der
Wert von κ wurde so bestimmt, dass die Integration genauer und damit effizienter
wird.

Wahl der Koeffizienten κ


Wird eine Schrittweite vom Integrator bestimmt, dann wird h so gewählt, dass
der führende Term des Abbruchfehlers kleiner oder gleich der vorgegebenen Tole-
ranz ist. Dieser Term kann bei BDF-Verfahren mit (2.27) und bei NDF-Verfahren
mit (2.30) abgeschätzt werden. Beide haben die Form Chk+1 y (k+1) (t). Ein kleinerer
Koeffizient C erlaubt es, eine gegebene Genauigkeit mit größerem h zu erreichen. Da
aber ein BDF-Schritt genauso viel kostet wie ein NDF-Schritt, ist eine Integration
mit kleinem C effizienter. Im Detail bedeutet dies, dass bei gegebener Toleranz ein
BDF-Verfahren die Schrittweite h, das NDF-Verfahren hingegen die Schrittweite rh
hat, wobei
1
! k+1
1
k+1
r := 1 . (2.36)
κωk + k+1
Diese Betrachtung gilt jedoch nur für Systeme gewöhnlicher Differentialgleichungen
mit M (t, y) ≡ I (vgl. Bemerkung 2.14).

23
2 Zeitintegration differentiell-algebraischer Gleichungen

Tabelle 2.1: Übersicht über Klopfenstein-Shampine NDFs und ihre


Abweichungen in Effizienz und Stabilität gegenüber BDF-Verfahren [SR97].

Ordnung NDF Koeffizient Schrittweiten Stabilitätswinkel Winkel


k κ Abweichung BDF NDF Abweichung
1 -0.1850 26% 90◦ 90◦ 0%
2 -1/9 26% 90◦ 90◦ 0%
3 -0.0823 26% 86◦ 80◦ -7%
4 -0.0415 12% 73◦ 66◦ -10%
5 0 0% 51◦ 51◦ 0%

Beispiel 2.16. Für 2-stufige NDF-Verfahren mit κ = − 91 , ergibt sich aus For-
mel (2.36) der Wert r = 1.26. Daraus liest man ab, dass das Verfahren um 26%
effizienter als das entsprechende BDF-Verfahren ist. Trotzdem ist aber A-Stabilität
weiterhin gewährleistet.
Shampine und Reichelt haben die Werte für κ so optimiert, dass das NDF-
Verfahren möglichst effizient ist, das Stabilitätsgebiet jedoch nicht mehr als 10%
vom entsprechenden Gebiet eines BDF-Verfahrens abweicht. Bei der höchsten in
Matlab eingesetzten Ordnung k = 5, ist die Stabilität erheblich geringer als in
den niedrigeren Ordnungen. Hier konnte keine Verbesserung mit einer vertretbaren
Reduzierung der Stabilität gefunden werden, deshalb wurde κ auf Null gesetzt. Ei-
ne Übersicht über die in ode15s implementierten Werte κ sowie den Gewinn an
Effizienz und der Verlust an Stabilität kann man in Tabelle 2.1 ersehen, die [SR97]
entnommen wurde.

Implementierung einer Prädiktor-Korrektor-Iteration


Der Integrator ode15s wurde ausgelegt um Systeme der Form M (t, y)y 0 = f (t, y)
zu lösen. Die Formel für NDF-Verfahren (2.29) angewandt auf diese Form lässt sich
dann wie folgt schreiben:
k
X 1
∇i yn − hf (tn , yn ) − κωk M (tn , yn ) yn − yn(0) = 0.

M (tn , yn ) (2.37)
i=1
i

Um die Berechnung effizient zu gestalten, kann diese Formulierung umgeschrieben


werden. Man beachte dazu, dass aus der Gleichheit
k k
X 1 i
X
yn(0) ωi ∇i yn−1

∇ yn = ωk yn − +
i=1
i i=1

24
2.3 Der Matlab Integrator ode15s

die Äquivalenz von (2.37) zu


k
X
yn(0) ωi ∇i yn−1 − hf (tn , yn ) = 0 (2.38)

M (tn , yn )(1 − κ)ωk yn − + M (tn , yn )
i=1

folgt. Diese implizite Formel löst man dann mit Hilfe eines vereinfachten Newton-
Verfahrens. Die Korrektur der aktuellen Iterierten
yn(i+1) = yn(i) + ∆(i)
wird mit
1
ω :=
(1 − κ)ωk
durch Lösen des Systems
M (tn , yn(0) ) − hωJ ∆(i) = hωf (tn , yn(i) ) − M (tn , yn(i) ) Θ + yn(i) − yn(0)
 
(2.39)
erreicht. DiePApproximation der Jakobimatrix ∂f /∂y wurde hier mit J bezeichnet
und Θ := ω ki=1 ωi ∇i yn−1 stellt eine Größe dar, die während der Berechnung von
yn aufgestellt wird. Man definiert
d(i) = yn(i) − yn(0)

und berechnet dann in jedem Schritt

d(i+1) = d(i) + ∆(i) ,


yn(i+1) = yn(0) + d(i+1) .
Die Abbruchbedingung der Korrektoriteration basiert auf dem Iterationsfehler,
der durch
%
kyn? − yn(i+1) k 6 kyn(i+1) − yn(i) k (2.40)
1−%
nach oben abgeschätzt werden kann. Dabei bezeichnet yn? die Lösung der Korrektor-
gleichung (2.38) und % eine Schätzung der Konvergenzrate der Iteration. Eine der
implementierten Strategien zur effizienten Korrektoriteration geht nun davon aus,
dass die Konvergenzrate durch
!1/i
(i+1) (i)
kyn − yn k
%= (1) (0)
(2.41)
kyn − yn k
abgeschätzt werden kann, sobald mindestens zwei Korrektoriterationen stattgefun-
den haben. Die Korrektoriteration wird dann solange fortgesetzt, bis das Abbruch-
kriterium
%
ky (i+1) − yn(i) k < 0.33 (2.42)
1−% n

25
2 Zeitintegration differentiell-algebraischer Gleichungen

erfüllt ist. Für eine schnelle Konvergenz der Korrektoriteration sollten zusätzlich
noch andere Kriterien getestet werden. Das jedoch gestaltet eine effiziente Imple-
mentierung komplizierter [Sha80].
Der oben dargestellte Ablauf ist in Algorithmus 2.1 zusammengefasst. Um den
Algorithmus übersichtlich zu halten, wurde die Prädiktor-Korrektor-Iteration ver-
einfacht dargstellt.

{Prädiktor}
(0)
yn = ki=0 ∇yn−1
P

{Korrektor}
for i = P 1 to k do
ωi = ij=1 1/j
end for
ω = 1/P ((1 − κ)ωk )
Θ = ω ki=1 ωi ∇i yn−1
d(0) = 0
{Hauptschleife}
i=0
(0)
Miter = M (tn , yn ) − hωJ (0)
while i < imax do
(i) (i) 
Löse Miter ∆(i) = hωf (tn , yn ) − M (tn , yn ) Θ − d(i)
d(i+1) = d(i) + ∆(i)
(i+1) (0)
yn = yn + d(i+1)
if Kriterium (2.42) erfüllt then
(i+1)
yn = yn
Abbruch Hauptschleife.
end if
{Langsame Konvergenz oder Divergenz}
(i+1) (i) (i) (i−1)
if kyn − yn k > 0.9kyn − yn k & i > 0 then
Berechne die Iterationsmatrix neu.
(i)
Miter = M (tn , yn ) − hωJ (i)
end if
i=i+1
end while
Reduziere Schrittweite h und starte erneut die Prädiktor-Korrektor-Iteration.

Algorithmus 2.1: Prädiktor-Korrektor-Iteration in ode15s,


Darstellung vereinfacht.

26
3 Multirate- und
Multimethod-Verfahren
Im Hinblick auf die Zeitintegration im Rahmen der Co-Simulation werden im Fol-
genden Multirate-Verfahren (MRV) und Multimethod-Verfahren (MMV) vorgestellt.
MRV wurden zwar historisch für die Zeitintegration von Systemen mit verschiede-
nen Zeitskalen entwickelt, jedoch eignen sich die meisten dieser Verfahren auch um
verteilte Systeme zu lösen. Eine weitere Möglichkeit der verteilten Zeitintegration
ist das sogenannte Waveform-Relaxations-Verfahren [MN87, LRSV82], auf das hier
aber nicht näher eingegangen werden soll.

3.1 Multirate-Verfahren
Es kommt gerade bei modularer Modellierung häufig vor, dass man Multirate-
Systeme numerisch zu lösen hat. Dies sind Systeme mit unterschiedlichen Zeitskalen
innerhalb des Gesamtsystems, d. h. der Lösungsvektor besitzt sowohl Komponenten,
die sich langsam ändern, als auch Komponenten, die sich (um mehrere Größenord-
nungen) schneller ändern. Bei einer numerischen Integration können die „langsamen
Komponenten“ theoretisch bei vorgegebener Genauigkeitsforderung mit einer größe-
ren Schrittweite als die „schnellen Komponenten“ berechnet werden. Dieser Effekt
wird von Multirate-Verfahren [GW84] genutzt, um eine effiziente Integration zu
erreichen.

3.1.1 Problemstellung
Wir betrachten ein Multirate-System auf dem Intervall [T0 , TN ] und partitionieren
das Anfangswertproblem

y 0 = f (t, y), y(T0 ) = y0 , (3.1)

mit f ∈ R × Rny → Rny , in m gekoppelte Systeme

yi0 = fi (t, y), yi (T0 ) = y0,i , (i = 1, . . . , m), (3.2)

mit fi ∈ R × Rny → Rni und


P
ni = ny . Sämtliche Komponenten eines einzelnen
Vektors yi sollen dieselbe Zeitskala haben. Das bedeutet, dass die Änderungsraten

27
3 Multirate- und Multimethod-Verfahren

aller Komponenten von yi die gleiche Größenordnung haben. Diese Komponenten


von yi werden demnach bei einer numerischen Integration mit gleicher Schrittwei-
te τi berechnet. Im Teilsystem r werden die Variablen yr lokal genannt, alle yi mit
i 6= r heißen extern.

Definition 3.1. Die Unterteilung T0 < T1 < · · · < TN des Intervalls [T0 , TN ] mit
äquidistanter Makroschrittweite

H := Tn − Tn−1 , (n = 1, . . . , N ),

wird diskretes Makro-Zeitgitter genannt.

Bemerkung 3.2. Um zu erdeutlichen, dass es sich um MRV und MMV handelt,


wird in diesem und den folgenden Kapiteln ein (Mikro-)Integrationsschritt mit τ
und nicht wie in Abschnitt 2.2 mit h bezeichnet.

Im Kontext der MRV erfolgt ein Datenaustausch zwischen den Teilsystemen spä-
testens nach jedem Makroschritt. Die Makroschrittweite H muss ein Vielfaches des
kleinsten gemeinsamen Vielfachen (kgV) der unterschiedlichen Schrittweiten τi sein.
Jede Variable muss somit eine bestimmte Anzahl an Mikroschritten fortschreiten,
um das Ende eines Makroschrittes zu erreichen.
Beispielhaft für ein Multirate-System wird das autonome Anfangswertproblem
y 0 = f (y) auf dem Intervall [T0 , TN ] mit den Fällen m = 2 bzw. m = 3 (vgl. (3.2))
betrachtet. Man erhält die zwei Teilsysteme

y10 = f1 (y1 , y2 ),
(3.3)
y20 = f2 (y1 , y2 ),

beziehungsweise die drei Teilsysteme

y10 = f1 (y1 , y2 , y3 ),
y20 = f2 (y1 , y2 , y3 ), (3.4)
y30 = f3 (y1 , y2 , y3 ).

Je kleiner der Index einer Variable, desto kleiner sei die Zeitskala dieser Variable,
d. h. y1 ändert sich am schnellsten, y3 am langsamsten.
Die Partitionierung des Gesamtsystems in Teilsysteme stellt in praktischen An-
wendungen ein nichttriviales Problem dar. Entweder man verlangt vom Anwender
detaillierte Kenntnisse über die physikalischen Eigenschaften des Systems und über-
lässt diesem die Aufteilung, oder man versucht, eine automatische Partitionierung
zu implementieren. Diese wäre weitaus benutzerfreundlicher und deshalb im Sinne
eines modernen adaptiven Zeitintegrationsverfahrens erwünscht, jedoch nicht ein-
fach umzusetzen. Eine statische Einteilung vor Beginn der Integration könnte nur

28
3.1 Multirate-Verfahren

aufgrund der Anfangswerte erfolgen und daher ein falsches Bild der Variablen im
gesamten Zeitintervall wiedergeben. Eine dynamische Partitionierung und Neuein-
teilung während der Integration hingegen würde den Overhead erheblich vergrößern
und somit das Verfahren ineffizient machen. Eine gelungene Idee für eine billige
dynamische Partitionierung findet sich jedoch bei den Multirate-Extrapolations-
Verfahren in Abschnitt 3.1.3.
Es existiert eine Vielzahl von Multirate-Verfahren, die alle auf einer gemeinsa-
men Grundstrategie beruhen: Die Integrationszeit soll reduziert werden, indem
für Variablen mit einem langsamen Systemverhalten eine größere Schrittweite als
für schnelle Variablen verwendet wird. Da diese Strategie prinzipiell in den meis-
ten Zeitintegrationsverfahren implementiert werden kann, gibt es viele Möglichkei-
ten für Multirate-Verfahren. Unter anderem sind Multirate-Varianten von linearen
Mehrschritt-Verfahren [GW84, Ske92], Runge-Kutta-Verfahren [GKR01, Kvæ00]
und Rosenbrock-Wanner-Verfahren [GR93] untersucht worden. Im weiteren Verlauf
soll versucht werden, möglichst allgemeine Eigenschaften der MRV darzustellen.
Beispiel 3.3. Um einen ersten Eindruck von MRV zu vermitteln, soll hier ein ex-
plizites Multirate-Euler-Verfahren zur Lösung des Systems (3.3) vorgestellt werden.
Wie oben erwähnt, ist y1 die Variable mit der schnelleren Zeitskala. Folglich werden
für den Makro-Integrationsschritt Tn 7→ Tn+1 im ersten Teilsystem d Mikroschritte
mit Schrittweite τ1 = H/d benötigt. In Teilsystem 2 soll nur ein einziger Schritt mit
Makroschrittweite H notwendig sein. Beide Teilsysteme werden mit einem explizi-
ten Euler-Verfahren integriert. In Teilsystem 1 muss dafür der Wert von y2 an den
Mikrostützstellen durch eine Extrapolation oder Interpolation approximiert werden,
da die Teilsysteme entkoppelt sind. In diesem Beispielalgorithmus wird dazu eine
lineare Extrapolation mit Stützstellen zu den Zeitpunkten Tn−1 und Tn verwendet.
Algorithmus 3.1 fasst die Integration eines Makroschrittes zusammen.

{Integration von Teilsystem 1}


χ0,1 = yn,1
for j = 0 to d − 1 do 
ej,2 = 1/H (jτ1 + H)yn,2 − jτ1 yn−1,2
χ
χj+1,1 = χj,1 + τ1 f1 (χj,1 , χ
ej,2 )
end for
yn+1,1 = χd,1

{Integration von Teilsystem 2}


yn+1,2 = yn,2 + Hf2 (yn,1 , yn,2 )

Algorithmus 3.1: Integrationsschritt Tn 7→ Tn+1 des expliziten


Multirate-Euler-Verfahrens für (3.3).

29
3 Multirate- und Multimethod-Verfahren

3.1.2 Effizienzbetrachtungen
Die Stärke der Kopplung zwischen den Teilsystemen beeinflusst nicht nur den Fehler
und die Stabilität, sondern auch die Effizienz der Verfahren. Schon in Beispiel 3.3
wurde deutlich, dass die Integration von y1 mit kleinen Schrittweiten τ1 die Aus-
wertung von f1 (y1 , y2 ) zu einem Zeitpunkt erfordert, der nicht auf dem diskreten
Zeitgitter {T0 , T0 + H, . . . , T0 + N H} von y2 liegt, wie z. B. der Zeitpunkt T0 + τ1 .
Der Wert der externen Variable y2 muss daher im ersten Teilsystem mittels Extra-
oder Interpolation approximiert werden und dies bedeutet zusätzlichen Aufwand
im Algorithmus. Im Allgemeinen müssen in jedem Teilsytem die externen Variablen
angenähert werden. Durch geschickte Wahl der Zeitgitter und der Integrationsrei-
henfolge kann aber der Aufwand klein gehalten werden.
Wenn ein diskretes Zeitgitter eines Teilsystems eine Untermenge der Zeitgitter
aller Teilsysteme mit schnelleren Zeitskalen ist, dann werden unnötige Interpola-
tionen vermieden. Man spricht davon, dass die Gitter synchronisiert sind [GW84].
Vernachlässigt man für den Moment eine automatische Schrittweitensteuerung und
geht von gegebenen äquidistanten Schrittweiten τi := ki τ der Teilsysteme yi in (3.2)
aus, dann ist es aus Gründen der Effizienz ratsam, dass die Koeffizienten ki−1 Teiler
von ki sind. Damit ist gewährleistet, dass jedes Gitter der langsamen Variablen eine
Untermenge der Gitter der schnelleren Variablen ist. Man setzt k1 = 1 und erhält
für alle m Schrittweiten

τ = k1 τ 6 k2 τ 6 · · · 6 km τ =: H,

vgl. dazu Abbildung 3.1.

Fastest-First-Strategie
Wir wollen uns nun mit der Reihenfolge, wann auf welchem Gitter der nächste
Schritt berechnet wird, auseinandersetzen. Am naheliegendsten ist es – wie in der


y3
y4τ,3

y2
y2τ,2 y4τ,2
τ
y1
yτ,1 y2τ,1 y3τ,1 y4τ,1

Abbildung 3.1: Synchronisierte Schrittweitenwahl


für die Multirate-Integration von (3.4)
mit k1 = 1, k2 = 2, k3 = 4.

30
3.1 Multirate-Verfahren

klassischen Zeitintegration – auf einem globalen Zeitgitter schrittweise voranzu-


schreiten. Das würde bedeuten, dass die schnellste Variable bis zu dem Gitterpunkt,
den sie mit der nächst langsameren Variable gemeinsam hat, berechnet wird. Für
das System (3.4) mit Schrittweiten τ , 2τ bzw. 4τ für y1 , y2 bzw. y3 (vgl. Abbil-
dung 3.1) ergibt sich somit Algorithmus 3.2. Man erhält damit folgende Reihenfolge
der Berechnungen:

yτ,1 → y2τ,1 → y2τ,2 → y3τ,1 → y4τ,1 → y4τ,2 → y4τ,3 .

Die obige Strategie trägt den Namen Fastest-First-Strategie [GW84], da immer


die schnellsten Variablen zuerst integriert werden. Wären alle Schrittweiten immer
im voraus bekannt, wäre diese Strategie sehr geeignet, jedoch treten bei automati-
scher Schrittweitensteuerung große Probleme auf. Ein einfaches Beispiel kann dies
leicht verdeutlichen: Für System (3.3) hat eine Schrittweitensteuerung die Schritt-
weiten H für y2 und τ1 < H für y1 am Zeitpunkt t = Tn ermittelt. Ein Verfahren
basierend auf der Fastest-First-Strategie integriert nun y1 bis zum Zeitpunkt Tn +H,
danach wird y2 integriert. Wenn der Fehler y2 eine gewisse Fehlertoleranz überschrei-
tet, wird dieser Wert verworfen, die Schrittweite H reduziert und erneut integriert.
Dazu werden aber Werte von y1 benötigt, die auf Integrationen mit extrapolierten
Werten von y2 basieren, die nicht den Toleranzanforderungen genügt haben. Man
müsste diese Schritte erneut berechnen, weshalb ein nicht akzeptierter Schritt bei
dieser Strategie hohe zusätzliche Kosten verursacht.

{Stufe 0}
Stelle die benötigten externen Variablen durch Extrapolation zur Verfügung:
Approximiere y2 für t = Tn + τ
Approximiere y3 für t = Tn + τ, t = Tn + 2τ und t = Tn + 3τ
{Stufe 1}
Integriere y10 = f1 (y) von t = Tn nach t = Tn + 2τ mit 2 Schritten der Länge τ
{Stufe 2}
Integriere y20 = f2 (y) von t = Tn nach t = Tn + 2τ mit 1 Schritt der Länge 2τ
{Stufe 3}
Approximiere y2 für t = Tn + 3τ
Integriere y10 = f1 (y) von t = Tn + 2τ nach t = Tn + 4τ mit 2 Schritten der
Länge τ
{Stufe 4}
Integriere y20 = f2 (y) von t = Tn + 2τ nach t = Tn + 4τ mit 1 Schritt der Länge 2τ
{Stufe 5}
Integriere y30 = f3 (y) von t = Tn nach t = Tn + 4τ mit 1 Schritt der Länge 4τ

Algorithmus 3.2: Fastest-First-Strategie eines Makroschrittes Tn 7→ Tn+1


von (3.4) mit k1 = 1, k2 = 2, k3 = 4.

31
3 Multirate- und Multimethod-Verfahren

Slowest-First-Strategie
Diese Nachteile in Folge der automatischen Schrittweitensteuerung werden vermie-
den, indem man die Slowest-First-Strategie wählt [GW84]. Wie der Name schon
sagt, werden langsame Variablen zuerst berechnet. Die Strategie zur Bestimmung
der Integrationsreihenfolge sieht nun vor, alle Teilsysteme zu finden, in der die
Zeit am wenigsten vorangeschritten ist. Von all diesen Teilsystemen wird dasjeni-
ge gewählt, das die größte Schrittweite hat. Wird dieser Integrationsschritt nicht
akzeptiert, dann wird die Schrittweite reduziert und die Auswahlkriterien erneut
angewandt.
Bezeichnet man in jedem der m Teilsysteme die Schrittweite mit τi und die Zeit
bis zu der bereits integriert wurde mit θi , dann bestimmt Algorithmus 3.3 das
nächste zu behandelnde Teilsystem in der Slowest-First-Strategie.

τmax = 0
θmin = min{θi | i = 1, . . . , m}

{Bestimme das Teilsystem mit minimaler Zeit und maximaler Schrittweite}


for i = 1 to m do
if θi = θmin then
if τi > τmax then
τmax = τi
k=i
end if
end if
end for

Integriere Teilsystem yk von θk nach θk + τk .


if kyk − yk (t)k > TOL then
τk = 0.5τk
Verwerfe Ergebnis und springe zum Anfang des Algorithmus.
end if
θ k = θ k + τk

Algorithmus 3.3: Slowest-First-Strategie zur Bestimmung desjenigen


Teilsystems, das als nächstes integriert werden soll.

Beispiel 3.4. Die Reihenfolge der Berechnungen von System (3.4) mit Schrittwei-
ten τ , 2τ bzw. 4τ lautet

y4τ,3 → y2τ,2 → yτ,1 → y2τ,1 → y4τ,2 → y3τ,1 → y4τ,1 ,

wenn die Slowest-First-Strategie eingesetzt wird.

32
3.1 Multirate-Verfahren

3.1.3 Beispiel: Eingebettete


Multirate-Runge-Kutta-Verfahren
In diesem Abschnitt soll auf ein MRV eingegangen werden, das etwas von den
oben beschriebenen Techniken abweicht: ein eingebettetes Multirate-Runge-Kutta-
Verfahren. Es entstand im Rahmen der Arbeiten an Multirate-Extrapolations-Ver-
fahren (MREV).

Multirate-Extrapolations-Verfahren
MREV gehen einen anderen Weg, um ein System verschiedener Zeitskalen zu in-
tegrieren. Basierend auf der Richardson-Extrapolation [DB94, Abschnitt 4.3], be-
ruhen sie auf der Idee, das Extrapolations-Tableau (Abbildung 3.2) nicht weiter
aufzustellen, sobald eine Komponente als genau genug erkannt wird. Für eine mo-
noton fallende Folge von Schrittweiten {H/k1 , H/k2 , · · · }, mit kj < kj+1 , soll für
jede Komponente yi gelten:

yn+1,i = yn,i + Φ(fi , y, H/kj ).

Die Verfahrensfunktion Φ integriere den Schritt yn 7→ yn+1 mit Tn+1 = Tn + H


mittels eines Einschrittverfahrens der Ordnung p. Dazu werden kj Mikroschritte
der Schrittweite H/kj benötigt. Je früher das Extrapolations-Tableau abgebrochen
wird, desto größer ist die Schrittweite mit der integriert wird. In jedem Makro-
schritt wird für jede Komponente des Lösungsvektors das Extrapolationstableau
unterschiedlich weit aufgestellt, somit findet zur Laufzeit der Integration eine dy-
namische Partitionierung des Systems statt. Diese kann billig realisiert werden, da
in allen Stufen der Extrapolation ein lokaler Fehlerschätzer vorhanden ist. Im Ge-
gensatz zu anderen MRV werden langsame und schnelle Variablen gleichzeitig in-
tegriert, bis die langsamen Variablen eine gewünschte Genauigkeit erreicht haben.
Dann werden sie nicht weiter berücksichtigt und nur die schnellen Variablen durch
Richardson-Extrapolation hoher Ordnung verbessert [EL97a].

(i)
yn,i + Φ(fi , y, H) =: K1,1
(i) (i)
yn,i + Φ(fi , y, H/2) =: K2,1 K2,2
(i) (i) (i)
yn,i + Φ(fi , y, H/3) =: K3,1 K3,2 K3,3
.. .. .. .. ..
. . . . .

Abbildung 3.2: Extrapolationstableau der


i-ten Komponente mit kj = j.

33
3 Multirate- und Multimethod-Verfahren

Eingebettete Multirate-Runge-Kutta-Verfahren
In einem Beispiel aus der Astrophysik [EL97a] hat sich gezeigt, dass MREV zwar
entschieden effizienter als andere Euler-Extrapolations-Verfahren sind, jedoch kaum
schneller als sehr effiziente Standard-Runge-Kutta-Verfahren, wie z. B. der Integra-
tor DOP853 [HNW93]. Engstler und Lubich haben deshalb den Ansatz eines MREV
im Kontext eines Runge-Kutta-Verfahrens verwirklicht, indem sie ein eingebettetes
RK-Verfahren niedriger Ordnung verwenden, um abschätzen zu können, ob für ei-
ne Komponente des Lösungsvektors weitere Funktionsauswertungen nötig sind oder
nicht. Das Ergebnis ihrer Arbeit [EL97b] ist der Integrator MUR8, der zur Lösung
von Multirate-Systemen geeignet ist.
Wir wollen den Grundalgorithmus kurz vorstellen. Man geht von einem System
gewöhnlicher Differentialgleichungen (3.1) aus. In einem s-stufigen expliziten Runge-
Kutta-Verfahren berechnet man für einen Schritt yn 7→ yn+1 zuerst die internen
Stufenvektoren Yi0
i−1
X
Yi0 = f (Tn + ci H, Yi ), Yi = yn + H aij Yj0 , (i = 1, . . . , s). (3.5a)
j=1

Eine Approximation der Lösung zum Zeitpunkt Tn+1 = Tn + H ergibt sich dann
durch Linearkombination der Stufenvektoren:
X s
yn+1 = yn + H bj Yj0 . (3.5b)
j=1

Man erhält außerdem durch ein eingebettetes Verfahren niedrigerer Ordnung ei-
ne zweite Approximation, die in einem Fehlerschätzer zur Schrittweitensteuerung
verwendet wird, also
Xs
ηn+1 = yn + H b∗j Yj0 . (3.5c)
j=1

Bei einem Multirate-System wird erwartet, dass für die langsamen Variablen
schon nach r  s Stufen genügend genaue Approximationen zur Verfügung stehen:
r
X
ybn+1 = yn + H bbj Y 0 , (3.6a)
j
j=1
r
X
ηbn+1 = yn + H bb∗ Y 0 . (3.6b)
j j
j=1
0
Bevor nun die restlichen Stufen Yr+1 , . . . , Ys0 berechnet werden, wird folgende Strate-
gie angewandt: Wird die k-te Komponente des Lösungsvektors yn+1 als hinreichend
genau befunden, weil die Fehlerschätzung eine gegebene Toleranz unterschreitet,
kb
yn+1,k − ηbn+1,k k < c · tol, (3.7)

34
3.1 Multirate-Verfahren

mit Sicherheitsfaktor c < 1, dann wird ybn+1,k als Approximation der Lösung ak-
zeptiert. Wir setzen diese Komponente für die weiteren Auswertungen im Intervall
[Tn , Tn+1 ] inaktiv. Das bedeutet, dass keine weiteren Auswertungen der rechten Seite
fk (t, y) dieser Komponente stattfinden sollen.
Bemerkung 3.5. Der Sicherheitsfaktor c < 1 in (3.7) kann mehr oder weniger
willkürlich gewählt werden. Durch Auslöschung könnte kb yn+1,k − ηbn+1,k k im ungüns-
tigsten Fall den Fehler deutlich unterschätzen, deshalb ist es ratsam, kleine Gruppen
von Komponenten anstatt einzelner Komponenten zu testen.
0
Nun bleiben noch die fehlenden Stufen Yr+1 , . . . , Ys0 der aktiven Komponenten zu
berechnen. Aus Gründen der Notation teilen wir den Lösungsvektor und die rechte
Seite in aktive und inaktive Variablen ein,
   
yA fA
y =  , f =  . (3.8)
yI fI

Damit müssen nur noch die Stufenvektoren


0
Yi,A = fA (Tn + ci H, Yi,A , Yi,I ), (i = r + 1, . . . , s) (3.9)

berechnet werden. Für diese Berechnungen benötigt man jedoch die Stufen Yi,I der
inaktiven Komponenten, die ohne Auswertung von fI nicht zur Verfügung stehen –
gerade diese Funktionsaufrufe sollen aber vermieden werden. Deshalb nimmt man
stattdessen die Approximationen
r
X
0
Ybi,I = yn,I + H aij Yj,I
b , (i = r + 1, . . . , s). (3.10)
j=1

Man beachte, dass hier nicht weiter als bis r summiert wird. Mit diesen Näherungen
0
anstelle von Yi,I werden dann die restlichen aktiven Stufen Yi,A berechnet, wobei
nur die aktive rechte Seite fA aufgerufen wird. Letztlich gelangt man so zu Approxi-
mationen ybn+1,A und ηbn+1,A der Lösung yn+1,A . Die Schrittweitensteuerung für den
nächsten Integrationsschritt funktioniert standardmäßig wie in eingebetteten expli-
ziten RK-Verfahren [SW95, Abschnitt 2.5], zieht jedoch nur aktive Komponenten
in Betracht.
MRV wurden entwickelt, um Systeme mit verschiedenen Zeitskalen effizient zu be-
rechnen. Entsprechend der numerischen Ergebnissen für ein Multirate-Problem aus
der Astrophysik [EL97b], wurde mit MUR8 ein effizienter Integrator implementiert,
bei dem die benötigte Rechenzeit sogar unter der des bewährten Solvers DOP853
liegt. Gegenüber klassischen Multirate-Verfahren hat MUR8 zudem den Vorteil, dass
der Anwender vorab keine Partitionierung des Systems in schnelle und langsame
Komponenten vornehmen muss. Der Algorithmus verfügt aufgrund seiner Bauart

35
3 Multirate- und Multimethod-Verfahren

über eine automatische dynamische Partitionierung. Das wiederum hat den Nach-
teil, dass er sich somit nicht für eine Co-Simulation eignet, denn bei dieser sind die
Teilsysteme vorab statisch festgelegt und die Kommunikation zwischen den Teilsys-
temen auf die Synchronisationspunkte beschränkt. Eine derartige Entkopplung ist
bei MUR8 nicht möglich.

3.2 Multimethod-Verfahren
Eine weitere Möglichkeit zur verteilten Zeitintegration findet man bei den sogenann-
ten Multimethod-Verfahren. Der Name weist darauf hin, dass bei diesen Integrato-
ren mehrere verschiedene Zeitintegrationsverfahren zum Einsatz kommen. Für jedes
Teilsystem wird abhängig von den Systemeigenschaften ein passender Integrator
gewählt und das endliche Zeitintervall [T0 , TN ] in fest vorgegebene Synchronisati-
onszeitpunkte T0 < T1 < · · · < TN unterteilt (vgl. Definition 3.1). Jedes Teilsystem
wird dann innerhalb eines Makroschrittes H = Tn − Tn−1 , mit 0 < n 6 N, mit
einer diversen Anzahl von Mikroschritten integriert. Die einzelnen Zeitgitter der
Teilsysteme müssen nicht synchronisiert sein; auch adaptive Gitter sind möglich.
Es muss nur gewährleistet sein, dass der letzte Schritt auf einen Synchronisations-
punkt fällt. Nach Vollendung eines Makroschrittes findet dann ein Datenaustausch
und ein Update der Variablen zwischen den Teilsystemen statt.
Bei Multimethod-Verfahren – und auch bei MRV – hat man unabhängig vom
gewählten Zeitintegrationsverfahren zwei mögliche Grundstrategien, in welcher Rei-
henfolge die einzelnen Teilsysteme berechnet werden sollen: Gesamtschritt- und
Einzelschritt-Strategie.

3.2.1 Gesamtschritt-Strategie
Eine Gesamtschritt-Strategie sieht vor, alle Teilsysteme gleichzeitig – vorzugsweise
auf parallelen Hardwareplattformen – voneinander entkoppelt zu integrieren. Das
gesamte System schreitet somit schrittweise von Austauschpunkt Tn zu Austausch-
punkt Tn+1 . Wie wir schon bei den MRV gesehen haben, benötigt man in jedem
Teilsystem jeweils Approximationen der externen Variablen. Da die Integration aller
Variablen jedoch erst bis Tn abgeschlossen wurde, stehen in keinem Teilsystem Infor-
mationen zur Interpolation zur Verfügung. Die externen Variablen müssen deshalb
in jedem Teilsystem durch Extrapolation ermittelt werden. Exemplarisch wurde
das System
y10 = f1 (y1 , y2 ), (3.11a)
y20 = f2 (y1 , y2 ), (3.11b)
verteilt integriert und der Ablauf in Abbildung 3.3 schematisch dargestellt. Aus
Gründen der vereinfachten Notation wurde eine konstante Extrapolation angenom-

36
3.2 Multimethod-Verfahren

yn,1 Mikroschritte yn+1,1 = yn+1,1 (f1 , yn,1 , yen,2 , τ1 )


yen,2
yen,1
yn,2 Mikroschritte yn+1,2 = yn+1,2 (f2 , yen,1 , yn,2 , τ2 )

Abbildung 3.3: Gesamtschritt-Strategie eines Makroschrittes Tn 7→ Tn+1 .

men. Es gilt also hier mit i = 1, 2 für alle externen Variablen yei (t) := yn,i mit
t ∈ [Tn , Tn+1 ] (vgl. auch Abbildung 1.2).

3.2.2 Einzelschritt-Strategie
Im Gegensatz zur Gesamtschritt-Strategie wird bei einer Einzelschritt-Strategie fol-
gendermaßen vorgegangen: Zuerst wird ein einzelnes Teilsystem auf dem aktuellen
Makroschritt Tn 7→ Tn+1 integriert. Alle Informationen über externe Variablen müs-
sen in diesem Integrationsschritt durch Extrapolation gewonnen werden. Nachdem
das erste gewählte Teilsystem vollständig integriert wurde, werden die gerade neu
berechneten Werte der Variablen dieses Teilsystems mit den anderen Teilsystemen
synchronisiert, d. h. es erfolgt ein Update der Variablen. Im Anschluss wird der
Schritt Tn 7→ Tn+1 des nächsten Teilsystems berechnet. Die benötigten Werte der
externen Variablen stammen wiederum aus einer Extrapolation, mit Ausnahme der
Variablen des zuvor gelösten Teilsystems: Hierfür existieren mittlerweile Daten um
die Werte durch Interpolation ermitteln zu können.
Bemerkung 3.6. Die Reihenfolge der Teilsysteme ist zunächst willkürlich, beein-
flusst aber entscheidend die Stabilität. Weiterführende Informationen zur Stabilität
bei Anwendung auf differentiell-algebraische Systeme finden sich in Abschnitt 4.3,
sowie bei Kübler und Schiehlen, die in ihrer Arbeit [KS00] zwei Methoden untersu-
chen, um die Instabilität von Multimethod-Verfahren zu beseitigen.
Bei der Einzelschritt-Strategie wird also schrittweise ein Teilsystem nach dem
anderen gelöst, wobei ein Update der Variablen stattfindet, sobald die Integrati-
on eines Teilsystems das Ende des jeweiligen Makroschrittes erreicht hat. Für das
System (3.11) ist der Ablauf schematisch in Abbildung 3.4 dargestellt. Im Unter-
schied zur Gesamtschritt-Strategie wird bei der Lösung des zweiten Teilsystems
der aktuelle Wert von y1 zur Interpolation benutzt, also ye1 (t) := yn+1,i , oder eine
Linearkombination von yn,i und yn+1,i .
Das Multimethod-Verfahren eignet sich ideal für eine Co-Simulation, da vorab
feste Synchronisationpunkte festgelegt werden, der Datenaustausch zwischen den

37
3 Multirate- und Multimethod-Verfahren

yn,1 Mikroschritte yn+1,1 = yn+1,1 (f1 , yn,1 , yen,2 , τ1 )


yen,2
yen+1,1
yn,2 Mikroschritte yn+1,2 = yn+1,2 (f2 , yen+1,1 , yn,2 , τ2 )

Abbildung 3.4: Einzelschritt-Strategie eines Makroschrittes Tn 7→ Tn+1 .

Teilsystemen nur an diesen Punkten stattfindet und eine Implementierung von spe-
zialisierten Integratoren für die Teilsysteme naheliegt.

38
4 Verteilte Integration
gekoppelter
differentiell-algebraischer
Systeme
Schon in Kapitel 1 wurde darauf hingewiesen, dass es häufig von Vorteil ist, gekop-
pelte Systeme verteilt zu integrieren. Damit ist gemeint, dass die einzelnen Subsyste-
me getrennt voneinander berechnet werden und nur an festen Synchronisationspunk-
ten Daten zwischen den Subsystemen ausgetauscht werden (vgl. Abbildung 1.2). In
diesem Kapitel soll eine verteilte Integration von differentiell-algebraischen Syste-
men untersucht werden. Um dieses Ziel zu erreichen, wird zu Beginn ein Multirate-
Algorithmus im Detail vorgestellt, der geeignet ist, gekoppelte DAEs zu integrieren.
Im Anschluss wird die Konvergenz dieses Verfahrens analysiert und eine Fehler-
schätzung präsentiert.

4.1 Problemstellung
Der Struktur der in [AG01] betrachteten Aufgabenklasse folgend wollen wir uns auf
m > 2 DAEs vom Typ

yi0 (t) = fi (y, zi ), (i = 1, . . . , m),


(4.1a)
0 = hi (y, zi , u)

beschränken, die mittels nu algebraischer Gleichungen

0 = g(y, z) (4.1b)

gekoppelt sind. Das i-te Teilsystem von (4.1a) bestehe aus nyi Differentialgleichun-
gen yi0 = fi , und nzi algebraischen Gleichungen 0 = hi , wobei zi lokale algebraische
Variable der i-ten DAE ist. Das Anfangswertproblem

y(T0 ) = y0 , z(T0 ) = z0 , u(T0 ) = u0 (4.2)

39
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

des Systems (4.1a) habe eine eindeutige Lösung

y = (y1 , . . . , ym )T : [T0 , TN ] → Rny ,


z = (z1 , . . . , zm )T : [T0 , TN ] → Rnz ,
u : [T0 , TN ] → Rnu
P P
auf dem endlichen Zeitintervall [T0 , TN ], ny = nyi , nz = nzi .

Annahme 4.1. In einer Umgebung dieser eindeutigen Lösung seien die Funktionen
f = (f1 , . . . , fm )T , h = (h1 , . . . , hm )T und g genügend oft differenzierbar. Es sei
weiterhin vorausgesetzt, dass die Jakobimatrizen
∂h ∂h
 
 ∂z ∂u 
, ∂hi
 , (i = 1, . . . , m) (4.3)
 ∂g  ∂zi
0
∂z
regulär sind. Damit hat das gekoppelte differentiell-algebraische System (4.1) den
Index 1 und die Gleichungen hi (y, zi , u) = 0 sind zumindest lokal nach zi auflösbar.

Dieses System soll auf einem endlichen Zeitintervall [T0 , TN ] verteilt berechnet
werden. Dazu wird ein Multirate-Verfahren gewählt, d. h. alle m Teilsysteme werden
separat in einem Makroschritt von dem gleichen Zeitintegrationsverfahren, aber
mit unterschiedlicher Schrittweite integriert. Nach jedem Makroschritt erfolgt eine
Synchronisation des Integrators und damit ein Update der Variablen.

4.2 Multirate-Verfahren für gekoppelte DAEs


Das untersuchte Verfahren unterscheidet sich von den vorgestellten MRV aus Kapi-
tel 3 in folgender Weise: Jedes Teilsystem darf beliebig viele Mikroschritte haben,
die zudem nicht synchronisiert sein müssen. Der hieraus resultierende Algorithmus
ist zwar weniger effizient, jedoch wesentlich flexibler als ein synchronisiertes MRV.

4.2.1 Notation
Vorab werden vereinfachte Annahmen getroffen, um die Notationen kompakt zu
halten. Es werden nur m = 2 Teilsysteme (4.1) untersucht, die den Annahmen 4.1
genügen sollen. Teilsystem 1 ist definiert durch

y10 (t) = f1 (y1 , y2 , z1 ),


(4.4a)
0 = h1 (y1 , y2 , z1 , u),

40
4.2 Multirate-Verfahren für gekoppelte DAEs

und für Teilsystem 2, welchem die koppelnden algebraischen Gleichungen (4.1b)


zugeordnet werden, gilt

y20 (t) = f2 (y1 , y2 , z2 ),


0 = h2 (y1 , y2 , z2 , u), (4.4b)
0 = g(y1 , y2 , z1 , z2 ).

Die Anordnung der Teilsysteme, d. h. die Wahl des ersten Teilsystems, ist zunächst
willkürlich, hat jedoch erhebliche Auswirkungen auf die Kontraktivitätskonstante α
(siehe (4.6) und Abschnitt 4.3). Die Anordnung sollte so gewählt werden, dass α
minimal ist.

Definition des Zeitgitters


Um die numerische Integration auf dem Intervall [T0 , TN ] untersuchen zu können,
wird folgende Definition eines diskreten Zeitgitters benötigt, man vergleiche dazu
Abbildung 4.1.
Definition 4.2. Die Unterteilung des Intervalls [T0 , TN ] in

T0 < T1 < · · · < TN

mit äquidistanter Schrittweite

H := Tn − Tn−1 , (n = 1, . . . , N )

heißt Makrogitter G. In jedem Makrointervall [Tn−1 , Tn ] soll es weiterhin für Teil-


system 1 eine Unterteilung

Tn−1 = t0,1 < t1,1 < · · · < tJn ,1 = Tn

in Jn äquidistante Mikroschritte mit Schrittweite


H
τn,1 :=
Jn
geben, das Mikro-Gitter Gn,1 . Ebenso gebe es für Teilsystem 2 eine Unterteilung

Tn−1 = t0,2 < t1,2 < · · · < tKn ,2 = Tn

in Kn äquidistante Mikroschritte mit Schrittweite


H
τn,2 := ,
Kn
die Mikro-Gitter Gn,2 genannt werde.

41
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

G
H
Tn−1 Tn

Gn,1
τn,1 τn,1 τn,1 τn,1
t0,1 t1,1 t2,1 t3,1 t4,1

Gn,2
τn,2 τn,2 τn,2
t0,2 t1,2 t2,2 t3,2

Abbildung 4.1: Makro- und Mikro-Gitter für die


verteilte Integration von (4.4) mit τ1 = H/4, τ2 = H/3.

Aus Gründen einer vereinfachten Notation sollen nur äquidistante Makro- und
Mikrogitter berücksichtigt werden. Alle Resultate bleiben aber auch für variable
Schrittweiten gültig, solange das Verhältnis Hn /Hn−1 und τn,· /τn−1,· beschränkt ist.

Bemerkung 4.3. Im weiteren Verlauf der vorliegenden Arbeit liege der Fokus
auf einem Makrozeitschritt Tn−1 7→ Tn . In den dazugehörigen Teilsystemen wird
deshalb – bei allen sich auf eben dieses Makrointervall beziehenden Variablen – der
Index n vernachlässigt. Bezieht sich eine Variable auf ein anderes Makrointervall,
(n−1)
dann wird dies explizit gekennzeichnet (z. B. t0,2 ).

Definition der Inter- und Extrapolationsoperatoren


In Kapitel 3 wurde deutlich, dass bei einer Co-Simulation die Werte der externen
Variablen innerhalb eines Makroschrittes durch Extra- oder Interpolationen berech-
net werden müssen, da die Kommunikation zwischen den Teilsystemen auf die Syn-
chronisationspunkte beschränkt wird. Betrachtet man das gekoppelte System (4.4),
dann erkennt man, dass in Teilsystem 1 die Variablen y2 und u externe Variablen
sind, da beide nur durch (4.4b) eindeutig bestimmt sind. In Teilsystem 2 hinge-
gen sind die externen Variablen y1 und z1 , wobei z1 für die koppelnde algebraische
Gleichung benötigt wird.
Das von uns untersuchte MRV arbeitet mit einer Einzelschritt-Strategie (Ab-
schnitt 3.2.2) eines MMV und nicht mit einer Fastest- oder Slowest-First-Strategie
(Abschnitt 3.1.2), die üblicherweise in effizienten MRV implementiert sind. Dies hat
den Grund, dass die Kommunikation zwischen den Teilsystemen auf die Synchro-
nisationspunkte beschränkt werden soll, um somit die Kopplung von Simulations-
werkzeugen (Co-Simulation) in die Konvergenzanalyse mit einbeziehen zu können.
Daraus ergibt sich, dass in einem aktuellen Makro-Integrationsschritt Tn−1 7→ Tn
in Teilsystem 1 die Werte der externen Variablen y2 und u durch Extrapolation

42
4.2 Multirate-Verfahren für gekoppelte DAEs

mit Stützstellen in [Tn−2 , Tn−1 ] gewonnen werden müssen. Wurde dieses Teilsystem
erfolgreich integriert und fand ein Update der Variablen statt, dann stehen in Teil-
system 2 die Daten des bereits integrierten Teilsystems 1 zur Verfügung und die
Werte der externen Variablen y1 und z1 können durch Interpolation mit Stützstellen
in [Tn−1 , Tn ] angenähert werden (vgl. auch Abbildung 3.4).
Durch diese Approximationen kommt jedoch zusätzlich zu dem Fehler einer klas-
sischen Integration der Fehler der Inter- und Extrapolationsoperatoren hinzu.
Bemerkung 4.4. Würde anstatt der Einzelschritt- eine Gesamtschritt-Strategie
angewandt werden, d. h. die externen Variablen in Teilsystem 2 werden durch Extra-
polation anstatt durch Interpolation approximiert, dann wäre es sogar möglich, die
beiden Teilsysteme parallel auf verschiedenen Prozessoren bzw. Hardwareplattfor-
men zu integrieren. Es würde sich aber eine andere Konvergenzbedingung ergeben,
die hier nicht weiter untersucht werden soll. Es sei nur so viel gesagt, dass u. a.
die algebraische Variable un von zwei vorangegangenen Makroschritten beeinflusst
wird, also der Fehler durch eine Drei-Term-Rekursion beschrieben wird. Der Grund
liegt in der Tatsache, dass bei der Gesamtschritt-Strategie zn−1 und nicht zn einen
Einfluss auf un hat, zn−1 hängt aber wiederum direkt von un−2 ab.
Nun wird die Notation für die vorkommenden Extra- und Interpolationsoperato-
ren festgelegt. Als Operatoren wollen wir nur polynomiale Inter- und Extrapolation
zulassen. Die Stützstellen der Interpolation sollen mit
Tn−1 < t̂0,1 < t̂1,1 < · · · < t̂qI ,1 6 Tn ,
die Stützstellen der Extrapolation mit
(n−1) (n−1) (n−1)
Tn−2 < t̂0,2 < t̂1,2 < · · · < t̂qE ,2 6 Tn−1
bezeichnet werden.
Bemerkung 4.5. Auf dem linken Rand des Makrointervalls soll keine Stützstelle
liegen, da dort eine Unstetigkeitsstelle der algebraischen Variablen vorliegen kann.
Der Grund dafür ist, dass durch die notwendigen Approximationen der externen
Variablen die Zwangsbedingungen hi (y, z, u) = 0 und g(y, z) = 0 in (4.4) für die be-
rechneten Werte nicht erfüllt sind und es somit zu einem Sprung in der numerischen
Lösung kommt.
Bemerkung 4.6. Mit π(x(t), t; t̂0 , . . . , t̂q ) bezeichnen wird das Interpolationspoly-
nom, das Funktionen x : [T0 , TN ] → Rnx an den q + 1 paarweise verschiedenen
Stützstellen t̂0 , . . . , t̂q ∈ [Tn−1 , Tn ] interpoliert (deg π 6 q).
Der Fehler kπ(x(t), t; t̂0 , . . . , t̂q )−x(t)k eines solchen Interpolationspolynoms liegt
in der Größenordnung von O(H q+1 ), vgl. z. B. [DH93, Abschnitt 7.1].
In dem zu untersuchenden Multirate-Algorithmus werden numerische Lösungen
extra- und interpoliert, was mit folgender Definition zum Ausdruck gebracht werden
soll:

43
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

Definition 4.7. Es sei Ξn−1 (t, x) ein Interpolationspolynom, das numerische Lö-
sungen der Variablen x stetig von (Tn−2 , Tn−1 ] nach [Tn−1 , Tn ] im ersten Teilsystem
extrapoliert, also
(n−1) (n−1)
Ξn−1 (tj,1 ; x) = π(ΨTn−1 x, tj,1 ; t̂0,2 , . . . , t̂qE ,2 ),
wobei Ψt x den diskreten Phasenfluss [DB94] einer autonomen Differentialgleichung
der Variablen x bis zum Zeitpunkt t bezeichne. Für qE + 1 paarweise verschiedene
Stützstellen ergibt sich ein Interpolationspolynom qE -ten Grades, d. h. die Extrapo-
lation hat die Ordnung qE .
Weiterhin sei Πn (t, x) ein Polynom, das numerische Lösungen der Variablen x
stetig im Intervall [Tn−1 , Tn ] im zweiten Teilsystem interpoliert, also
Πn (tk,2 ; x) = π(ΨTn x, tk,2 ; t̂0,1 , . . . , t̂qI ,1 ).
Für qI + 1 paarweise verschiedene Stützstellen beträgt die Interpolationsordnung qI .

Definition des eingesetzten Integrators


In der vorliegenden Arbeit wollen wir unsere Analyse auf das implizite Euler-
Verfahren (vgl. Abschnitt 2.2.1) beschränken, das als Prototyp eines Zeitintegrators
in dem untersuchten MRV die zwei differentiell-algebraischen Teilsysteme (4.4) lö-
sen soll. Folglich ergeben sich nacheinander J + K nichtlineare Gleichungssysteme,
nämlich mit j = 1, . . . , J das Gleichungssystem
yj,1 − yj−1,1 = τ1 f1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 ), (4.5a)
0 = h1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 , Ξn−1 (tj,1 ; u)), (4.5b)

und andererseits mit k = 1, . . . , K

yk,2 − yk−1,2 = τ2 f2 (Πn (tk,2 ; y1 ), yk,2 , zk,2 ), (4.5c)


0 = h2 (Πn (tk,2 ; y1 ), yk,2 , zk,2 , uk ), (4.5d)
0 = g(Πn (tk,2 ; y1 ), yk,2 , Πn (tk,2 ; z1 ), zk,2 ). (4.5e)
Gelten die Annahmen 4.1 und ist f global Lipschitz-stetig, dann ist die eindeutige
Lösbarkeit der nichtlinearen Gleichungssysteme in einer Umgebung der analytischen
Lösung gegeben, falls τ1 , τ2 ausreichend klein sein [HNW93].

4.2.2 Definition des Algorithmus


Das eingesetzte Multirate-Verfahren für gekoppelte DAEs kann mit Hilfe der Ergeb-
nisse dieses Kapitels zu Algorithmus 4.1 zusammengefasst werden. In Abschnitt 4.3
wird dieses Verfahren auf Konvergenz und Stabilität untersucht werden.

44
4.2 Multirate-Verfahren für gekoppelte DAEs

for n = 1 to N do
{Initialisiere Anfangswerte eines Makroschrittes}
t0,1 = t0,2 = Tn−1
y0,1 = Yn−1,1 ; y0,2 = Yn−1,2
z0,1 = Zn−1,1 ; z0,2 = Zn−1,2
u0 = Un−1

{Teilsystem 1}
for j = 1 to Jn do
tj,1 = tj−1,1 + τn,1
Berechne die Extrapolationen Ξn−1 (tj,1 ; y2 ) und Ξn−1 (tj,1 ; u).
Löse das nichtlineare Gleichungssystem

yj,1 = yj−1,1 + τn,1 f1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 ),


0 = h1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 , Ξn−1 (tj,1 ; u)).

end for
Speichere die Variablen Yn,1 := yJn ,1 und Zn,1 := zJn ,1 .

{Teilsystem 2}
for k = 1 to Kn do
tk,2 = tk−1,2 + τn,2
Berechne die Interpolationen Πn (tk,2 ; y1 ) und Πn (tk,2 ; z1 ).
Löse das nichtlineare Gleichungssystem

yk,2 = yk−1,2 + τn,2 f2 (Πn (tk,2 ; y1 ), yk,2 , zk,2 ),


0 = h2 (Πn (tk,2 ; y1 ), yk,2 , zk,2 , uk ),
0 = g(Πn (tk,2 ; y1 ), yk,2 , Πn (tk,2 ; z1 ), zk,2 ).

end for
Speichere die Variablen Yn,2 := yKn ,2 , Zn,2 := zKn ,2 und Un := uKn .

Synchronisiere alle Variablen in beiden Teilsystemen.


Tn = Tn−1 + H
end for

Algorithmus 4.1: Multirate-Verfahren für gekoppelte DAEs.

45
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

4.3 Konvergenzanalyse und Fehlerschätzung


Für eine Konvergenzanalyse wird der globale Fehler, d. h. die Differenz zwischen
der numerisch berechneten und der analytischen Lösung, betrachtet.

Definition 4.8. Der globale Fehler auf dem Gitter G ist zu jedem Zeitpunkt Tn
definiert durch

ky,n k := ky(Tn ) − yn k, kz,n k := kz(Tn ) − zn k, ku,n k := ku(Tn ) − un k.

Mit yn , zn und un wird hier die numerische Lösung zum Zeitpunkt Tn bezeichnet.

Wenn das Maximum des globalen Fehlers für kleine Schrittweiten gegen Null geht,
dann heißt das Verfahren konvergent.

Definition 4.9. Ein Multirate-Verfahren für das Anfangswertproblem (4.4) heißt


konvergent auf dem Intervall [T0 , TN ], wenn für jedes Gitter G mit H → 0 für den
globalen Fehler gilt

lim max (ky,n k + kz,n k + ku,n k) = 0.


H→0 06n6N

Wie schon in Kapitel 1 dargestellt wurde, birgt ein MRV für gekoppelte Syste-
me ein Potential an Instabilität, da das Verfahren durch die notwendigen Extra-
polationen einen teilweise expliziten Charakter hat, explizite Verfahren jedoch für
DAEs instabil sein können. Arnold und Günther [AG01] kommen deshalb zu dem
Ergebnis, dass sogar eine verteilte analytische Integration leicht zu Instabilitäten
neigen kann. Die Autoren untersuchen in der angesprochenen Arbeit Waveform-
Relaxations-Verfahren für gekoppelte Systeme der Form (4.1) mit m = 2. Geht
man bei diesen iterativen Verfahren von nur einem Iterationsschritt pro Makroin-
tervall aus, dann gelten die dort erlangten Ergebnisse jedoch auch für Multirate-
und Multimethod-Verfahren.
Ein grundlegendes Ergebnis ist, dass unabhängig von der Makroschrittweite H
eine Konvergenzbedingung α < 1 notwendig ist, um eine stabile Fehlerfortpflanzung
in den algebraischen Variablen zu garantieren. Die Kontraktivitätskonstante α ist
definiert durch

α := max R2−1 (t)R1 (t)



(4.6a)
t∈[T0 ,TN ]

mit
"  −1 #
∂g ∂hi ∂hi
Ri (t) := (y(t), z(t), u(t)), (i = 1, 2). (4.6b)
∂zi ∂zi ∂u

46
4.4 Beweis des Konvergenzsatzes

Diese Kontraktivitätskonstante gilt nur für den Fall einer verteilten analytischen
Integration. Das bedeutet, dass die Details der Zeitintegration der einzelnen Teilsys-
teme vernachlässigt werden und man annimmt, die Anfangswertprobleme werden
analytisch gelöst. Man erhält also eine numerische Lösung, die aus über den einzel-
nen Makroschritten definierten analytischen Lösungen von Hilfsproblemen zusam-
mengesetzt ist. Wendet man die Kernaussage aus [AG01] auf den hier untersuchten
Fall eines MRV an, dann erhält man unter der Bedingung α < 1 für eine verteilte
analytische Integration des Systems (4.4) die Fehlerschätzung
max (ky,n k + kz,n k + ku,n k) 6 C ∗ (H qI +1 + H qE +1 ). (4.7)
06n6N

Ein Ziel der vorliegenden Arbeit ist es nun, statt einer analytischen Zeitinteg-
ration der Teilsyteme die Auswirkungen einer verteilten diskreten Integration zu
untersuchen. Man will eine Kontraktivitätsbedingung – ähnlich wie α < 1 – finden,
die Konvergenz bei Multirate-Einschritt-Verfahren garantieren kann. Es wird sich
zeigen, dass es ein solches Kriterium gibt, nämlich α e < 1. Dabei wird die Kon-
traktivitätskonstante αe ein Produkt aus der in (4.6) definierten Kontraktivitätskon-
stante α und einem von den verwendeten Inter- und Extrapolationen abhängigen
Faktor sein. Die Analyse von Algorithmus 4.1 liefert zudem die Fehlerschätzung ei-
ner verteilten diskreten Integration basierend auf dem impliziten Euler-Verfahren.
Satz 4.10. Integriert man auf dem Intervall [T0 , TN ] ein gekoppeltes System (4.4)
verteilt mittels des Multirate-Einschritt-Verfahrens (Algorithmus 4.1) und gilt au-
ßerdem α e < 1, dann existieren positive Konstanten C ∗ , H0 > 0 und γ0 , mit
C ∗ H0 < γ0 , so dass für alle H 6 H0 und für alle n > 0 mit nH 6 TN gilt
ky,n k + kz,n k + ku,n k 6 C ∗ (H qI +1 + H qE +1 + max τi,1 + τi,2 ) .

(4.8)
0<i6n

Beweis. Vgl. Abschnitt 4.4.


Die rechte Seite der Abschätzung (4.8) hat eine Größenordnung 6 O(H). Für
H → 0 folgt daher mit Definition 4.9, dass das untersuchte Verfahren konvergent
ist.
Man sieht deutlich, dass im Unterschied zu (4.7) ein zusätzlicher Fehlerterm der
Diskretisierung hinzugekommen ist. Des Weiteren erhält man im Zuge des Beweises
eine größere Kontraktivitätskonstante α e > α, d. h. es existieren Fälle mit α < 1,
die bei der verteilten analytischen Integration konvergent sind, für die man jedoch
nicht die Konvergenz der vollen Multirate-Diskretisierung nachweisen kann.

4.4 Beweis des Konvergenzsatzes


In diesem Abschnitt wird der Beweis des Satzes 4.10 erbracht. Der Beweis ist fol-
gendermaßen aufgebaut: Zu Beginn wird untersucht, wie sich das implizite Euler-
Verfahren auf den Fehler der differentiellen Variablen auswirkt, danach wird eine

47
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

Gleichung des Fehlers in den algebraischen Variablen aufgestellt. Hat man dann
noch einen Ausdruck für den Fehler, der durch die Approximation der externen
Variablen hinzugekommen ist, so können die voneinander abhängigen Fehlerterme
ineinander eingesetzt werden. Man erhält schließlich eine Fehlerrekursion, die es
ermöglicht, den globalen Fehler anzugeben.
Annahme 4.11. Es wird vorausgesetzt, dass schon zu Beginn der Integration für
(n = 1) genügend Daten vorhanden sind, damit die auftretenden Inter- und Extra-
polationsoperatoren die angegebene Ordnung einhalten können.
Bemerkung 4.12. Aus Algorithmus 4.1 wird ersichtlich, dass zn nur innerhalb
des Schrittes Tn−1 7→ Tn verwendet wird. Das bedeutet, dass in der Fehlerrekursion
für zn keine Terme zn−1 (oder niedriger) vorkommen werden, sondern nur Terme
der Variablen u und y. Somit ist es für den Beweis ausreichend, nur die Fehlerver-
stärkung in y und u zu untersuchen. Im Laufe des Beweises wird diese Aussage an
Hand der Gleichungen (4.14) und (4.16) noch deutlicher.
Annahme 4.13. Für die ersten Teilschritte des Beweises soll angenommen werden,
dass sich die numerische Lösung in einem genügend kleinen γ0 -Schlauch um die
analytische Lösung befindet, also
ky,n k + ku,n k < γ0 (4.9)
für alle n > 0 mit nH 6 TN . Diese Annahme wird am Ende des Beweises durch
Induktion bestätigt.

4.4.1 Fehler der differentiellen Variablen


Lemma 4.14. Löst man die zwei Systeme (4.5), so erhält man für die differentiel-
len Variablen folgende Fehlerschätzung:

kyj,1 − y1 (tj,1 )k 6 (1 + O(τ1 ))kyj−1,1 − y1 (tj−1,1 )k +


+ O(τ1 )(kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k + kzj,1 − z1 (tj,1 )k) + O(τ12 ) (4.10)
sowie

kyk,2 − y2 (tk,2 )k 6 (1 + O(τ2 ))kyk−1,2 − y2 (tk−1,2 )k +


+ O(τ2 )(kΠn (tk,2 ; y1 ) − y1 (tk,2 )k + kzk,2 − z2 (tk,2 )k) + O(τ22 ). (4.11)
Beweis. Der Beweis soll an Hand des ersten Systems gezeigt werden. Das zwei-
te System beweist man analog. Zuerst geht man von einer Taylorentwicklung um
y1 (tj,1 ) aus, welche lautet
y1 (tj,1 ) − y1 (tj−1,1 ) = τ1 y10 (tj,1 ) + O(τ12 ) =
= τ1 f1 (y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 )) + O(τ12 ).

48
4.4 Beweis des Konvergenzsatzes

Diese Gleichung wird von (4.5a) subtrahiert und man erhält

yj,1 − y1 (tj,1 ) = yj−1,1 − y1 (tj−1,1 ) +


+ τ1 f1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 ) − f1 (y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 )) + O(τ12 ).


Nützt man nun die Lipschitzbedingung der Funktion f1 aus und schreibt

kf1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 ) − f1 (y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 ))k 6

6 O(1) kyj,1 − y1 (tj,1 )k + kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k + kzj,1 − z1 (tj,1 )k ,

dann folgt für obige Gleichung

(1 − O(τ1 ))kyj,1 − y1 (tj,1 )k = kyj−1,1 − y1 (tj−1,1 )k +


+ O(τ1 ) kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k + kzj,1 − z1 (tj,1 )k + O(τ12 ).


Dividiert man durch 1 − O(τ1 ), kann man den Term auf der rechten Seite durch
seine entsprechende Potenzreihenentwicklung abschätzen,
1
6 1 + O(τ1 ).
1 − O(τ1 )

Ausmultiplizieren bringt dann die gesuchte Ungleichung

kyj,1 − y1 (tj,1 )k 6 (1 + O(τ1 ))kyj−1,1 − y1 (tj−1,1 )k +


+ O(τ1 )(kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k + kzj,1 − z1 (tj,1 )k) + O(τ12 ). (4.12)

4.4.2 Fehler der algebraischen Variablen


Zur Formulierung der Fehlerabschätzungen für die algebraischen Variablen werden
die folgenden zusätzlichen Bezeichnungen verwendet: An allen Gitterpunkten von
G1 sollen die abkürzenden Schreibweisen
ϑ
yj,1 := ϑyj,1 + (1 − ϑ)y1 (tj,1 ),
ϑ
zj,1 := ϑzj,1 + (1 − ϑ)z1 (tj,1 ),
y ϑ2 (tj,1 ) := ϑΞn−1 (tj,1 ; y2 ) + (1 − ϑ)y2 (tj,1 ),
uϑ (tj,1 ) := ϑΞn−1 (tj,1 ; u) + (1 − ϑ)u(tj,1 )

49
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

verwendet werden. Für das Gitter G2 gilt

ϑ
yk,2 := ϑyk,2 + (1 − ϑ)y2 (tk,2 ),
ϑ
zk,2 := ϑzk,2 + (1 − ϑ)z2 (tk,2 ),
uϑk := ϑuk + (1 − ϑ)u(tk,2 ),
y ϑ1 (tk,2 ) := ϑΠn (tk,2 ; y1 ) + (1 − ϑ)y1 (tk,2 ),
z ϑ1 (tk,2 ) := ϑΠn (tk,2 ; z1 ) + (1 − ϑ)z1 (tk,2 ).

Die algebraische Gleichung (4.5b) des ersten Teilsystems in (4.5) erfüllt zu jedem
Zeitpunkt tj,1 ∈ G1 mit
ϑ ϑ
, y ϑ2 (tj,1 ), zj,1 , uϑ (tj,1 ) , ϑ ∈ [0, 1]

F1 (ϑ) := h1 yj,1

die Beziehung

0 = F1 (0) = F1 (y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 ), u(tj,1 )),


0 = F1 (1) = F1 (yj,1 , Ξn−1 (tj,1 ; y2 ), zj,1 , Ξn−1 (tj,1 ; u)),

und damit auch


Z 1
0 = F1 (1) − F1 (0) = F10 (ϑ) dϑ.
0

ϑ
Die Argumente yj,1 , y ϑ2 (tj,1 ), . . . der partiellen Ableitungen ∂h1 /∂z1 und ∂h1 /∂u
liegen nach Annahme (4.9) in einer O(γ0 )-Umgebung der analytischen Lösungen
zum Zeitpunkt tj,1 . Damit erhält man
Z 1 
∂h1   
0= y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 ), u(tj,1 ) + O(γ0 ) · zj,1 − z1 (tj,1 ) +
0 ∂z1
 ∂h  
1  
+ y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 ), u(tj,1 ) + O(γ0 ) · Ξn−1 (tj,1 ; u) − u(tj,1 ) dϑ +
∂u

+ O(1) kyj,1 − y1 (tj,1 )k + kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k . (4.13)

Da angenommen wird, dass γ0 > 0 genügend klein ist – später wird bewiesen wer-
den, dass γ0 in der Größenordnung O(H) liegt – wird im Weiteren darauf verzichtet,
die Terme der Größenordnung O(γ0 ) explizit anzuschreiben. Ebenso werden bei den
Jakobimatrizen die Argumente y1 (tj,1 ), y2 (tj,1 ), z1 (tj,1 ), u(tj,1 ) nicht mehr explizit an-
gegeben, da später im Beweis nur noch das Maximum über dem Zeitintervall [T0 , TN ]
verwendet wird.

50
4.4 Beweis des Konvergenzsatzes

Man kann also diese Gleichung wegen Annahme 4.1 auflösen und erhält
 −1
∂h1 ∂h1
zj,1 − z1 (tj,1 ) = − · (Ξn−1 (tj,1 ; u) − u(tj,1 )) +
∂z1 ∂u

+ O(1) kyj,1 − y1 (tj,1 )k + kΞn−1 (tj,1 ; y2 ) − y2 (tj,1 )k . (4.14)
Bei den algebraischen Gleichungen des zweiten Systems in (4.5) kann analog
vorgegangen werden: Zu jedem Zeitpunkt tk,2 ∈ G2 gilt mit
 
h2 y ϑ1 , yk,2
ϑ ϑ
, zk,2 , uϑk
F2 (ϑ) := 
ϑ ϑ ϑ ϑ
  , ϑ ∈ [0, 1]
g y 1 , yk,2 , z 1 , zk,2
ebenso die Beziehung
Z 1
0 = F2 (1) − F2 (0) = F20 (ϑ) dϑ.
0

Die Argumente y ϑ1 , yk,2


ϑ
,...
der partiellen Ableitungen befinden sich nach Annah-
me (4.9) wiederum in einer O(γ0 )-Umgebung der analytischen Lösungen zum Zeit-
punkt tk,2 . Im ersten System wurde schon gefordert, dass γ0 > 0 genügend klein sei.
Deshalb kann man auch hier schreiben
      !
Z 1 ∂h2 ∂h2
z − z (t ) 0
 ∂z2 ∂u  ·  k,2 2 k,2 
0=  +   · Πn (tk,2 ; z1 ) − z1 (tk,2 ) dϑ +
∂g ∂g
0
∂z2
0 uk − u(tk,2 ) ∂z1

+ O(1) kyk,2 − y2 (tk,2 )k + kΠn (tk,2 ; y1 ) − y1 (tk,2 )k . (4.15)
Diese Gleichung kann mit dem Ausdruck
     −1 
−1   −1 −1
∂h2 ∂h2 ∂g ∂h2 ∂h1 ∂g
  
∂h2 ∂h2
0  ∂z2 ∂u ∂z2 ∂z2 ∂u ∂z1  D
 ∂z2 ∂u    =    −1
 =:  ,
∂g ∂g   −1 −1 ∂g
0 −R2 ∂z1
 
∂g ∂h2 ∂h2 ∂g
∂z2 ∂z1 − ∂z 2 ∂z2 ∂u ∂z1

mit R2 aus (4.6), aufgelöst werden. Man erhält



zk,2 − z2 (tk,2 ) = −D Πn (tk,2 ; z1 ) − z1 (tk,2 ) +

+ O(1) kyk,2 − y2 (tk,2 )k + kΠn (tk,2 ; y1 ) − y1 (tk,2 )k , (4.16)
und

uk − u(tk,2 ) = R2−1 ∂z
∂g

1
Πn (tk,2 ; z1 ) − z1 (tk,2 ) +

+ O(1) kyk,2 − y2 (tk,2 )k + kΠn (tk,2 ; y1 ) − y1 (tk,2 )k . (4.17)
Im Sinne einer kompakteren Notation definieren wir:

51
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

Definition 4.15. Auf dem Gitter G1 wird die Differenz einer diskreten Variablen
und ihrer entsprechenden analytischen Lösung, d. h. der globale Fehler, der Mikro-
schritte tj,1 mit

δyj,1 := yj,1 − y1 (tj,1 ), δzj,1 := zj,1 − z1 (tj,1 )

und der globale Fehler der Extrapolation mit

δy j,2 := Ξn−1 (tj,1 ; y2 ) − y2 (tj,1 ), δuj := Ξn−1 (tj,1 ; u) − u(tj,1 )

bezeichnet. Hingegen seien auf dem Gitter G2 zum Zeitpunkt tk,2 analog

δyk,2 := yk,2 − y2 (tk,2 ), δzk,2 := zk,2 − z2 (tk,2 ) δuk := uk − u(tk,2 )

und der globale Interpolationsfehler

δy k,1 := Πn (tk,2 ; y1 ) − y1 (tk,2 ), δz k,1 := Πn (tk,2 ; z1 ) − u(tk,2 )

definiert.

Bemerkung 4.16. Der Unterschied zu Definition 4.8 besteht darin, dass dort der
globale Fehler nur zu Makrozeitpunkten Tn bestimmt ist, während hier die Defi-
nition für Mikrozeitpunkte tj,1 und tk,2 auf dem aktuellen Makrointervall gelten
soll.

4.4.3 Fehler der Inter- und Extrapolation


In diesem Abschnitt sollen die auftretenden interpolierten bzw. extrapolierten Funk-
tionen näher untersucht werden. Man gehe von folgender Annahme aus:

Annahme 4.17. Die Inter- und Extrapolationspolynome aus Definition 4.7 sollen
qI + 1 bzw. qE + 1 paarweise verschiedene Stützstellen haben, die jedoch nicht
zwangsläufig auf den Gitterpunkten des diskreten Systems liegen müssen.

Da wir uns auf Extra- und Interpolationspolynome beschränkt haben, können die
benötigten Werte an den Stützstellen leicht aus den Werten an den Gitterpunkten
mittels einer Linearkombination berechnet werden, falls eine Stützstelle nicht auf
einem Gitterpunkt liegt. Abbildung 4.2 und das folgende Beispiel verdeutlichen
diesen Sachverhalt.

Beispiel 4.18. Auf dem Gitter G1 mit τ1 = H/4, können die Werte an den äqui-
distant verteilten Interpolationsstützstellen t̂i,1 = t0,1 + (i + 1)H/(qI + 1), mit
i = 0, . . . , qI , für qI = 2 durch folgende Linearkombination angenähert werden:

ŷ0,1 ≈ (2y1,1 + y2,1 )/3, ŷ1,1 ≈ (y2,1 + 2y3,1 )/3, ŷ2,1 = y4,1 .

52
4.4 Beweis des Konvergenzsatzes

G
H
Tn−1 Tn

t̂0,1 t̂1,1 t̂2,1


G1
τ1 τ1 τ1 τ1
t0,1 t1,1 t2,1 t3,1 t4,1

t̂0,2 t̂1,2
G2
τ2 τ2 τ2
t0,2 t1,2 t2,2 t3,2

Abbildung 4.2: Verteilung der Extra- und Interpolationsstützstellen


auf G1 und G2 mit τ1 = H/4, τ2 = H/3, qE = 1 und qI = 2.

Annahme 4.19. Da die algebraischen Variablen i. Allg. nur stückweise stetig sind
(vgl. Bemerkung 4.5), soll für die erste Stützstelle t̂0,i im Makrointervall [Tn−1 , Tn ]
gelten
t̂0,i > Tn−1 + τi , (i = 1, 2).
Auf diese Weise kann verhindert werden, dass die Unstetigkeitsstelle an Tn−1 einen
direkten Einfluss auf die eben dargestellte Linearkombination hat.
Deshalb gilt für die Werte an den Interpolationsstützstellen
K
X K
X
ŷi,2 = d∗s,i ys,2 , ûi = d∗s,i us , (i = 0, . . . , qE ), (4.18)
s=0 s=0

mit geeigneten Koeffizienten d∗s,i . Da die Werte an den Stützstellen der Extrapola-
tion ebenso approximiert werden können, gilt analog
J
X J
X
ŷi,1 = d˜r,i yr,1 , ẑi,1 = d˜r,i zr,1 , (i = 0, . . . , qI ), (4.19)
r=0 r=0

wobei d˜r,i wiederum geeignete Koeffizienten sind. Die interpolierten Funktionen des
ersten Teilsystems können also folgendermaßen umgeformt werden:
qI qI J J
X X X X
Πn (tk,2 ; y1 ) = Li (tk,2 )ŷi,1 = Li (tk,2 ) d˜r,i yr,1 = L̃r (tk,2 )yr,1 , (4.20)
i=0 i=0 r=0 r=0
qI qI J J
X X X X
Πn (tk,2 ; z1 ) = Li (tk,2 )ẑi,1 = Li (tk,2 ) d˜r,i zr,1 = L̃r (tk,2 )zr,1 , (4.21)
i=0 i=0 r=0 r=0

53
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

mit L̃r (tk,2 ) := qi=0 Li (tk,2 )d˜r,i .


PI
Auf gleiche Weise erhält man für die extrapolierten Funktionen
qE qE Kn−1 Kn−1
X X X (n−1)
X (n−1)
Ξn−1 (tj,1 ; y2 ) = Li (tj,1 )ŷi,2 = Li (tj,1 ) d∗s,i ys,2 = L∗s (tj,1 )ys,2 ,
i=0 i=0 s=0 s=0
(4.22)
qE qE Kn−1 Kn−1
X X X X
Ξn−1 (tj,1 ; u) = Li (tj,1 )ûi = Li (tj,1 ) d∗s,i u(n−1)
s = L∗s (tj,1 )u(n−1)
s ,
i=0 i=0 s=0 s=0
(4.23)
PqE
mit L∗s (tj,1 ) := i=0 Li (tj,1 )d∗s,i .
Es ist wichtig anzumerken, dass die Anzahl der von Null verschiedenen Koeffizi-
enten d∗s,i und d˜r,i beschränkt und unabhängig ist von K für K → ∞ bzw. von J
für J → ∞. Anstatt also die Summe von s = 0 bis K bzw. r = 0 bis J laufen zu
lassen, definiert man die Menge der Nicht-Null-Elemente.
Definition 4.20. Sei R die Menge der von Null verschiedenen Indizes bei der
Interpolation, d. h.
R := {r : L̃r (t) 6≡ 0, r = 0, . . . , J}.
Bei der Extrapolation wird diese Menge von Nicht-Null-Elementen mit S bezeichnet,
S := {s : L∗s (t) 6≡ 0, s = 0, . . . , Kn−1 }.
Abhängig davon, mit welchem Verfahren man die Extra- und Interpolationsstütz-
stellen durch die Mikrogitterpunkte annähert, lässt sich eine obere Schranke für die
Mächtigkeit der Indexmengen finden.
Beispiel 4.21. Im Falle des impliziten Euler-Verfahrens werden die Werte an den
Interpolationsstützstellen durch eine Linearkombination der zwei benachbarten Git-
terpunkte angenähert. Deshalb gilt für die Mächtigkeit der beiden Indexmengen
#R 6 2(qI + 1), #S 6 2(qE + 1).
Lemma 4.22. Für den Fehler der inter- bzw. extrapolierten Funktionen gilt mit
Annahme 4.17 und den Abkürzungen von Definition 4.15:
X
δy k,1 = L̃r (tk,2 )δyr,1 + O(H qI +1 ) + O(τ12 ), (4.24)
r∈R
X
δz k,1 = L̃r (tk,2 )δzr,1 + O(H qI +1 ) + O(τ12 ), (4.25)
r∈R
X (n−1)
δy j,2 = L∗s (tj,1 )δys,2 + O(H qE +1 ) + O(τ22 ), (4.26)
s∈S
X
δuj = L∗s (tj,1 )δu(n−1)
s + O(H qE +1 ) + O(τ22 ). (4.27)
s∈S

54
4.4 Beweis des Konvergenzsatzes

Beweis. Die analytische Lösung kann als Linearkombination der Interpolations-


stützstellen und Interpolationspolynome geschrieben werden, wobei hier der Inter-
polationsfehler hinzukommt [DH93]:
qI
X
y1 (tk,2 ) = Li (tk,2 )ŷi,1 + O(H qI +1 ).
i=0

Mit (4.18) erhält man dann – unter Berücksichtigung des Fehlers durch die Line-
arkombination – folgende Gleichung, bei der ebenfalls die Notation der Nicht-Null-
Elemente verwendet wurde:
X
y1 (tk,2 ) = L̃r (tk,2 )yr,1 + O(H qI +1 ) + O(τ12 ). (4.28)
r∈R

Zieht man nun die Gleichungen (4.20) und (4.28) voneinander ab, bekommt man
mit den Abkürzungen von Definition 4.15 die erste Gleichung des Lemmas. Die
zweite folgt, indem für z1 analog vorgegangen wird.
Das gleiche Prinzip kann auch zur Ermittlung des Fehlers der extrapolierten
Funktionen angewandt werden. Der einzige Unterschied zur Interpolation besteht
darin, dass hier eine (eventuell) andere Extrapolationsordnung qE vorliegt und dass
sich die Stützstellen im Intervall (Tn−2 , Tn−1 ] befinden.
Wird die analytische Lösung y2 (tj,1 ) analog zu (4.28) umgeformt,
X (n−1)
y2 (tj,1 ) = L∗s (tj,1 )y2 (ts,2 ) + O(H qE +1 ) + O(τ22 ), (4.29)
s∈S

und von Gleichung (4.22) abgezogen, ist die dritte Gleichung des Lemmas bewiesen.
Um den Extrapolationsfehler der Variable u zu erhalten, braucht man nur analog
zu y2 vorzugehen.

4.4.4 Fehlerabschätzung für y1


Nun soll die Abschätzung für y1 weiter entwickelt werden. Da letztendlich eine
Abschätzung des globalen Fehlers für einen Makro- und nicht nur für einen Mikro-
schritt zu finden ist, benötigt man folgende Definition.

Definition 4.23. Die Ausdrücke

∆y1 ,n := max kδyj,1 k, ∆y2 ,n := max kδyk,2 k, ∆u,n := max kδuk k


j=1,...,Jn k=1,...,Kn k=1,...,Kn

bezeichnen eine obere Schranke des jeweiligen Fehlers.

55
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

Lemma 4.24. Der maximale Fehler der Variablen y1 zu einem Makrozeitpunkt Tn


wird durch die Rekursion

∆y1 ,n 6 (1 + O(H))∆y1 ,n−1 + O(H) (∆y2 ,n−1 + ∆u,n−1 ) +


+ O(H qE +2 ) + O(Hτ22 ) + O(Hτ1 ), (4.30)

bestimmt.

Beweis. Man setzt Gleichung (4.14) in die ursprüngliche Abschätzung (4.10) ein,

kδyj,1 k 6 (1 + O(τ1 ))kδyj−1,1 k + O(τ1 ) kδy j,2 k + kδuj k + O(τ12 ).




Die in dieser Gleichung vorkommenden Extrapolationsfehler dürfen durch die Glei-


chungen (4.26) und (4.27) ersetzt werden:

X (n−1)
kδyj,1 k 6 (1 + O(τ1 ))kδyj−1,1 k + O(τ1 ) k L∗s (tj,1 )δys,2 k+
s∈S
X
L∗s (tj,1 )δu(n−1) k + O(H qE +1 ) + O(τ22 ) + O(τ12 ). (4.31)

+k s
s∈S

Um die Summenterme auf einen Ausdruck zu bringen, der unabhängig von tj,1 ist,
schätzt man mit
L∗s (tj,1 ) 6 max |L∗s (t)| =: L∗s (4.32)
Tn−1 6t6Tn

die Gewichte der Summe ab und erhält dadurch


X (n−1)
kδyj,1 k 6 (1 + O(τ1 ))kδyj−1,1 k + O(τ1 ) L∗s kδys,2 k+
s∈S
X
L∗s kδu(n−1) k + O(H qE +1 ) + O(τ22 ) + O(τ1 ) . (4.33)

+ s
s∈S

Nun ist es möglich, diese Gleichung rekursiv einzusetzen. Die dabei auftretende
Potenz wird mit Hilfe der Bernoulli-Ungleichung zu

(1 + O(τ1 ))j 6 1 + O(jτ1 ) (4.34)

abgeschätzt, die auftretende Summe wird mittels Geometrischer Reihe zu


j−1
X 1 − (1 + O(τ1 ))j (1 + O(τ1 ))j − 1
(1 + O(τ1 ))l = = 6 O(j) (4.35)
l=0
1 − (1 + O(τ1 )) O(τ1 )

56
4.4 Beweis des Konvergenzsatzes

umgewandelt. Somit bekommt man schließlich folgende Relation:


X (n−1)
kδyj,1 k 6 (1 + O(jτ1 ))kδy0,1 k + O(jτ1 ) L∗s kδys,2 k +
s∈S
X
L∗s kδu(n−1) k + O(H qE +1 ) + O(τ22 ) + O(τ1 ) .

+ s
s∈S

Geht man nun zum Maximum über, ergibt sich die gesuchte Abschätzung.

4.4.5 Fehlerabschätzung für y2


Lemma 4.25. Der maximale Fehler der Variablen y2 zu einem Makrozeitpunkt Tn
wird durch die Rekursion

k∆y2 ,n k 6 (1 + O(H))∆y2 ,n−1 + O(H) (∆y1 ,n−1 + ∆u,n−1 ) +


+ O(H qI +2 ) + O(H qE +2 ) + O(Hτ2 ) + O(H 2 τ1 ), (4.36)
bestimmt.
Beweis. Um zu einer Abschätzung für y2 zu gelangen, muss zuerst Gleichung (4.16)
in (4.11) eingesetzt werden:
kδyk,2 k 6 (1 + O(τ2 ))kδyk−1,2 k + O(τ2 ) kδy k,1 k + kδz k,1 k + O(τ22 ).

(4.37)
Im Grunde folgt diese Abschätzung dem selben Prinzip wie die Abschätzung von y1 :
Zunächst werden die Gleichungen (4.24) und (4.25) anstelle der Interpolationsfehler
eingesetzt und das Ergebnis mit
L̃r (tk,2 ) 6 max |L̃r (t)| =: L̃r (4.38)
Tn−1 6t6Tn

auf die Form


X
kδyk,2 k 6 (1 + O(τ2 ))kδyk−1,2 k + O(τ2 ) L̃r kδyr,1 k +
r∈R
X
L̃r kδzr,1 k + O(H qI +1 ) + O(τ12 ) + O(τ2 ) (4.39)

+
r∈R

gebracht. Man sieht sich mit dem Problem konfrontiert, dass der Term δzr,1 geeignet
abgeschätzt werden muss. Dies erreicht man, indem man nochmals Gleichung (4.14)
betrachtet und dort die Extrapolationen durch (4.27) und (4.26) ersetzt:
 −1
∂h1 ∂h1 X ∗
δzr,1 = − L (tr,1 )δu(n−1) +
∂z1 ∂u s∈S s s

X (n−1) 
+ O(1) kδyr,1 k + k L∗s (tr,1 )δys,2 k + O(H qE +1 ) + O(τ22 ). (4.40)
s∈S

57
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

Wird diese Gleichung in (4.39) eingesetzt und die Gewichte nach oben mit (4.32)
und (4.38) abgeschätzt, dann kommt man auf die Ungleichung
X X X
kδyk,2 k 6 (1 + O(τ2 ))kδyk−1,2 k + O(τ2 ) L̃r kδyr,1 k + L̃r L∗s kδu(n−1)
s k+
r∈R r∈R s∈S
X X (n−1)
L∗s kδys,2 k + O(H qI +1 ) + O(H qE +1 ) + O(τ12 ) + O(τ2 ) .

+ L̃r
r∈R s∈S

Jetzt ist es möglich, eine Rekursion zu bilden, wobei die rekursionsbedingten Fak-
toren mit Hilfe von (4.34) und (4.35) abgeschätzt werden:
X X X
kδyk,2 k 6 (1 + O(kτ2 ))kδy0,2 k + O(kτ2 ) L̃r kδyr,1 k + L̃r L∗s kδu(n−1)
s k+
r∈R r∈R s∈S
X X (n−1)
L∗s kδys,2 k + O(H qI +1 ) + O(H qE +1 ) + O(τ12 ) + O(τ2 ) .

+ L̃r
r∈R s∈S

Wenn man nun zum Maximum übergeht, kann die obige Ungleichung zu

k∆y2 ,n k 6 (1 + O(H))∆y2 ,n−1 + O(H) (∆y1 ,n + ∆u,n−1 ) +


+ O(H qI +2 ) + O(H qE +2 ) + O(Hτ12 ) + O(Hτ2 )
vereinfacht werden. Abschließend muss nur noch Abschätzung (4.30) für y1 aus
Lemma 4.24 eingesetzt werden und man erhält die gesuchte Abschätzung für y2 .

4.4.6 Fehlerabschätzung für u


Nun kann die Fehlerrekursion der algebraischen Variablen u angegeben werden:
Lemma 4.26. Der maximale Fehler der Variablen u zu einem Makrozeitpunkt Tn
wird durch die Rekursion

αn + O(H)) ∆u,n−1 + O(1) (∆y1 ,n−1 + ∆y2 ,n−1 ) +


∆u,n 6 (e
+ O(H qI +1 ) + O(H qE +1 ) + O(Hτ1 ) + O(Hτ2 ), (4.41)

L∗s bestimmt.
P P
mit α
en := α r∈R L̃r s∈S

Beweis. Werden die Interpolationsterme in (4.17) durch (4.25) und (4.24) ersetzt,
dann ergibt sich

∂g X X
δuk = R2−1

L̃r (tr,1 )δzr,1 + O(1) k L̃r (tr,1 )δyr,1 k + kδyk,2 k +
∂z1 r∈R r∈R

+ O(H qI +1 ) + O(Hτ12 ). (4.42)

58
4.4 Beweis des Konvergenzsatzes

Nun kann (4.40) eingefügt werden,

X X X
δuk = −R2−1 R1 L̃r (tk,2 ) L∗s (tr,1 )δu(n−1)
s + O(1) k L̃r (tr,1 )δyr,1 k +
r∈R s∈S r∈R
X (n−1)
L∗s (tr,1 )δys,2 k + kδyk,2 k + O(H qI +1 ) + O(H qE +1 ) + O(Hτ12 ) + O(Hτ22 ).

+k
s∈S
(4.43)

Durch den Übergang zum Maximum gelangt man zu der Ungleichung

en ∆u,n−1 + O(1) (∆y1 ,n + ∆y2 ,n + ∆y2 ,n−1 ) +


∆u,n 6 α
+ O(H qI +1 ) + O(H qE +1 ) + O(Hτ12 ) + O(Hτ22 ), (4.44)

en := α r∈R L̃r s∈S L∗s . Um die Fehlerrekursion von u zu erhalten, werden


P P
mit α
die Abschätzungen von y1 (4.30) und y2 (4.36) in (4.44) eingesetzt.

4.4.7 Schlussfolgerungen
Die beiden Ungleichungen (4.30) und (4.36) können zusammengefasst werden:

∆y,n 6 (1+O(H))∆y,n−1 +O(H)∆u,n−1 +O(H qI +2 )+O(H qE +2 )+O(Hτ1 )+O(Hτ2 ).

Mit dieser und der Abschätzung (4.41) kann man für alle (n = 1, . . . , N ) die Ergeb-
nisse in Matrixschreibweise festhalten (es sei ∆y,0 := 0 und ∆u,0 := 0 zu setzen):
        
∆ 1 + O(H) O(H) ∆ H 1
 y,n  6    y,n−1  +   M1 +   Mn,2 , (4.45)
∆u,n O(1) e + O(H) ∆u,n−1
α 1 1

mit αe := max0<i6n αei , sowie den Interpolationsfehlern M1 := O(H qI +1 )+O(H qE +1 )


und den Diskretisierungsfehlern Mn,2 := O(Hτn,1 )+O(Hτn,2 ). Eine gekoppelte Feh-
lerrekursion dieser Art kommt schon bei der Konvergenzanalyse von Einschrittver-
fahren für Index-1 Systeme vor (siehe [DHZ87] und [HW96, Lemma VI.3.9]).

Lemma 4.27. Die Matrix in (4.45) besitzt die beiden Eigenwerte λ1 = 1 + O(H)
e + O(H). Wenn α
und λ2 = α e < 1 gilt und H > 0 ausreichend klein ist, dann kann
diese Matrix diagonalisiert werden,
   
1 + O(H) O(H) λ 0
  = Q−1  1  Q,
O(1) e + O(H)
α 0 λ2

59
4 Verteilte Integration gekoppelter differentiell-algebraischer Systeme

die zugehörige Transformationsmatrix hat die Gestalt


 
1 O(H)
Q= .
O(1) 1

Beweis. Nach Berechnung der Eigenwerte und Eigenvektoren folgt mit α e < 1 offen-
sichtlich λ1 6= λ2 . Die Matrix hat zwei reelle Eigenwerte und kann daher diagonali-
siert werden.

In (4.45) eingesetzt erhält man somit

         
n n−1 i
∆ λ 0 ∆ λ1 0 H
 y,n  6 Q−1  1  Q  y,0  + M1
X
Q−1  Q  +
∆u,n 0 λn2 ∆u,0 i=0 0 λi2 1
   
n−1 i
X λ1 0 1
Q−1 

+ max O(Hτi,1 ) + O(Hτi,2 )  Q   . (4.46)
06i<n
i=0 0 λi2 1

Ausmultiplizieren und Zusammenfassen [Arn90] ermöglicht die Addition beider


Komponenten. Es folgt schließlich der Ausdruck

∆y,n + ∆u,n 6 C ∗ H qI +1 + H qE +1 + max (τi,1 + τi,2 ) ,



(4.47)
0<i6n

mit einer von n und H unabhängigen Konstanten C ∗ .


Es ist mit dieser Abschätzung möglich, induktiv die Annahme 4.13 zu zeigen.

Beweis von (4.9). Der Induktionsanfang lautet mit (4.47)

ky,1 k + kz,1 k 6 ∆y,1 + ∆u,1 6 C ∗ H qI +1 + H qE +1 + τ1,1 + τ1,2 .




Man sieht, dass der rechte Ausdruck obiger Ungleichung kleiner gleich O(H) und
damit kleiner γ0 ist, für alle H ∈ (0, H0 ] wenn H0 hinreichend klein ist. Der Induk-
tionsanfang ist somit gezeigt. Induktionsschluss: Aus

ky,i k + kz,i k < γ0 , (i = 0, 1, . . . , n − 1)

folgt mit (4.47) und H0 genügend klein

ky,n k + kz,n k 6 ∆y,n + ∆u,n 6 C ∗ H qI +1 + H qE +1 + max (τi,1 + τi,2 ) < γ0 .



0<i6n

Nach dem Prinzip der vollständigen Induktion folgt deshalb (4.9).

60
4.5 Erweiterungen

4.5 Erweiterungen
In dieser Arbeit wurden einige restriktive Annahmen gemacht, einerseits um die No-
tation kompakt zu halten, andererseits um den Rahmen einer Diplomarbeit nicht zu
sprengen. Es bleibt z. B. offen, den Beweis formal auf m > 2 Teilsysteme auszuwei-
ten. Des Weiteren wurde hier nicht untersucht, wie die Konvergenz ausfällt, wenn
als Integrator in der verteilten Integration ein allgemeines Einschritt-Verfahren an-
statt des impliziten Euler-Verfahrens eingesetzt wird.
Ebenso bleibt der Beweis zu erbringen, dass verteilte Mehrschritt-Verfahren für
gekoppelte DAEs konvergieren. Die numerischen Ergebnisse aus Kapitel 5, die mit
einem NDF-Verfahren gerechnet wurden, lassen jedoch vermuten, dass sich qualita-
tiv an der Konvergenzaussage wenig ändert.

61
5 Numerische Ergebnisse
Die theoretischen Untersuchungen in Kapitel 4 sollen nun durch numerische Ex-
perimente gestützt werden. Als Benchmarkproblem aller folgenden numerischen
Ergebnisse wurde ein mathematisches Doppelpendel gewählt, das in Matlab mit
einer Implementierung von Algorithmus 4.1 verteilt integriert wurde.

5.1 Benchmarkproblem: Mathematisches


Doppelpendel
Wie eben erwähnt, wird als Benchmarkproblem ein
mathematisches Doppelpendel verwendet. Das Pendel ζ
ist ein sehr einfaches, aber dennoch charakteristisches η
Beispiel und wurde auch schon in anderen Monogra-
phien zu Testzwecken genutzt, zum Beispiel in [HW96] ϕ
oder [EFY95]. l
Die Bewegungsgleichungen für ein Doppelpendel
lassen sich leicht mit Hilfe des Euler-Lagrange- m1
Formalismus [HW96, Abschnitt VII.1] ermitteln. In a
diesem Beispielproblem wird das obere Pendel in Re- l
lativkoordinaten mit Auslenkungswinkel ϕ formuliert.
Dagegen werden zur Beschreibung des unteren Pen- (η, ζ)
dels Absolutkoordinaten (x2 , y2 ) verwendet (vgl. ne- m2
benstehende Abbildung).
Durch den Euler-Lagrange-Formalismus ergebens sich damit für die beiden Mas-
senpunkte m1 und m2 , die Fallbeschleunigung a und die Pendellänge l die Bewe-
gungsgleichungen

m1 l2 ϕ00 = −m1 al sin ϕ + 2lλ(x2 cos ϕ + y2 sin ϕ), (5.1a)


m2 x002 = −2λ(x2 − l sin ϕ), (5.1b)
m2 y200 = −2λ(y2 + l cos ϕ) − m2 a, (5.1c)
0 = (x2 − l sin ϕ)2 + (y2 + l cos ϕ)2 − l2 . (5.1d)

63
5 Numerische Ergebnisse

Dieses Index-3-System kann wie die Bewegungsgleichungen eines jeden mechani-


schen MKS in die allgemeine Form
Mi (qi )qi00 = ψi (q, q 0 ) − GTi (q)λ, (i = 1, . . . , 2),
(5.2)
0 = γ(q),
mit q = (q1 , q2 )T und Gi (q) = ∂γ(q)/∂qi , gebracht werden. Die Positionskoordinaten
des i-ten Teilsystems sind dann in der Variable qi zusammengefasst. Damit gilt also
für das Doppelpendel q1 := ϕ und q2 := (x2 , y2 )T . Für (5.1) ergibt sich
 
m2 0
M1 = m 1 l 2 , M2 =  , (5.3a)
0 m2
 
2(x2 − l sin ϕ)
G1 = −2l(x2 cos ϕ + y2 sin ϕ), GT2 =  , (5.3b)
2(y2 + l cos ϕ)
 
0
ψ1 = −m1 al sin ϕ, ψ2 =  , (5.3c)
−m2 a
sowie die Zwangsbedingung
γ = (x2 − l sin ϕ)2 + (y2 + l cos ϕ)2 − l2 . (5.3d)
Die Bewegungsgleichungen (5.2) können durch Indexreduktion auf ein analytisch
äquivalentes Index-1-System der Form (4.1) gebracht werden (vgl. Abschnitt 2.1.3).
Im betrachteten Benchmarkproblem ist es nötig, den Index zu reduzieren, denn die
Konvergenztheorie in Kapitel 4 wurde auf Index-1-Systeme beschränkt. Langfris-
tig wird jedoch versucht werden, verteilte Zeitintegrationen auch für Index-2- und
Index-3-Systeme zu ermöglichen.
Um allgemein von (5.2) auf die Form (4.1) zu kommen, differenziert man zunächst
die Zwangsbedingung γ(q) = 0 zweimal nach der Zeit. Daraus folgen dann mit den
Geschwindigkeiten vi := qi0 , den Beschleunigungen ai := vi0 = qi00 , den differentiellen
Variablen yi := (qi , vi )T und den algebraischen Variablen zi := ai , u := λ die
Funktionen
 
vi
fi :=   , (i = 1, 2), (5.4a)
ai

hi :=Mi (qi )ai − ψ(q, v) + GTi (q)λ, (i = 1, 2), (5.4b)


2
X
g := Gi (q)ai + γqq (v, v). (5.4c)
i=1

64
5.1 Benchmarkproblem: Mathematisches Doppelpendel
Fehler in Positionszwangsbed.

0.04
konstante EP/IP
lineare EP/IP
0.03 quadratische EP/IP

0.02

0.01

0 0.1 0.2 0.3 0.4 0.5


t[s]

Abbildung 5.1: Drift-Off der Lösung bei Makroschrittweite H = 10−2 .

Werden diese in (4.1) eingesetzt, dann ergibt sich das gewünschte Index-1-System.
Um die Bewegungsgleichungen des Doppelpendels (5.1) in die Form (4.1) zu
bringen, setzt man q1 := ϕ, q2 := (x2 , y2 )T , v1 := ϕ0 und v2 := (x02 , y20 )T sowie
a1 := ϕ00 und a2 := (x002 , y200 )T zusammen mit (5.3) in die Funktionen (5.4) ein.
Durch Ausrechnen und Zusammenfassen erhält man für (5.4c)

2
g := x02 − ϕ0 l cos(ϕ) + x002 + ϕ02 l sin(ϕ) − ϕ00 l cos(ϕ) x2 − l sin(ϕ) +
 

2
+ y20 − ϕ0 l sin(ϕ) + y200 − ϕ02 l cos(ϕ) − ϕ00 l sin(ϕ) y2 + l cos(ϕ) .
 

Bemerkung 5.1. In dieser Formulierung ist das Doppelpendel nicht stabilisiert,


d. h. die numerische Lösung verletzt zunehmend die Zwangsbedingung γ(q) = 0 (vgl.
Abschnitt 2.1.4). Um dies zu veranschaulichen, wurde in Abbildung 5.1 für eine
Testrechnung mit tol = 10−6 und Makroschrittweite H = 10−2 der Betrag des Feh-
lers in der Zwangsbedingung auf Positionsebene (5.1d) gegen die Zeit aufgetragen.
Der erwartete quadratische Fehlerzuwachs – das ursprüngliche Index-3-System (5.1)
wurde durch Indexreduktion auf den Index 1 gebracht – ist für konstante Extra-
und Interpolation erkennbar. Höhere Extra- und Interpolations-Ordnungen ergeben
sichtlich eine flachere Fehlerkurve.
Für die Rechnung in Abbildung 5.2 wurde die Makroschrittweite um den Faktor
10 auf H = 10−3 gesenkt. Man erkennt leicht, dass der Drift zwar immer noch
quadratisch anwächst (im Fall konstanter Extra- und Interpolation), allerdings die
Größenordnung des Fehlers ebenfalls um den Faktor 10 gesenkt wurde.

65
5 Numerische Ergebnisse

−3
x 10
Fehler in Positionszwangsbed.
4
konstante EP/IP
lineare EP/IP
3 quadratische EP/IP

0 0.1 0.2 0.3 0.4 0.5


t[s]

Abbildung 5.2: Drift-Off der Lösung bei Makroschrittweite H = 10−3 .

5.2 Anmerkungen zur Integration des


Benchmarkproblems
Für folgende Berechnungen des Systems (5.1) in der Index-1-Formulierung (4.1)
wurden als Anfangswerte gewählt: Das obere Pendel ist um den Winkel ϕ0 = 30◦
ausgelenkt, wogegen das untere Pendel senkrecht daran herunter hängt. Die Länge
der Pendel wurde willkürlich auf l = 20 gesetzt. Beide Pendel werden zum Zeit-
punkt T0 = 0 aus dieser Lage ohne Anfangsgeschwindigkeit losgelassen und bis
zum jeweiligen Endzeitpunkt TN integriert.
Alle Beispiele dieses Kapitels wurden mit einer in Matlab realisierten Implemen-
tierung des Algorithmus 4.1 berechnet. Es ist jedoch zu beachten, dass bei dieser
Implementierung der eingesetzte Integrator nicht auf ein implizites Euler-Verfahren
beschränkt wurde, sondern ode15s zur Lösung der Teilsysteme zur Verfügung steht.
In einigen numerischen Tests wurde jedoch durch die Option MaxOrder der Integra-
tor ode15s auf Ordnung k = 1, d. h. auf das implizite Euler-Verfahren, beschränkt
(vgl. Bemerkung 2.13). Wenn dies der Fall ist, wird entsprechend darauf hingewie-
sen.
Ein weiterer Unterschied der Implementierung im Vergleich zu Algorithmus 4.1
ist, dass in dieser Implementierung nur die Makroschritte – die jeweiligen Synchroni-
sationspunkte – äquidistant vorgegeben werden. Die Mikroschrittweiten innerhalb
eines Makroschrittes werden durch die Schrittweitensteuerung von ode15s adaptiv
gewählt. Numerische Experimente haben ergeben, dass in den folgenden Beispielen
maximal 15 bis 20 Mikroschritte pro Makroschritt erforderlich waren.
Die relativen (rtol) und absoluten (atol) Toleranzen aller Komponenten werden
durch rtol=atol=tol festgelegt, wobei tol eine vom Anwender vorzugebende
Größe ist.

66
5.3 Einfluss der Integrationsreihenfolge auf die Konvergenz

Als Referenzsystem zur verteilten Integration wurde (5.4) „klassisch“ als gekop-
peltes Gesamtsystem von ode15s mit adaptiver Schrittweitenwahl und Toleranz
tol = 10−12 integriert. Zum Vergleich mit der verteilten Integration kann man
sich den Lösungsvektor an allen Synchronisationspunkten durch die kontinuierliche
Darstellung der Lösung von ode15s ausgeben lassen.

5.3 Einfluss der Integrationsreihenfolge auf die


Konvergenz
Die Integrationsreihenfolge, d. h. die Entscheidung, welches Teilsystem als erstes
integriert wird, hat einen großen Einfluss auf die Konvergenz des Verfahrens. Es
macht daher einen erheblichen Unterschied, welchen Bewegungsgleichungen der In-
dex i = 1 in (5.4) zugeordnet wird – denen des oberen oder denen des unteren
Pendels. Schon aus der Definition der Kontraktivitätskonstante

α := max α(t) := max [(G2 M2−1 GT2 )−1 (G1 M1−1 GT1 )](q(t))

(4.6)
t∈[0,TN ] t∈[0,TN ]

ist ersichtlich, dass die Größe α stark von der Verteilung der beiden Pendelmassen
abhängt. Aus physikalischer Intuition mag es offensichtlich erscheinen, dass α klein
wird, wenn das Teilsystem mit der größeren Masse zuerst integriert wird. Schließ-
lich hat diese Bewegung einen wesentlich größeren Einfluss auf die Bewegung des
anderen Teilsystems als umgekehrt und sollte daher vorrangig bestimmt werden.
Diese Überlegungen kann man sich gut am Beispiel eines Doppelpendels vorstel-
len. Jedoch wird später ersichtlich werden, dass noch weitere Faktoren Einfluss auf
die Größe von α haben. Daher ist es möglich, dass α auch dann sehr große Werte
annimmt, wenn das Teilsystem mit der größeren Masse zuerst integriert wird.
Bemerkung 5.2. Da der verfahrensabhängige Faktor in α e (vgl. Abschnitt 4.3) nur
sehr schwer angegeben werden kann, wird im Folgenden nur die Kontraktivitätskon-
stante α der verteilten analytischen Integration betrachtet.
Wählt man für das Doppelpendel (5.1) das obere Pendel als Teilsystem 1, dann
ergibt sich mit (5.3) die Kontraktivitätskonstante
m2
αo (t) = 2
(x2 (t) cos ϕ(t) + y2 (t) sin ϕ(t))2 .
l m 1

Der Index „o“ kann als Hinweis für diese Wahl angesehen werden. Dementsprechend
hat α den Index „u“ bei umgekehrter Integrationsreihenfolge.
Zu Beginn der Simulation errechnet man für die Startauslenkung ϕ0 = 30◦ aus
den Anfangswerten mit x2 (T0 ) = l sin ϕ0 und y2 (T0 ) = −l cos ϕ0 − l den Wert
m2 m2
αo (T0 ) = 2
(l sin ϕ0 cos ϕ0 − l(cos ϕ0 + 1) sin ϕ0 )2 = .
l m 1 4m1

67
5 Numerische Ergebnisse

Für ein Doppelpendel mit Massen m1 = 3 und m2 = 15 erwartet man wegen


αo (T0 ) = 5/4 > 1 Divergenz. Nun liegt die Idee nahe, die Kontraktivitätskonstante
minimal zu halten, indem man die Integrationsreihenfolge so wählt, dass das Pendel
mit der größeren Masse zum Teilsystem 1 gewählt wird. Wird daher in diesem
Beispiel das untere schwerere Pendel mit m2 = 15 als erstes integriert, dann ergibt
sich aus
αu (t) = αo (t)−1
der Wert αu (T0 ) = 4/5 < 1.
Das Verfahren ist zunächst wie erwartet konvergent, jedoch wird es nach sehr
kurzer Zeit divergent. Der Grund hierfür liegt darin, dass bei den gegebenen An-
fangswerten sowohl ϕ als auch x2 und y2 zu Beginn der Simulation monoton fallend
sind, d. h. αo (t) fällt auch monoton für kleine TN (Abbildung 5.3). Das wiederum
bedeutet, dass αu (t) monoton wächst und nach kurzer Integrationszeit größer als
eins wird. Es ist also nicht möglich, allein durch eine andere Integrationsreihenfol-
ge, eine Massenverteilung m2  m1 über eine längere Integrationsdauer stabil mit
einer verteilten Zeitintegration zu integrieren.
Die numerischen Tests bestätigen diese Überlegungen. In Abbildung 5.4 wurde
das obere Pendel als Teilsystem 1 gewählt und das Doppelpendel verteilt integriert
(tol = 10−6 ). Man erkennt, dass praktisch unmittelbar nach Simulationsbeginn der
relative Fehler in λ exponentiell ansteigt und die Integration schließlich abbricht.
Eine Halbierung der Makroschrittweite H bringt keine Besserung, sie verschlechtert
im Gegenteil die Lage.
Kehrt man die Integrationsreihenfolge um und wählt das untere Pendel als Teilsys-
tem 1, so ergibt sich der Simulationsverlauf von Abbildung 5.5. Zu Beginn zeichnet
sich eine stabile verteilte Integration ab. Doch kurz nachdem αu (t) größer als eins
wird (vgl. Abbildung 5.3), steigt auch hier der relative Fehler in λ exponentiell an.
Kleinere Schrittweiten liefern im konvergenten Bereich wie erwartet kleinere Fehler,
beschleunigen jedoch wie im oberen Fall die Divergenz sobald man in den instabilen
Bereich kommt.

5.4 Einfluss der Makroschrittweite und der


Interpolationsordnung
In diesem Abschnitt soll der Einfluss der Makroschrittweite H und der verwendeten
Extra- und Interpolationsordnung auf den relativen Fehler der verteilten Zeitinte-
gration untersucht werden. Dazu wurde exemplarisch das Doppelpendel (5.1) mit
Massen m1 = 15 und m2 = 3 bis zum Endzeitpunkt TN = 0.5 integriert. Wenn das
obere Pendel als Teilsystem 1 gewählt wird, ist auf diesem Intervall αo (t) monoton
fallend und es gilt α = αo (T0 ) = 0.04. Die Konvergenzbedingung α < 1 ist auf
diesem Intervall erfüllt.

68
5.4 Einfluss der Makroschrittweite und der Interpolationsordnung

2.5
Kontraktivitätskonstante α

αo(t)
2 αu(t)

1.5

0.5

0
0 0.1 0.2 0.3 0.4 0.5 0.6
t[s]

Abbildung 5.3: Verlauf der Kontraktivitätskonstanten αo (t) und αu (t).

6
10
relativer Fehler in λ

3
10

0
10

−3
10 H=1e−3
H=5e−4
−6
10
0 0.1 0.2 0.3 0.4 0.5 0.6
t [s]

Abbildung 5.4: Das obere Pendel wurde als Teilsystem 1 gewählt.

6
10
relativer Fehler in λ

3
10

0
10

−3
10 H=1e−3
H=5e−4
−6
10
0 0.1 0.2 0.3 0.4 0.5 0.6
t [s]

Abbildung 5.5: Das untere Pendel wurde als Teilsystem 1 gewählt.

69
5 Numerische Ergebnisse

0 0
10 10
konstante EP/IP konstante EP/IP
lineare EP/IP lineare EP/IP
−2 −2
quadratische EP/IP quadratische EP/IP
relativer Fehler

relativer Fehler
10 10

−4 −4
10 10

−6 −6
10 10

−4 −3 −2 −1 −4 −3 −2 −1
10 10 10 10 10 10 10 10
Makroschrittweite H Makroschrittweite H
(a) tol=1e-4, MaxOrder=5 (b) tol=1e-4, MaxOrder=1
0 0
10 10
konstante EP/IP konstante EP/IP
lineare EP/IP lineare EP/IP
−2 −2
quadratische EP/IP quadratische EP/IP
relativer Fehler

relativer Fehler

10 10

−4 −4
10 10

−6 −6
10 10

−4 −3 −2 −1 −4 −3 −2 −1
10 10 10 10 10 10 10 10
Makroschrittweite H Makroschrittweite H
(c) tol=1e-6, MaxOrder=5 (d) tol=1e-6, MaxOrder=1
0 0
10 10
konstante EP/IP konstante EP/IP
lineare EP/IP lineare EP/IP
−2 −2
quadratische EP/IP quadratische EP/IP
relativer Fehler

relativer Fehler

10 10

−4 −4
10 10

−6 −6
10 10

−4 −3 −2 −1 −4 −3 −2 −1
10 10 10 10 10 10 10 10
Makroschrittweite H Makroschrittweite H
(e) tol=1e-8, MaxOrder=5 (f) tol=1e-8, MaxOrder=1

Abbildung 5.6: Abhängigkeit des relativen Fehlers der verteilten Zeitintegration


von Makroschrittweite und Interpolationsordnung.

70
5.4 Einfluss der Makroschrittweite und der Interpolationsordnung

0
10
konstante EP/IP
lineare EP/IP
−2
10 quadratische EP/IP
relativer Fehler

kubische EP/IP
−4
quartische EP/IP
10

−6
10

−8
10
−3 −2 −1
10 10 10
Makroschrittweite H

Abbildung 5.7: Ausschnitt aus Abbildung 5.6(e) mit zusätzlichen


Extra- und Interpolationsordnungen.

In den Abbildungen 5.6 wurde der relative Fehler in (y, z, u)T (vgl. (5.4)) ge-
gen die Makroschrittweite H in doppelt logarithmischer Skala aufgetragen. Um die
Graphen übersichtlich zu halten, wurden nur die Fälle konstanter, linearer und qua-
dratischer Extra- und Interpolation (EP/IP) mit qE = qI =: q zur Approximation
der externen Variablen untersucht. Da die EP/IP-Ordnung in beiden Teilsystemen
gleich ist, gilt für die Stützstellen
(i + 1)H
t̂i,1 = t̂i,2 =: t̂i = t0,1 + , (i = 0, . . . , q).
q+1
Wie in Abschnitt 5.2 angemerkt wurde, kann die Ordnung des Integrators ode15s
beschränkt werden. In den linken Abbildungen 5.6 wurde die Ordnung k nicht
beschränkt. Daher kann sie den maximalen Wert k = 5 erreichen. Dagegen wurde
für die Ergebnisse der rechten Abbildungen die Ordnung auf k = 1 beschränkt und
damit beide Teilsysteme mit dem impliziten Euler-Verfahren integriert.
In allen Abbildungen 5.6(a)-(f) ist deutlich sichtbar, dass für konstante Extra-
und Interpolation der relative Fehler hauptsächlich durch die Makroschrittweite
bestimmt wird: Eine Halbierung der Makroschrittweite halbiert den Fehler. Dieses
Verhalten steht im Einklang zu der Fehlerschätzung (4.8), die für konstante EP/IP
den globalen Fehler mit O(H) abschätzt. Bei dieser Größenordnung ist es deshalb
bedeutungslos, mit welcher Ordnung k die Teilsysteme integriert werden.
Die Auswirkungen höherer EP/IP-Ordnungen sind am besten in Abbildung 5.6(e)
erkennbar, da hier der Einfluss des Diskretisierungsfehlers im Vergleich zu den
EP/IP-Fehlertermen durch die hohe Ordnung des Verfahrens und die niedrige To-
leranz (tol = 10−8 ) für große H vernachlässigbar ist. Am rechten Rand dieser
Abbildung sind die verschiedenen Ordnungen der EP/IP durch die doppelt loga-
rithmische Skalierung als Geraden mit entsprechender Steigung sichtbar.

71
5 Numerische Ergebnisse

Wird die Makroschrittweite weiter verringert, steigt ab einer gewissen Schrittwei-


te der Fehler aller Kurven mit Ordnungen qE = qI > 1 an, um schließlich gemeinsam
in konstantem Abstand zur Fehlerkurve der konstanten EP/IP zu verlaufen. Die-
ses Verhalten wird besonders in Abbildung 5.7 deutlich, die einen Ausschnitt aus
Abbildung 5.6(e) mit zusätzlichen Extra- und Interpolationsordnungen zeigt.
Qualitativ ist dieses Kurvenverhalten auch in Abbildung 5.6(a) und 5.6(c) er-
kennbar. Durch die höheren Toleranzen ist die Schranke, ab der die Fehlerkurve
höherer EP/IP-Ordnungen ansteigt und dann parallel zur Kurve der konstanten
EP/IP verläuft, jedoch nach oben versetzt. Folglich tritt dieser Effekt schon bei
größeren Schrittweiten H auf.
Die Beispiele, bei denen die Teilsysteme mit Ordnung k = 1 integriert wurden
(vgl. Abbildungen 5.6(b), (d) und (f)), zeigen für höhere EP/IP-Ordnungen ein qua-
si konstantes Fehlerniveau, an welches sich die Kurven annähern, bevor sie parallel
zur Kurve der konstanten EP/IP verlaufen.

Bemerkung 5.3. Es bleibt zukünftigen Untersuchungen überlassen, inwieweit der


Drift-Off-Effekt (vgl. Abschnitt 5.1) einen Einfluss auf den qualitativen Verlauf der
Fehlerkurven hat.

5.5 Konvergenzbedingung bei Stützstellen aus


mehreren Makrointervallen
In allen bisherigen Überlegungen und Berechnungen wurde davon ausgegangen, dass
die Stützstellen der Extra- und Interpolation innerhalb eines Makrointervalls liegen.
Arnold [Arn00] zeigt, dass Stützstellen aus mehreren zurückliegenden Makrointer-
vallen die Konvergenzbedingung noch weiter verschärfen. Um Konvergenz garantie-
ren zu können, muss α < 1/r gelten, wenn die Stützstellen auf r Makrointervalle
verteilt sind.
Diesen Sachverhalt verdeutlicht ein numerisches Experiment, indem wir zwei Fäl-
le untersuchen: Einmal liegen für einen Makroschritt Tn−1 7→ Tn die zwei Stützstel-
len einer linearen Extrapolation in einem Makrointervall, t̂0 = Tn−2 + H/15 und
t̂1 = Tn−1 . Im zweiten Fall sind sie auf zwei zurückliegenden Makrointervallen ver-
teilt, t̂0 = Tn−2 und t̂1 = Tn−1 . Die Interpolation wurde analog realisiert. Obwohl
t̂0 in beiden Fällen sehr nahe beieinander liegt, unterscheiden sich die Simulations-
ergebnisse doch gravierend.
Eine Testrechnung erfolgte mit den Massen m1 = 1 und m2 = 3, Integrationsende
TN = 1 und Toleranz tol = 10−6 . Da auch hier das obere Pendel als Teilsystem 1
gewählt wurde, gilt für dieses Integrationsintervall α = αo (T0 ) = 3/4. Für den Fall,
dass die Stützstellen in einem Makrointervall liegen, ist die Konvergenzbedingung
erfüllt. Wenn dem nicht so sein sollte, so lautet diese Bedingung nach Arnold [Arn00]
α < 1/2. In diesem Fall erwartet man eine instabile Integration.

72
5.6 Kopplung mittels steifer Feder

2 2
10 10
konstante EP/IP
0
10 lineare EP/IP 0
10
relativer Fehler

relativer Fehler
−2 −2
10 10

−4 −4
10 10
konstante EP/IP
lineare EP/IP
−4 −3 −2 −1 −4 −3 −2 −1
10 10 10 10 10 10 10 10
Makroschrittweite H Makroschrittweite H
(a) Stützstellen aus 1 Makrointervall. (b) Stützstellen aus 2 Makrointervallen.

Abbildung 5.8: Schlechteres Konvergenzverhalten bei Stützstellen aus


mehreren Makrointervallen.

Abbildung 5.8 zeigt die Ergebnisse dieser Testrechnung. Für lineare EP/IP er-
kennt man, dass das Verfahren nicht konvergiert, wenn die Stützstellen auf zwei
Makrointervalle verteilt sind, vgl. Abbildung 5.8(b).

5.6 Kopplung mittels steifer Feder


Abschließend soll zum Vergleich zu den oben bespro-
chenen gekoppelten differentiell-algebraischen Syste- ζ
men ein Beispiel mit gekoppelten gewöhnlichen Dif- η
ferentialgleichungen betrachtet werden. Zu diesem
Zweck wird ein mathematisches Federdopppelpendel ϕ
verteilt integriert. l
Im Unterschied zu dem Doppelpendel (5.1) hängt
der untere Massenpunkt nicht an einem starren Stab, m1
sondern an einer steifen Feder. Erfolgt die Modellie- a
rung des oberen Pendels erneut in Relativkoordinaten, l0 = l
so hat dies zur Folge, dass sich das System aus zwei
gekoppelten ODEs zweiter Ordnung zusammensetzt.
An den Synchronisationspunkten Tn müssen dann le- (η, ζ)
diglich die Positionskoordinaten der jeweiligen Teilsys- m 2

teme ausgetauscht werden.


Für den Fall einer hinreichend kleinen Makroschrittweite H erwartet man, dass
das Verfahren konvergiert. Abbildung 5.9 stellt das Ergebnis einer beispielhaften
Simulation mit den Massen m1 = 15 und m2 = 3, dem Integrationsende TN = 1,

73
5 Numerische Ergebnisse

4 konstante EP/IP
10 lineare EP/IP
quadratische EP/IP
2
10
relativer Fehler

0
10

−2
10

−4
10
−4 −3 −2 −1
10 10 10 10
Makroschrittweite H

Abbildung 5.9: Kopplung mittels steifer Feder.

der Toleranz tol = 10−8 und der Federsteifigkeit kfeder = 106 anschaulich dar.

74
6 Zusammenfassung
Um bei der Computersimulation eines komplexen technischen Prozesses die erforder-
lichen Modellgleichungen zu erhalten, geht man meist den Weg der modularen Mo-
dellierung. Man erhält damit ein Gesamtmodell bestehend aus gekoppelten Modell-
gleichungen. Für eine Zeitintegration des Gesamtsystems kann es von Vorteil sein,
die durch die modulare Struktur festgelegten Teilsysteme einzeln zu integrieren.
In der vorliegenden Arbeit werden Multirate- und Multimethod-Verfahren be-
trachtet, die sich für eine solche verteilte Zeitintegration anbieten. Der wesent-
liche Unterschied zwischen den beiden Verfahren liegt darin, dass die Teilsyste-
me bei einem Multirate-Verfahren mit unterschiedlichen Schrittweiten, bei einem
Multimethod-Verfahren mit unterschiedlichen Integratoren berechnet werden.
Bei der verteilten Integration ist folgendes zu beachten: Erstens muss eine Strate-
gie vorliegen, wie für jedes einzelne Teilsystem die externen Variablen approximiert
werden können. Zweitens muss in regelmäßigen und festgelegten Abständen ein Da-
tenaustausch und ein damit verbundener Abgleich aller Variablen stattfinden. Es
werden mögliche Strategien zur Approximation der externen Variablen vorgestellt
und deren Auswirkungen auf die Effizienz der Verfahren diskutiert.
Den Schwerpunkt der vorliegenden Arbeit bildet die Untersuchung der verteil-
ten Integration von gekoppelten differentiell-algebraischen Systemen. Dazu wird
ein Multirate-Algorithmus basierend auf dem impliziten Euler-Verfahren formuliert,
mit dem gekoppelte Index-1-Systeme gelöst werden können. Im Zuge der anschlie-
ßenden Konvergenzanalyse erkennt man, dass für gekoppelte DAEs die Einhaltung
der Konvergenzbedingung α e < 1 für eine stabile Integration nötig ist. Für den
Fall einer konvergenten verteilten Integration kann eine Fehlerschätzung angegeben
werden. Diese zeigt, dass der globale Fehler durch die Makroschrittweite, die Ord-
nung der Extra- und Interpolation – diese sind nötig um die externen Variablen
anzunähern – und durch den Diskretisierungsfehler des Integrators bestimmt wird.
Abschließend werden am Ende der Arbeit numerische Experimente den theore-
tischen Untersuchungen zur Seite gestellt. Die numerischen Ergebnisse unterstrei-
chen schon an Hand eines einfachen, aber charakteristischen Benchmarkproblems
die Wichtigkeit der Konvergenzbedingung α e < 1.
Aus der Theorie ergibt sich, dass die Wahl der Integrationsreihenfolge einen erheb-
lichen Einfluss auf die Größe der Kontraktivitätskonstante α e hat. Aber schon das
einfache Beispiel eines Doppelpendels zeigt, dass sich Konvergenz im Allgemeinen
nicht allein durch die geschickte Wahl der Reihenfolge der Teilsysteme erzwingen
lässt. Hierzu ist eine Kombination der Multirate-Verfahren mit der aus der Literatur
bekannten Vorkonditionierungstechniken erforderlich.

75
Literaturverzeichnis

[ACHH02] M. Arnold, C. Carrarini, A. Heckmann, and G. Hippmann. Modular dy-


namical simulation of mechatronic and coupled systems. In H.A. Mang,
F.G. Rammerstorfer, and J. Eberhardsteiner, editors, Proc. of WCCM
V, Fifth World Congress on Computational Mechanics, July 7–12, 2002,
Vienna, Austria, 2002.

[ACR94] U.M. Ascher, H. Chin, and S. Reich. Stabilization of DAEs and invariant
manifolds. Numer. Math., 67:131–149, 1994.

[AG01] M. Arnold and M. Günther. Preconditioned dynamic iteration for cou-


pled differential-algebraic systems. BIT Numerical Mathematics, 41:1–
25, 2001.

[AP98] U. Ascher and L.R. Petzold. Computer Methods for Ordinary Differenti-
al Equations and Differential–Algebraic Equations. SIAM, Philadelphia,
1998.

[Arn90] M. Arnold. Numerische Behandlung von semi–expliziten Algebrodiffe-


rentialgleichungen vom Index 1 mit linear–impliziten Verfahren. PhD
thesis, Martin-Luther-Universität Halle, Sektion Mathematik, 1990.

[Arn00] M. Arnold. Dynamische Iteration für differentiell-algebraische Systeme.


5. Workshop Deskriptorsysteme, Paderborn, 2000.

[BCP96] K.E. Brenan, S.L. Campbell, and L.R. Petzold. Numerical solution of
initial–value problems in differential–algebraic equations. SIAM, Phil-
adelphia, 2nd edition, 1996.

[BGK02] A. Bartel, M. Günther, and A. Kværnø. Multirate methods in electrical


circuit simulation. In A.M. Anile, V. Capasso, and A. Greco, editors,
Progress in Industrial Mathematics at ECMI 2002, volume 1 of Mathe-
matics in Industry, pages 258–265. Springer, 2002.

[DB94] P. Deuflhard and F. Bornemann. Numerische Mathematik II. Walter


de Gruyter, Berlin New York, 1994.

77
Literaturverzeichnis

[DH93] P. Deuflhard and A. Hohmann. Numerische Mathematik I. Walter de


Gruyter, Berlin New York, 2nd edition, 1993.

[DHZ87] P. Deuflhard, E. Hairer, and J. Zugck. One–step and extrapolation


methods for differential–algebraic systems. Numer. Math., 51:501–516,
1987.

[EFY95] E. Eich, C. Führer, and J. Yen. On the error control for multistep
methods applied to ODEs with invariants and DAEs in multibody dy-
namics. Mechanics of Structures and Machines, 23:159–180, 1995.

[EL97a] Ch. Engstler and Ch. Lubich. Multirate extrapolation methods for dif-
ferential equations with different times scales. Computing, 58:173–185,
1997.

[EL97b] Ch. Engstler and Ch. Lubich. MUR8: a multirate extension of the
eighth-order Dormand–Prince method. Applied Numerical Mathematics:
Transactions of IMACS, 25:185–192, 1997.

[ESF98] E. Eich-Soellner and C. Führer. Numerical Methods in Multibody Dyna-


mics. Teubner–Verlag, Stuttgart, 1998.

[Fuc02] A. Fuchs. Effiziente Korrektoriteration für implizite Zeitintegrationsver-


fahren in der Mehrkörperdynamik. Master’s thesis, Munich University
of Technology, Department of Mathematics, 2002.

[GKR01] M. Günther, A. Kværnø, and P. Rentrop. Multirate partitioned Runge–


Kutta methods. BIT, 41:504–514, 2001.

[GR93] M. Günther and P. Rentrop. Multirate ROW methods and latency of


electric circuits. Applied Numerical Mathematics, 13:83–102, 1993.

[GW84] C.W. Gear and R.R. Wells. Multirate linear multistep methods. BIT,
24:484–502, 1984.

[HNW93] E. Hairer, S.P. Nørsett, and G. Wanner. Solving Ordinary Differential


Equations I. Nonstiff Problems. Springer-Verlag, Berlin Heidelberg New
York, 2nd edition, 1993.

[HW96] E. Hairer and G. Wanner. Solving Ordinary Differential Equations II.


Stiff and Differential-Algebraic Problems. Springer-Verlag, Berlin Hei-
delberg New York, 2nd edition, 1996.

[KS00] R. Kübler and W. Schiehlen. Two methods of simulator coupling. Ma-


thematical and Computer Modelling of Dynamical Systems, 6:93–113,
2000.

78
Literaturverzeichnis

[Kvæ00] A. Kværnø. Stability of multirate Runge–Kutta schemes. International


J. of Differential Equations and Applications, 1:97–105, 2000.

[LRSV82] E. Lelarasmee, A.E. Ruehli, and A.L. Sangiovanni-Vincentelli. The wa-


veform relaxation method for time domain analysis of large scale inte-
grated circuits. IEEE Trans. on CAD of IC and Syst., 1:131–145, 1982.

[Mat02] The MathWorks, Inc. Using MATLAB, Juli 2002.

[MN87] U. Miekkala and O. Nevanlinna. Convergence of dynamic iteration me-


thods for initial value problems. SIAM J. Sci. Stat. Comput., 8:459–482,
1987.

[Pet82] L.R. Petzold. A description of DASSL: a differential/algebraic system


solver. Technical Report SAND82–8637, Sandia National Laboratories
Livermore, 1982.

[Sha80] L.F. Shampine. Implementation of implicit formulas for the solution of


ode’s. SIAM J. Sci. Comp., 1:103–118, 1980.

[Ske92] S. Skelboe. Methods for parallel integration of stiff systems of ODEs.


BIT, 32:689–701, 1992.

[SR97] L.F. Shampine and M.W. Reichelt. The MATLAB ODE Suite. SIAM
J. Sci. Comp., 18:1–22, 1997.

[SRK99] L.F. Shampine, M.W. Reichelt, and J.A. Kierzenka. Solving index-1
DAEs in MATLAB and SIMULINK. SIAM Review, 41:538–552, 1999.

[SW95] K. Strehmel and R. Weiner. Numerik gewöhnlicher Differentialgleichun-


gen. Teubner Studienbücherei Mathematik. Teubner, Stuttgart, 1995.

79