12
Vergleich numerischer Löser zur Simulation steifer und hybrider Systeme A comparison of numerical solvers for stiff and hybrid system simulation Dr.-Ing. F. Felgner, Universität des Saarlandes, Saarbrücken; M. Sc. L. Liu, Universität des Saarlandes, Saarbrücken; Univ.-Prof. Dr.-Ing. G. Frey, Universität des Saarlandes, Saarbrücken. Kurzfassung Dieser Beitrag vergleicht etablierte numerische Lösungsverfahren, die ein weites Spektrum der wesentlichen Löser-Charakteristika abdecken: vier Löser, die im Softwarewerkzeug Dymola ® integriert sind, sowie die sieben ODE-Löser von Matlab ® /Simulink ® . Die Bewertung erfolgt anhand dreier Benchmark-Tests. Hierfür werden die Löser an drei Modelltypen getestet: einem kontinuierlichen, einem steifen kontinuierlichen und einem steif-hybriden Modell. Dabei werden jeweils systematisch unterschiedliche Einstellungen der Toleranzparameter (von sehr niedrig bis sehr hoch) durchlaufen. Als Ergebnis folgt eine Übersicht, die die unterschiedlich gelagerten Stärken und Schwächen der Löser anhand von vier geeignet definierten Leistungsmaßen bewertet. Abstract This paper presents a comparison of well-established numerical solvers in the context of numerical simulation, covering a broad variety of typical solver characteristics: four solvers integrated in the software tool Dymola ® as well as the seven ODE solvers of Matlab ® /Simulink ® . An evaluation is made by means of three benchmark tests. Therefore, the solvers are tested on three model types: a continuous, a stiff, and a stiff-hybrid model. Hereby, a wide range of tolerance settings (from low to very high) is systematically covered. As a result, we give a survey of differing strengths and weaknesses of the tested solvers on the basis of four appropriate key traits: accuracy, velocity, compactness of results, and numerical efficiency.

Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Embed Size (px)

Citation preview

Page 1: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Vergleich numerischer Löser zur Simulation steifer und hybrider Systeme A comparison of numerical solvers for stiff and hybrid system simulation Dr.-Ing. F. Felgner, Universität des Saarlandes, Saarbrücken; M. Sc. L. Liu, Universität des Saarlandes, Saarbrücken; Univ.-Prof. Dr.-Ing. G. Frey, Universität des Saarlandes, Saarbrücken. Kurzfassung Dieser Beitrag vergleicht etablierte numerische Lösungsverfahren, die ein weites Spektrum

der wesentlichen Löser-Charakteristika abdecken: vier Löser, die im Softwarewerkzeug

Dymola® integriert sind, sowie die sieben ODE-Löser von Matlab®/Simulink®. Die Bewertung

erfolgt anhand dreier Benchmark-Tests. Hierfür werden die Löser an drei Modelltypen

getestet: einem kontinuierlichen, einem steifen kontinuierlichen und einem steif-hybriden

Modell. Dabei werden jeweils systematisch unterschiedliche Einstellungen der

Toleranzparameter (von sehr niedrig bis sehr hoch) durchlaufen. Als Ergebnis folgt eine

Übersicht, die die unterschiedlich gelagerten Stärken und Schwächen der Löser anhand von

vier geeignet definierten Leistungsmaßen bewertet.

Abstract This paper presents a comparison of well-established numerical solvers in the context of

numerical simulation, covering a broad variety of typical solver characteristics: four solvers

integrated in the software tool Dymola® as well as the seven ODE solvers of

Matlab®/Simulink®. An evaluation is made by means of three benchmark tests. Therefore, the

solvers are tested on three model types: a continuous, a stiff, and a stiff-hybrid model.

Hereby, a wide range of tolerance settings (from low to very high) is systematically covered.

As a result, we give a survey of differing strengths and weaknesses of the tested solvers on

the basis of four appropriate key traits: accuracy, velocity, compactness of results, and

numerical efficiency.

Page 2: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

1. Einleitung und Motivation Modellierungs- und Simulationswerkzeuge sind in der Automatisierungstechnik ein

verbreitetes Mittel zur Systemanalyse, zum Test und zur Validierung von

Automatisierungsstrategien. Moderne Softwarepakete, wie z.B. Matlab®/Simulink® und

