2. Februar, 2005 Anfang Präsentation Behandlung von Unstetigkeiten • Wir wollen uns heute dem Problem der Behandlung von Unstetigkeiten in der Modellbeschreibung zuwenden. • Modelle aus den Ingenieurbereichen weisen häufig Unste-tigkeiten auf, die Schaltvorgänge, Begrenzer, trockene Reibung, Stösse oder ähnliche Vorgänge repräsentieren mögen. • Die Modellierungsumgebung muss sich dieser Vorgänge speziell annehmen, da sie in starkem Masse die Numerik der Differentialgleichungslöser beeinflussen.
26
Embed
Anfang Präsentation 2. Februar, 2005 Behandlung von Unstetigkeiten Wir wollen uns heute dem Problem der Behandlung von Unstetigkeiten in der Modellbeschreibung.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
2. Februar, 2005Anfang Präsentation
Behandlung von Unstetigkeiten• Wir wollen uns heute dem Problem der Behandlung von
Unstetigkeiten in der Modellbeschreibung zuwenden.• Modelle aus den Ingenieurbereichen weisen häufig Unste-
tigkeiten auf, die Schaltvorgänge, Begrenzer, trockene Reibung, Stösse oder ähnliche Vorgänge repräsentieren mögen.
• Die Modellierungsumgebung muss sich dieser Vorgänge speziell annehmen, da sie in starkem Masse die Numerik der Differentialgleichungslöser beeinflussen.
Übersicht• Die numerische Lösung von Differentialgleichungen• Unstetigkeiten in Zustandsgleichungen• Integration über Unstetigkeiten• Zustandsereignisse• Ereignisbearbeitung• Mehrwertige Kennlinien• Der elektrische Schalter• Die ideale Diode• Die Reibungskennlinie
Numerische Differentialgleichungslöser• Alle heute im Einsatz stehenden numerischen
Differentialgleichungslöser arbeiten mit Polynom-extrapolation.
• Der Wert einer Zustandsvariablen x zum Zeitpunkt t+h, wobei h die momentane Schrittlänge ist, wird ermittelt, indem durch bereits bekannte Stützwerte von x und dx/dt der jetzigen Zeit t sowie der Vergangenheit ein Polynom nter Ordnung hindurchgelegt wird. Der Wert dieses Polynoms zum Zeitpunkt t+h repräsentiert die angenäherte Lösung der Differentialgleichung.
• Bei impliziten Verfahren wird die Zustandsableitung zum Zeitpunkt t+h ebenfalls als Stützwert beigezogen.
Unstetigkeiten in der Zustandsbeschreibung• Polynome sind immer stetig und stetig differenzierbar.• Wenn also die Zustandsraumbeschreibung des Systems:
• eine Unstetigkeit aufweist, ist die Polynomextrapolation eine sehr schlechte Approximation der Wirklichkeit.
• Somit weisen Verfahren mit fester Schrittlänge einen grossen Integrationsfehler auf, während Verfahren mit variabler Schrittlänge den Schritt in der Umgebung der Unstetigkeit sehr stark reduzieren.
Integration über Unstetigkeiten• Ein Verfahren variabler Schrittlänge reduziert die
Schrittlänge bei jeder Unstetigkeit.• Nach der Unstetigkeit wird die Schrittlänge nur langsam
wieder vergrössert, da das Verfahren nicht unterscheiden kann zwischen einer Unstetigkeit und einem Punkt grosser lokaler Steifigkeit (mit grossem absolutem Wert der Ableitung). h
t
UnstetigkeitenDie Schrittlänge ist dauernd viel zu klein. Das Verfahren ist zu-mindest sehr ineffizient, falls nicht ungenau.
• Die noEvent-Klausel sorgt dafür, dass if-Statements oder Boole’sche Ausdrücke, die normalerweise in Simulations-code übersetzt würden, bei welchem die Diskontinuitäten durch Ereignisse abgefangen werden, so stehengelassen werden, wie sie im Modellierungscode formuliert wurden.
• Dadurch wird die korrekte Simulation dieser Diskontinuitäten der Schrittsteuerung des numerischen Integrationsverfahrens überlassen.
p = p1 – p2 ;absp = noEvent( if p > 0 then p else –p ) ;q = sqrt(absp) ;
fB = if Vor then Rv*v + Rm else if Rück then Rv*v - Rm else if StartVor then Rm else if StartRück then -Rm else fc; 0 = if Haft or initial() then a else fc;
when Haft and not initial() then reinit(v,0); end when;
Vor = initial() and v > 0 or pre(StartVor) and v > 0 or pre(Vor) and not v <= 0; Rück = initial() and v < 0 or pre(StartRück) and v < 0 or pre(Rück) and not v >= 0;
StartVor = pre(Haft) and fc > R0 or pre(StartVor) and not (v > 0 or a <= 0 and not v > 0); StartRück = pre(Haft) and fc < -R0 or pre(StartRück) and not (v < 0 or a >= 0 and not v < 0); Haft = not (Vor or Rück or StartVor or StartRück); end Reibung;
System Simulation by Use of Digital Computers: Techniques and Tools, Swiss Federal Institute of Technology, ETH Zürich, Switzerland.
• Elmqvist, H., F.E. Cellier, and M. Otter (1993), “Object-oriented Modeling of Hybrid Systems,” Proc. ESS'93, SCS European Simulation Symposium, Delft, The Netherlands, pp.xxxi-xli.
• Cellier, F.E., M. Otter, and H. Elmqvist (1995), “Bond Graph Modeling of Variable Structure Systems,” Proc. ICBGM'95, 2nd SCS Intl. Conf. on Bond Graph Modeling and Simulation, Las Vegas, NV, pp.49-55.
Referenzen II• Elmqvist, H., F.E. Cellier, and M. Otter (1994), “Object-
oriented Modeling of Power-electronic Circuits Using Dymola,” Proc. CISS'94, First Joint Conference of International Simulation Societies, Zurich, Switzerland, pp. 156-161.
• Glaser, J.S., F.E. Cellier, and A.F. Witulski (1995), “Object-oriented Switching Power Converter Modeling Using Dymola with Event-handling,” Proc. OOS'95, SCS Object-Oriented Simulation Conference, Las Vegas, NV, pp. 141-146.