Dymola®, bieten hierfür eine flexible grafische Oberfläche, die eine benutzerfreundliche

Modellkomposition erlaubt. Abhängig von Problemstellung und Modellierungsweise kann das

zu simulierende Modell unterschiedliche mathematische Formen haben: bei rein

kontinuierlichen Regelungssystemen die Form eines gewöhnlichen

Differentialgleichungssystems (ODE) bzw. differential-algebraischen Gleichungssystems, bei

Steuerungssystemen (aus kontinuierlichem Prozess und ereignisdiskreter Steuerung) die

Form eines hybriden differential-algebraischen Gleichungssystems.

Für die Durchführung von Simulationen steht i.d.R. eine Auswahl integrierter Löser zur

Verfügung. Doch trotz der Unterstützung durch relativ reife Simulationswerkzeuge stellt sich

dem Anwender oft die Frage, welchen der angebotenen Löser er für ein konkretes Modell

auswählen soll. Konkret geht es ihm dabei um die Genauigkeit, Korrektheit und mit

zunehmender Modellgröße auch um die Effizienz des numerischen Lösungsvorgangs.

Dieser Beitrag vergleicht etablierte numerische Lösungsverfahren, die ein weites Spektrum

der wesentlichen Löser-Charakteristika abdecken. Vier der getesteten Löser sind in Dymola®

[1] integriert sind; außerdem wurden die sieben ODE-Löser von Matlab®/Simulink® [2]

getestet. Die Bewertung erfolgt anhand dreier Benchmark-Tests. Hierfür werden die Löser an

drei Modelltypen getestet: einem kontinuierlichen, einem steifen kontinuierlichen und einem

steifen hybriden Modell. Dabei werden jeweils systematisch unterschiedliche Einstellungen

der Toleranzparameter (von sehr niedrig bis sehr hoch) durchlaufen. Als Ergebnis folgt eine

Übersicht, die die unterschiedlich gelagerten Stärken und Schwächen der Löser anhand von

vier normierten Leistungsmaßen – Genauigkeit, Simulationsgeschwindigkeit, Kompaktheit

der Ergebnisdaten und numerische Effizienz – bewertet.

Als wesentliche Grundlagen für die Simulation sog. steifer und hybrider Systeme werden im

folgenden Abschnitt 2 die Begriffe Event-Handling und Steifheit besprochen. Die Basisdaten

der untersuchten Löser sind in Abschnitt 3 zusammengefasst. Abschnitt 4 erläutert die

Durchführung der Benchmark-Tests. Deren Ergebnisse und Schlussfolgerungen sind im

Abschnitt 6 zusammengestellt.

Dieser Beitrag fasst die englischsprachige Publikation [3] derselben Autoren zusammen und

fügt als wesentliche Erweiterung die sieben Matlab®/Simulink®-ODE-Löser und deren

Benchmark-Test-Ergebnisse hinzu.

Page 3: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

2. Grundbegriffe Bei der numerischen Simulation gilt es, einen geeigneten Kompromiss zwischen der

Genauigkeit der Ergebnisse und der Effizienz der Lösungsfindung zu erreichen. Aus

Nutzersicht verschärft sich dieser Zielkonflikt mit steigender Komplexität des betrachteten

Systems.

Selbst bei gewöhnlichen, rein kontinuierlichen Systemen zeigen verschiedene Löser

deutliche Unterschiede in der Leistung. Im Zusammenhang mit den anspruchsvolleren sog.

steifen und/oder hybriden Systemen treten insbesondere zwei Grundbegriffe auf: das Event-

Handling und die Bedeutung der Begriff der Steifheit. Weiterführende Phänomene (z.B.

Event-Iterationen, Dirac-Impulse, Chattering) werden im Folgenden nicht betrachtet; [4] gibt

einen Überblick über derartige Phänomene.

Zunächst zum Event-Handling:

Das Event-Handling ist ein Schlüsselbegriff in der Simulation hybrider Systeme. Die folgende

Vorgehensweise wurde bereits 1979 in [5] beschrieben und entspricht grundsätzlich auch

noch der Funktionsweise heutiger Simulationswerkzeuge:

Während des numerischen Lösungsvorgangs überwacht der Simulator zu jedem Zeitschritt

alle im Modell formulierten logischen Bedingungen (die Bedingungsargumente von „if“- oder

„when“-Konstruktionen). Ändert eine solche Bedingung C von einem Zeitschritt tn zum

Zeitschritt tn+1 ihren Wert von FALSE auf TRUE, so erkennt der Simulator, dass ein Event

vorliegt, und hält den numerischen Löser beim Zeitschritt tn an. Jetzt muss ein sog. Root-

Finder den genauen Event-Zeitpunkt tE ∈ [tn, tn+1] lokalisieren. Unter der Annahme

C = FALSE ist nun für den Event-Zeitpunkt tE die Lösung zu finden. Anschließend wird

C = TRUE gesetzt und zum Zeitpunkt tE abermals die Lösung ermittelt. Letztere Lösung ist

die Anfangsbedingung, von der aus der Löser schließlich bei tE den Lösungsvorgang neu

startet.

Das Event-Handling bremst die Simulationsgeschwindigkeit. Falls sich die logische

Bedingung C auf abhängige Variablen bezieht (d.h. nicht bzw. nicht nur auf die Zeit), muss

der numerische Lösungsalgorithmus beim Root-Finding mehrmals ausgeführt werden. Die

sichere Event-Erkennung kann zudem eine besonders hohe Genauigkeit der Lösung

erfordern. Insbesondere bremst die i.d.R. sehr kleine Zeit-Schrittweite unmittelbar nach dem

Löser-Neustart bei tE die Simulation ab. Demzufolge hängt die Simulationsgeschwindigkeit

für hybride Systeme stark von der Regelung der Zeit-Schrittweite des Lösers ab.

Page 4: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Zum Begriff der Steifheit:

Obwohl der Begriff „steifes System“ häufig gebraucht wird, gibt es keine einheitliche

Definition hierfür. Abhängig vom jeweiligen Blickwinkel sind die Definitionen quantitativ,

qualitativ oder eher pragmatisch formuliert, z.B.:

Definition 1: “An ODE system is called stiff if, when solved with any n-th order accurate

integration algorithm and a local error tolerance of 10–n, the step size of the algorithm is

forced down to below a value indicated by the local error estimate due to constraints

imposed on it by the limited size of the numerically stable region.” [6]

Definition 2: “An IVP (Initial Value Problem) is stiff in some interval [0, b] if the step size

needed to maintain stability of forward Euler method is much smaller than the step size

required to represent the solution accuracy.” [7]

Definition 3: “Stiff equations are equations where certain implicit methods, in particular BDF,

perform better, usually tremendously better, than explicit ones.” [8, 9]

Die Definitionen 1 und 2 reflektieren, dass die Steifheit nicht allein durch die

Systemgleichungen selbst bedingt sein kann, sondern sich erst in Verbindung mit der

Genauigkeitsanforderung und dem interessieren Zeitintervall ergibt. D.h., ein System kann in

Verbindung mit niedriger Genauigkeitsanforderung steif sein, wohingegen es bei hoher

Genauigkeitsanforderung nicht mehr steif ist. Die pragmatische Definition 3, offensichtlich die

älteste, gibt dagegen implizit einen allgemeinen Ratschlag zur Wahl der Lösungsmethode. Eine Erweiterung des Steifheitsbegriffs auf hybride Systeme must das Phänomen der Events

berücksichtigen. In Anlehnung an Definition 2 definieren wir ein steif-hybrides System

folgendermaßen:

Definition 4: Ein hybrides System ist steif-hybrid in einem Intervall [0, b], wenn zur

korrekten Erkennung aller Events eine wesentlich kleinere Schrittweite erforderlich ist als zur

Einhaltung der geforderten Genauigkeit.

Aus Definition 4 folgt, dass ein System steif-hybrid ist, wenn im Lösungsintervall

hochfrequente Events auftreten. Gegenwärtig ist zur Lösung dieses Problems keine Methode

verfügbar, die sowohl effektiv ist (d.h. zuverlässig bei der Event-Erkennung) als auch eine

effiziente Regelung der Schrittweite besitzt. Wie bei hybriden Systemen im Allgemeinen ist

somit umso mehr bei steif-hybriden Systemen die Schrittweiten-Regelung entscheidend für

die Leistungsfähigkeit eines numerischen Lösers.

Page 5: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

3. Die getesteten numerischen Löser Ausschlaggebend für die Wahl der getesteten Löser war zum einen, dass sie ein breites

Spektrum typischer Charakteristika abdecken. Zum anderen sind diese Löser in zwei der

bekanntesten universellen Simulationswerkzeugen integriert. Ganz besonders gut etabliert

ist Matlab®/Simulink® [2] dessen sieben ODE-Löser aus dem Release 2009b hier alle

untersucht wurden. Seit gut zehn Jahren findet auch die Software Dymola® [1] immer weitere

Verbreitung, weil sie einen leistungsfähigen Übersetzer für den Sprachstandard Modelica

besitzt. Modelica erlaubt eine objektorientierte, gleichungsbasierte Systembeschreibung und

eignet sich daher besonders gut für die Modellierung großer Systeme, die aus

interagierenden physikalischen Komponenten aufgebaut sind. Aus diesem Grund wurden

hier auch vier der in Dymola®, Version 7.3, integrierten Löser geprüft.

Die Matlab®/Simulink®-Löser (detaillierte Quellenangaben zu den Lösern: s. [2]):

(1) ode45 ist ein Dormand-Prince-Algorithmus und basiert auf einer Runge-Kutta-Methode

4./5. Ordnung.

(2) ode23 verwendet eine Runge-Kutta-Methode 2./3. Ordnung.

(3) ode113 arbeitet mit variabler Ordnung und kombiniert den expliziten Adam-Bashforth-

Algorithmus mit dem impliziten Adams-Moulton-Algorithmus.

(4) ode15s arbeitet mit variabler Ordnung und operiert mit numerischen

Differentiationsformeln.

(5) ode23s basiert auf einer modifizierten Rosenbrock-Formel 2. Ordnung.

(6) ode23t operiert mit der Trapezregel.

(7) ode23tb ist ein 2-stufiger Runge-Kutta-Algorithmus; die erste Stufe benutzt die

Trapezregel, die zweite eine Rückwärtsdifferentiationsformel (BDF) 2. Ordnung.

Die Löser (4) bis (7) empfiehlt die Matlab®-Produktdokumentation [2] für steife Systeme.

Weiter charakteristische Eigenschaften der Löser sind in Tabelle 1 gegenübergestellt.

Tabelle 1: Charakteristika der Matlab®/Simulink®-Löser

ode45 ode23 ode113 ode15s ode23s ode23t ode23tbEinschritt-Methode ● ● ● ● ● Mehrschritt-Methode ● ● Explizit ● ● (●) Implizit (●) ● ● ● Konservativität der Schrittweiten-Regelung niedrig mittel mittel mittel hoch hoch hoch

Page 6: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Die getesteten Dymola®-Löser (zu detaillierten Quellenangaben: s. [3]):

(1) DASSL (Differential-Algebraic System Solver) ist der Standard-Löser von Dymola®. Er

verwendet Rückwärtsdifferentiation (BDF) mit variabler, maximal 5. Ordnung.

(2) LSODAR (Livermore Solver for Ordinary Differential Equations with Automatic Method

Switching and Root Finder) wechselt automatisch zwischen verschiedenen

Lösungsalgorithmen, um sowohl nicht-steife als auch steife System effizient zu berechnen.

Für nicht-steife Probleme verwendet er eine Adams-Moulton-Methode mit variabler, maximal

12. Ordnung, für steife Probleme eine Mehrschritt-BDF 1. bis 5. Ordnung.

(3) Radau IIA (Radau-Lobatto Formula Type-II A-stable Solver) ist ein 3-stufiger Runge-

Kutta-Algorithmus.

(4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem

Grundalgorithmus nach dem ersten der o.g. Matlab®/Simulink®-Löser (ode45).

Tabelle 2: Charakteristika der getesteten Dymola®-Löser

DASSL LSODAR Radau IIA DOPRI5 Einschritt-Methode ● ● Mehrschritt-Methode ● ● Explizit ● Implizit ● ● ● Konservativität der Schrittweiten-Regelung sehr hoch hoch mittel mittel

4. Benchmark-Tests und Testkriterien Jeder der Löser wurde mit jedem der folgenden drei Testmodelle geprüft. Dabei handelt es

sich um ein nicht-steifes kontinuierliches Modell (als Referenzmodell mit den geringsten

Anforderungen), ein steifes kontinuierliches Modell und ein steif-hybrides Modell.

Das nicht-steife kontinuierliche Modell: 0)0(,1)0(

),10sin(

21

121

===⋅=

xxxxtx &&

(1)

Das steife kontinuierliche Modell: 2)0(,0)0(,1)0(

1000,),10sin(

321

33121

===⋅==⋅=

xxxxxxxtx &&&

(2)

Das steif-hybride Modell:

0)0(,1)0(

1,1 wenn,1

1,1 wenn,),10sin(

21

11

1121

==

⎪⎩

⎪⎨⎧

≤+

>=⋅=

xx

xx

xxxtx &&

(3)

Im System nach Gleichung (3) erreicht x1, exakt gerechnet, maximal den Wert 1,2. Durch die

relativ knapp unter diesem Wert angesetzte Umschaltbedingung für 2x& wird das System steif-

Page 7: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

hybrid i. S. v. Definition 4 aus Abschnitt 2. Die Implementierung der Systemmodelle (1), (2),

(3) erfolgte sowohl als Simulink®-Blockschaltbild (simuliert in Matlab®, Release 2009b mit

MEX-Compiler) als auch in Modelica® (simuliert mit Dymola®, Version 7.3 mit Microsoft-C-

Compiler). Die Berechnung erfolgte mit einer Intel-CPU E8500 (3,16 GHz) und dem

Betriebssystem Windows 7. In Simulationen mit allen Modellen und Lösern wurden für

verschiedene Genauigkeits-Toleranzen tol folgende Testkriterien ermittelt:

• CPU-Zeit (ohne Abspeichern einer Ergebnisdatei): ttoltal

• Anzahl der Ergebniszeitschritte: Nresult

• Mittlerer Fehler: Erravg := ∑=

−result

0 exact,

solver,exact,

result

1 N

i i

ii

N xxx

xexact,i: Vektor der exakten Zustandsvariablen zum Ergebniszeitschritt i

xsolver,i: Vektor der vom jeweiligen Löser gefundenen Zustandsvariablen z. Erg.zeitschr. i

• Numerische Effizienz des Lösers: solverη := i.stepsresult NN Ni.steps: Gesamtzahl der Interationsschritte über alle Zeitschritte einer Simulation (schließt

bei hybridem Modell auch die zur Lokalisierung der Events nötigen Iterationen ein)

Um den Einfluss von Speicherallokationszeiten zu minimieren, wurde ttotal jeweils für

Simulationen über 10000 s ermittelt, ebenso die Größen Nresult und solverη . Für Erravg und die

nachfolgenden Histogramme wurden 10 s Modellzeit simuliert. Die detaillierten

Testergebnisse sind in den Bildern 1, 2 und 3 zu sehen.

Die in der Matlab®-Produktinformation [2] gegebenen Empfehlung zur Löser-Wahl bei steifen

Systemen bestätigen sich im Großen und Ganzen, jedoch nicht immer: So zeigt etwa der

Löser ode23s für das steife System mit geringer Genauigkeitsanforderung Vorteile in der

CPU-Zeit, jedoch nicht (wie in der Empfehlung angedeutet) gegenüber ode115; beim steif-

hybriden System fällt ode23s mit seinen langen CPU-Zeiten vollkommen aus dem Rahmen.

5. Zusammenfassende Bewertung der Löser Um die zahlreichen Einzelergebnisse zusammenfassend gegenüberzustellen, definieren wir

aus den obigen Testkriterien vier auf den Bereich [0; 1] normierte Leistungsmaße:

• Numerische Genauigkeit: avg1 : ErrtolC = (4)

• Geschwindigkeit der Simulation: total2 1: tC = (5)

• Kompaktheit der Ergebnisse: result3 1: NC = (6) • Numerische Effizienz: solver4 : ηC = (bereits normiert) (7)

Page 8: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Die Normierung setzt C1 auf den Wert 1, wenn Erravg tol≤ gilt; C2 und C3 werden bezogen auf

den jeweils kleinsten Wert von ttotal bzw. von Nresult (unter allen Testergebnissen) normiert.

Die Kiviat-Diagramme in Tabelle 3 berücksichtigen die Toleranzeinstellungen tol := 10−4 und

tol := 10−6 (die in Matlab®/Simulink® implementierten zeigen Löser für Toleranzen unter 10−6

praktisch keine Änderungen mehr).

Die Übersicht macht deutlich, dass es unter den vielen getesteten Lösern keinen generell

überlegenen gibt. In der Tat sinkt die Leistungsfähigkeit mit steigender Modellkomplexität

i. S. v. Steifheit und Hybridität. Noch relativ gering sind Leistungsschwankungen bei DASSL,

dem voreingestellten Standard-Löser von Dymola®. Bei Matlab®/Simulink® hingegen wurde

mit ode45 ein Standardlöser gewählt, der zwar deutlicher ausgeprägte Stärken und

Schwächen, dafür insgesamt die höchste Leistung (d.h. die größte Gesamtfläche über alle

Kiviat-Diagramme) zeigt.

6. Literaturhinweise [1] Webseite von Dassault Systèmes zur Software Dymola®:

http://www.3ds.com/products/catia/portfolio/dymola

[2] Webseite von MathWorks Deutschland zu Software-Paket Simulink®:

http://www.mathworks.de/products/simulink/

sowie Online-Produktdokumentation zu den implementierten Lösern:

http://www.mathworks.com/help/techdoc/ref/ode23.html

[3] Liu, L.; Felgner, F.; Frey, G.: Comparison of 4 Numerical Solvers for Stiff and Hybrid

Systems Simulation. IEEE International Conference on Emerging Technologies and

Factory Automation, Bilbao (Spanien), 2010.

[4] Mosterman, P. J.: An Overview of Hybrid Simulation Phenomena and Their Support by

Simulation Packages. Hybrid Systems: Computation and Control 1999, S. 165-177.

[5] Cellier, F. E., Kofman, E.: Continuous System Simulation, Springer, 2006.

[6] Cellier, F.E., Combined Continuous/Discrete System Simulation by Use of Digital

Computers: Techniques and Tools, Dissertation ETH Zürich (Schweiz), 1979.

[7] Ascher, U. M., Petzold, L. R.: Computer Methods for Ordinary Differential Equations

and Differential-Algebraic Equations. SIAM, 1998.

[8] Hairer, E., Wanner, G.: Solving Ordinary Differential Equations II-Stiff and Differential-

Algebraic Problems, Springer, 1991.

[9] Curtiss, C. F., Hirschfelder, J. O.: Integration of Stiff Equations. Proc. of the National

Academy of Sciences of the United States of America, Vol. 38 (1952), S. 235-243.

Page 9: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

1,0E-11

1,0E-09

1,0E-07

1,0E-05

1,0E-03

1,0E-01

1,0E+01

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler Erravg

ode45 ode23ode113 ode15sode23s ode23tode23tb

0,0E+00

5,0E+05

1,0E+06

1,5E+06

2,0E+06

2,5E+06

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult

0

10

20

30

40

50

60

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10

Modellzeit / s

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizient ηsolver

1,0E-11

1,0E-09

1,0E-07

1,0E-05

1,0E-03

1,0E-01

1,0E+01

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler ErravgDASSLLSODARRADAU IIADOPRI5

0,0E+00

5,0E+05

1,0E+06

1,5E+06

2,0E+06

2,5E+06

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult

DASSLLSODARRADAU IIADOPRI5

0

10

20

30

40

50

60

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10 DASSLLSODARRADAU IIADOPRI5

Nresult = 2456Nresult = 487Nresult = 694Nresult = 541

Modellzeit / s

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizienz ηsolver

DASSLLSODARRADAU IIADOPRI5

0

5

10

15

20

25

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU-Zeit ttotal / s

DASSLLSODARRADAU IIADOPRI5

tol

0

5

10

15

20

25

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU-Zeit ttotal / s

tol

toltol

tol tol

tol tol Bild 1: Benchmark-Test-Ergebnisse für das nicht-steife kontinuierliche Modell nach Gl. (1)

(links: Matlab®/Simulink®-Löser; rechts: Dymola®-Löser).

Page 10: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

0,0E+00

5,0E+06

1,0E+07

1,5E+07

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult

1,0E-15

1,0E-13

1,0E-11

1,0E-09

1,0E-07

1,0E-05

1,0E-03

1,0E-01

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler Erravg

ode45 ode23ode113 ode15sode23s ode23tode23tb

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizienz ηsolver

1,0E-15

1,0E-13

1,0E-11

1,0E-09

1,0E-07

1,0E-05

1,0E-03

1,0E-01

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler Erravg

DASSLLSODARRADAU IIADOPRI5

0,0E+00

5,0E+06

1,0E+07

1,5E+07

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult DASSLLSODARRADAU IIADOPRI5

0

100

200

300

400

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10

Modellzeit / s0

100

200

300

400

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10

DASSLLSODARRADAU IIADOPRI5

Nresult = 2749Nresult = 2376Nresult = 745Nresult = 6158

Modellzeit / s

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizienz ηsolver

DASSLLSODARRADAU IIADOPRI5

0

50

100

150

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU-Zeit ttotal / s

0

50

100

150

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU time ttotal / s

DASSLLSODARRADAU IIADOPRI5

tol tol

toltol

tol tol

tol tol Bild 2: Benchmark-Test-Ergebnisse für das steife kontinuierliche Modell nach Gl. (2)

(links: Matlab®/Simulink®-Löser; rechts: Dymola®-Löser). Kurven bei höheren

Toleranzen abgebrochen, wenn keine stabile Lösung gefunden wurde.

Page 11: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

0,0E+00

1,0E+06

2,0E+06

3,0E+06

4,0E+06

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult

1,0E-10

1,0E-08

1,0E-06

1,0E-04

1,0E-02

1,0E+00

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler Erravg

ode45 ode23ode113 ode15sode23s ode23tode23tb

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizienz ηsolver

0

5

10

15

20

25

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU-Zeit ttotal / s

0

20

40

60

80

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10

Modellzeit / s

0,0E+00

1,0E+06

2,0E+06

3,0E+06

4,0E+06

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Anzahl der Ergebniszeitpunkte Nresult

DASSLLSODARRADAU IIADOPRI5

1,0E-10

1,0E-08

1,0E-06

1,0E-04

1,0E-02

1,0E+00

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Mittlerer Fehler ErravgDASSLLSODARRADAU IIADOPRI5

0%

10%

20%

30%

40%

50%

60%

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

Effizienz ηsolverDASSLLSODARRADAU IIADOPRI5

0

5

10

15

20

25

1,0E-10 1,0E-08 1,0E-06 1,0E-04 1,0E-02

CPU-Zeit ttotal / sDASSLLSODARRADAU IIADOPRI5

0

20

40

60

80

0 2 4 6 8 10

Histogramm zu Nresult für tol = 1E-10

Modellzeit / s

tol tol

toltol

tol tol

tol tol Bild 3: Benchmark-Test-Ergebnisse für das steif-hybride Modell nach Gl. (3)

(links: Matlab®/Simulink®-Löser; rechts: Dymola®-Löser). Kurven bei höheren

Toleranzen abgebrochen, wenn nicht alle Events detektiert wurden.

Page 12: Vergleich numerischer Löser zur Simulation steifer und ... · (4) DOPRI5 (Dormand-Prince 5th-Order Runge-Kutta Solver) entspricht dem Grundalgorithmus nach dem ersten der o.g. Matlab

Tabelle 3: Vergleich der Leistungsmaße aller getesteten Löser in Kiviat-Diagrammen Nicht-steif kontinuierlich Steif-kontinuierlich Steif-hybrid

Mat

lab®

-Sol

ver to

l = 1

E−4

(Def

ault:

1E

-3)

Accuracy

iency

ode45ode23ode113ode15sode23sode23tode23tb

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

y

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

tol =

1E−

6

y

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Dym

ola®

-Sol

ver

tol =

1E−

4 (=

Def

ault-

Wer

t)

Accuracy

ncy

DASSL

LSODAR

RADAU

DOPRI5

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

DOPRI5 nicht eingetragen,da nicht alle Events erkannt.

tol =

1E−

6

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz

Genauigkeit

Kompaktheit

Ges

chw

indi

gkei

t

Effiz

ienz