Modellierung Elektrischer Schaltkreise II

Slides:



Advertisements
Ähnliche Präsentationen
Punkt-in-Polygon-Verfahren III (R/R+-Baum)
Advertisements

Mögliche Ersatzschaltbilder
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Genome Rearrangements
Simulation komplexer technischer Anlagen
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
B-Bäume.
Kapitel 6: Klassifizierung von Sortiertechniken
Suche in Texten (Stringsuche )
Numerik partieller Differentialgleichungen
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
1WS 06/07 Organisatorisches 1.Vorlesung am Montag, : 9-11 Uhr in Gebäude 106, Raum Podcasts: Probleme mit der Videoqualität sind behoben.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Dynamische Programmierung (2) Matrixkettenprodukt
Prof. Dr. S. Albers Prof. Dr. Th. Ottmann
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (19 - Analyse natürlicher Bäume) Prof. Th. Ottmann.
Sortieren vorsortierter Daten
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Algorithmentheorie 12 – Spannende Bäume minimalen Gewichts
Beispiele für Gleichungssysteme
Algorithmen und Komplexität
AC Analyse.
Minimum Spanning Tree: MST
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
Vielstoffthermodynamik
20:00.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung 1 SS 2001 Algorithmus von Dijkstra.
Bestimmung der Regressionsgewichte in der multiplen Regression
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
§3 Allgemeine lineare Gleichungssysteme
Knoten- und Maschenregel
Knoten- und Maschenregel
Anfang Präsentation 2. Februar, 2005 Behandlung von Unstetigkeiten II Wir wollen uns heute nochmals mit der Modellierung von Unstetigkeiten befassen. Zunächst.
Anfang Präsentation 1. Dezember, 2004 Dymolas Bondgraphenbibliothek In dieser Vorlesung wollen wir uns mit einigen Aspekten der Konstruktion einer Bondgraphen-
Die Kirchhoffschen Regeln
Modellierung Elektrischer Schaltkreise
Planar Mechanical Systems
Bondgraphen I Bis anhin haben wir uns mit der symbolischen Manipulation von differentialalgebraischen Gleichungssystemen befasst. Die Frage, wo die Gleichungen.
Anfang Präsentation 20. Oktober, 2004 Elektrische Schaltungen I Diese Vorlesung diskutiert die mathematische Modellierung einfacher elektrischer linearer.
Algebraische Schleifen und Strukturelle Singularitäten
Lösung nichtlinear Gleichungssysteme
Anfang Präsentation 10. November, 2004 Effiziente Lösung von Gleichungssystemen In dieser Vorlesung wird die effiziente gemischt symbolisch/numerische.
Das Entfernen struktureller Singularitäten mittels Pantelides Algorithmus Diese Vorlesung stellt ein Verfahren vor, welches dazu verwendet werden kann,
Anfang Präsentation 24. November, 2004 Bondgraphen II In dieser Vorlesung befassen wir uns mit den Auswirkungen algebraischer Schleifen und struktu- reller.
Jamshid Azizi: Folie Isomorphietest Jamshid Azizi
Behandlung Singulärer Subsysteme mittels Graphentheorie
Strategie der Modellbildung
Die Sternenuhr Wir entdecken die Wissenschaften LTAM Steffen M. 2003/04 Kneip R.
ENDLICHE KÖRPER RSA – VERFAHREN.
Peer-to-Peer-Netzwerke
Das Traveling Salesman Problem (TSP)
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Geoinformation III Vorlesung 1 WS 2001/02 Punkt-in-Landkarte I (Streifenkarte)
Die Wege - Modellierung und Simulation von biochemischen Stoffwechselpfaden Ursula Kummer EML Research gGmbH.
Analyse der Laufzeit von Algorithmen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Analoge Schnittstellen Wesentliche Aufgaben:
Theorie, Anwendungen, Verallgemeinerungen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik II Vorlesung Suche des kürzesten Weges in einem Netz.
Anfang Präsentation 3. November, 2004 Tarjan’s Schleifenaufbrechalgorithmus In dieser Vorlesung wird ein Verfahren vorgestellt, welches in der Lage ist,
Gliederung der Vorlesung
 Präsentation transkript:

Modellierung Elektrischer Schaltkreise II Prof. Dr. François E. Cellier Institut für Computational Science ETH Zürich 29. Juni 2006

Algorithmen zur systematischen Behandlung differentialalgebraischer Gleichungssysteme Die bisher aufgezeigten Sortierverfahren sind nicht systematisch genug, um sie in einem Computerprogramm zu automatisieren. In dieser Vorlesung wird ein Algorithmus vorgestellt, der immer funktioniert, und der leicht automatisiert werden kann.

Übersicht Strukturinzidenzmatrix Strukturdigraph Tarjan Algorithmus Aufbrechen algebraischer Gleichungssysteme Strukturelle Singularitäten und der Strukturdigraph Pantelides Algorithmus

Tarjan’s Schleifenaufbrechalgorithmus Es wird nun ein Verfahren vorgestellt, welches in der Lage ist, algebraische Schleifen systematisch und algorithmisch zu erkennen und zu isolieren. Beim Tarjan Algorithmus handelt es sich um ein graphisches Verfahren, welches dazu dient, Gleichungssysteme gleichzeitig sowohl horizontal wie vertikal zu sortieren. Der Algorithmus kann ausserdem dazu verwendet werden, algebraisch gekoppelte Gleichungssysteme minimaler Grösse zu finden.

Die Strukturinzidenzmatrix I Die Strukturinzidenzmatrix enthält eine Zeile für jede Gleichung des Algebrodifferentialgleichungssystems sowie eine Spalte für jede Unbekannte, die das Gleichungssystem erhält. Da ein vollständiges Gleichungssystem immer gleich viele Gleichungen wie Unbekannte aufweist, ist die Struktur-inzidenzmatrix quadratisch. Das Element <i,j> der Strukturinzidenzmatrix betrachtet die Gleichung #i sowie die Unbekannte #j. Das Element hat einen Wert von 1, falls die angezeigte Variable in der betrachteten Gleichung auftritt, sonst enthält das entsprechende Matrixfeld den Wert 0.

Die Strukturinzidenzmatrix: Ein Beispiel 1: U0 = f(t) 2: i0 = iL + iR1 3: uL = U0 4: diL/dt = uL / L1 5: v1 = U0 6: uR1 = v1 – v2 7: iR1 = uR1 / R1 8: v2 = uC 9: iC = iR1 – iR2 10: duC/dt = iC / C1 11: uR2 = uC 12: iR2 = uR2 / R2 diL dt duC S = 01 02 03 04 05 06 07 08 09 10 11 12 1 U0 i0 uL v1 v2 iC uR1 iR1 iR2 uR2 

Der Strukturdigraph Der Strukturdigraph enthält die gleiche Information wie die Strukturinzidenzmatrix. Die Information ist nur anders dargestellt. Der Strukturdigraph listet links die Gleichungen, rechts die Unbekannten. Eine Verbindungslinie zwischen einer Gleichung und einer Unbekannten zeigt an, dass die Unbekannte in der Gleichung vorkommt.

Der Strukturdigraph: Ein Beispiel 01 02 03 04 05 06 07 08 09 10 11 12 Gleichungen U0 i0 uL diL/dt v1 uR1 iR1 v2 iC duC/dt uR2 iR2 Unbekannte 1: U0 = f(t) 2: i0 = iL + iR1 3: uL = U0 4: diL/dt = uL / L1 5: v1 = U0 6: uR1 = v1 – v2 7: iR1 = uR1 / R1 8: v2 = uC 9: iC = iR1 – iR2 10: duC/dt = iC / C1 11: uR2 = uC 12: iR2 = uR2 / R2 

Der Tarjan Algorithmus Der Tarjan Algorithmus basiert auf dem Strukturdigraphen. Es handelt sich um ein graphisches Verfahren, bei welchem der Digraph gefärbt wird.  Gleichungen mit nur einer schwarzen Linie, färbe man diese Linie rot und färbe man alle schwarzen Linien, die von der angezeigten Unbekannten ausgehen blau. Man nummeriere die Gleichungen neu aufsteigend und beginnend mit 1.  Unbekannten mit nur einer schwarzen Linie, färbe man diese Linie rot und färbe man alle schwarzen Linien, die von der angezeigten Gleichung ausgehen blau. Man nummeriere die Gleichung neu absteigend und beginnend mit n, der Anzahl Gleichungen.

Der Tarjan Algorithmus: Ein Beispiel I 01 02 03 04 05 06 07 08 09 10 11 12 Gleichungen U0 i0 uL diL/dt v1 uR1 iR1 v2 iC duC/dt uR2 iR2 Unbekannte 01 U 1: U0 = f(t) 2: i0 = iL + iR1 3: uL = U0 4: diL/dt = uL / L1 5: v1 = U0 6: uR1 = v1 – v2 7: iR1 = uR1 / R1 8: v2 = uC 9: iC = iR1 – iR2 10: duC/dt = iC / C1 11: uR2 = uC 12: iR2 = uR2 / R2 10 i R1 11 di /dt L u 02 v 2  12 du /dt C i 03 u R2

Der Tarjan Algorithmus: Ein Beispiel II 01 02 03 04 05 06 07 08 09 10 11 12 Gleichungen U0 i0 uL diL/dt v1 uR1 iR1 v2 iC duC/dt uR2 iR2 Unbekannte 01 U 1: U0 = f(t) 2: i0 = iL + iR1 3: uL = U0 4: diL/dt = uL / L1 5: v1 = U0 6: uR1 = v1 – v2 7: iR1 = uR1 / R1 8: v2 = uC 9: iC = iR1 – iR2 10: duC/dt = iC / C1 11: uR2 = uC 12: iR2 = uR2 / R2 10 i R1 04 u L 11 di /dt L u 05 v 1 02 v 2  09 i C R1 06 i R2 12 du /dt C i 03 u R2

Der Tarjan Algorithmus: Ein Beispiel III 01 02 03 04 05 06 07 08 09 10 11 12 Gleichungen U0 i0 uL diL/dt v1 uR1 iR1 v2 iC duC/dt uR2 iR2 Unbekannte 01 U 1: U0 = f(t) 2: i0 = iL + iR1 3: uL = U0 4: diL/dt = uL / L1 5: v1 = U0 6: uR1 = v1 – v2 7: iR1 = uR1 / R1 8: v2 = uC 9: iC = iR1 – iR2 10: duC/dt = iC / C1 11: uR2 = uC 12: iR2 = uR2 / R2 10 i R1 04 u L 11 di /dt L u 05 v 1 02 v 2 07 u R1  08 i R1 09 i C R1 06 i R2 12 du /dt C i 03 u R2

Der Tarjan Algorithmus: Ein Beispiel IV 01 02 03 04 05 06 07 08 09 10 11 12 Gleichungen U0 i0 uL diL/dt v1 uR1 iR1 v2 iC duC/dt uR2 iR2 Unbekannte 1: U0 = f(t) 2: v2 = uC 3: uR2 = uC 4: uL = U0 5: v1 = U0 6: iR2 = uR2 / R2 7: uR1 = v1 – v2 8: iR1 = uR1 / R1 9: iC = iR1 – iR2 10: i0 = iL + iR1 11: diL/dt = uL / L1 12: duC/dt = iC / C1 

Die Strukturinzidenzmatrix II 1: U0 = f(t) 2: v2 = uC 3: uR2 = uC 4: uL = U0 5: v1 = U0 6: iR2 = uR2 / R2 7: uR1 = v1 – v2 8: iR1 = uR1 / R1 9: iC = iR1 – iR2 10: i0 = iL + iR1 11: diL/dt = uL / L1 12: duC/dt = iC / C1 diL dt duC S = 01 02 03 04 05 06 07 08 09 10 11 12 1 U0 i0 uR2 v2 v1 iC uR1 iR1 iR2 uL  Die Strukturinzidenzmatrix des vollständig sortierten Gleichungssystems ist eine Matrix in der unteren Dreiecksform. 

Algebraische Schleifen: Ein Beispiel I 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 

Algebraische Schleifen: Ein Beispiel II 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 

Algebraische Schleifen: Ein Beispiel III 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2   Der Algorithmus kommt ins Stocken, da es keine einzelnen schwarzen Linien zu Gleichungen oder Variablen mehr gibt.

Das Aufbrechen algebraischer Schleifen I Die folgende Heuristik kann angewandt werden, um geeignete Schnittvariablen zu suchen: Im Digraphen bestimmt man diejenigen Gleichungen mit der grössten Anzahl Unbekannter. Für jede dieser Gleichungen findet man die Unbekannten, die am häufigsten in noch unverwendeten Gleichungen vorkommen. Für jede dieser Variablen ermittelt man, wie viele zusätzliche Gleichungen kausalisiert werden können, wenn man diese als bekannt annimmt. Man wählt diejenige Variable als nächste Schnittvariable, die die grösste Anzahl zusätzlicher Gleichungen kausalisiert.

Das Aufbrechen algebraischer Schleifen II Im gegebenen Beispiel hat Gleichung #7 noch 3 Unbe-kannte. Alle anderen unverwendeten Gleichungen haben nur noch 2 Unbekannte. Gleichung #7 beinhaltet die Variablen i1, i2 , and i3 . Jede dieser Variablen kommt in einer weiteren unbenutzten Gleichung vor. Bereits Variable i1 erlaubt es, sämtliche Gleichungen zu kausalisieren. Somit wird i1 als Schnittvariable verwendet.

Algebraische Schleifen: Ein Beispiel IV 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 Wahl 09 08 10 

Algebraische Schleifen: Ein Beispiel V 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 Wahl 09 08 10 

Algebraische Schleifen: Ein Beispiel VI 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 Wahl 09 08 10  06 07

Algebraische Schleifen: Ein Beispiel VII 01 02 03 04 05 06 07 08 09 10 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 Wahl 09 08 10  04 06 07

Algebraische Schleifen: Ein Beispiel VIII 10 09 08 01 02 03 04 05 06 07 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: u1 = R1· i1 3: u2 = R2· i2 4: u3 = R3· i3 5: uL = L· diL/dt 6: i0 = i1 + iL 7: i1 = i2 + i3 8: U0 = u1 + u3 9: u3 = u2 10: uL = u1 + u2 Wahl 

Algebraische Schleifen: Ein Beispiel IX 10 09 08 01 02 03 04 05 06 07 Gleichungen U0 i0 uL diL/dt u1 i1 u2 i2 u3 i3 Unbekannte 1: U0 = f(t) 2: i1 = i2 + i3 3: u1 = R1· i1 4: u3 = U0 - u1 5: u2 = u3 6: i2 = u2 / R2 7: i3 = u3 / R3 8: uL = u1 + u2 9: i0 = i1 + iL 10: diL/dt = uL / L Wahl 

Die Strukturinzidenzmatrix III 1: U0 = f(t) 2: i1 = i2 + i3 3: u1 = R1· i1 4: u3 = U0 - u1 5: u2 = u3 6: i2 = u2 / R2 7: i3 = u3 / R3 8: uL = u1 + u2 9: i0 = i1 + iL 10: diL/dt = uL / L Wahl diL dt S = 01 02 03 04 05 06 07 08 09 10 1 U0 i0 i2 u3 u1 i1 i3 uL u2  Die Strukturinzidenzmatrix hat nun die Form einer unteren Blockdreiecksmatrix (“Block Lower Triangular form” oder BLT form). 

Das Auflösen algebraischer Schleifen I Der Tarjan Algorithmus identifiziert und isoliert algebraische Schleifen. Er formt die Strukturinzidenzmatrix um, so dass sie eine untere Blockdreiecksform annimmt, wobei die diagonalen Blöcke so klein wie möglich gehalten werden. Die Schnittvariabeln werden nicht in einer echt optimalen Form ausgewählt. Dies erweist sich nicht als sinnvoll, da gezeigt wurde, dass das Problem der optimalen Wahl von Schnittvariabeln np-vollständig ist. Stattdessen werden Heuristiken angewandt, welche normalerweise zu einer sehr kleinen Anzahl von Schnittvariabeln führen, obwohl diese Zahl möglicherweise nicht minimal ist. Der Tarjan Algorithmus befasst sich nicht mit dem Problem, wie die resultierenden algebraischen Schleifen aufgelöst werden.

Das Auflösen algebraischer Schleifen II Die algebraischen Schleifen können entweder analytisch oder aber numerisch aufgelöst werden. Falls die algebraisch gekoppelten Gleichungen nichtlinear sind, mag eine Newton Iteration über die Schnittvariabeln optimal sein. Falls die algebraisch gekoppelten Gleichungen linear sind und falls der Satz ziemlich gross ist, mag eine Newton Iteration immer noch die Methode der Wahl sein. Falls die algebraisch gekoppelten Gleichungen linear sind und falls der Satz nicht sehr gross ist, können die Gleichungen entweder mittels Matrizenrechnung oder aber mittels expliziter symbolischer Formelmanipulation gelöst werden.

Strukturelle Singularitäten: Ein Beispiel I Wir stellen ein Modell unter Ver-wendung der Ströme, Spannungen und Potentiale auf. Die Maschen-gleichungen werden daher ignoriert. Wir haben 7 Netzwerkkomponenten plus die Erde, somit 2 7 + 1 = 15 Gleichungen. Dazu kommen vier Knoten, die zu 3 zusätzlichen Gleichungen führen. Somit erwar-ten wir 18 Gleichungen in 18 Unbe-kannten. I 1 2 3 i C L1 L2 R v Die Spannungen werden bei passiven Komponenten in die gleiche Richtung positiv normiert wie die Ströme. Bei aktiven Komponenten (Quellen) ist es umgekehrt.

Strukturelle Singularitäten: Ein Beispiel II 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 I1 I2 I3 uR iR uL1 diL1 /dt uL2 diL2 /dt iC duC /dt v0 v1 v2 v3 u1 u2 u3 Strukturelle Singularitäten: Ein Beispiel II 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 /dt 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 

Strukturelle Singularitäten: Ein Beispiel III 01 Strukturelle Singularitäten: Ein Beispiel III 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 I1 I2 I3 uR iR uL1 diL1 /dt uL2 diL2 /dt iC duC /dt v0 v1 v2 v3 u1 u2 u3 02 03 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 /dt 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 13 04 14  15 16 17 18

Strukturelle Singularitäten: Ein Beispiel IV 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 I1 I2 I3 uR iR uL1 diL1 /dt uL2 diL2 /dt iC duC /dt v0 v1 v2 v3 u1 u2 u3 Strukturelle Singularitäten: Ein Beispiel IV 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 /dt 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0  Beschränkungsgleichung Alle Verbindungen sind blau

Struktureller Singularitäten I Wenn eine Gleichung keine Unbekannte mehr enthält, obwohl sie noch nicht verwendet wurde, ist eine strukturelle Singularität aufgetreten. Wenn eine Variable in allen Gleichungen bereits bekannt ist, obwohl sie noch nicht kausalisiert wurde, ist ebenfalls eine strukturelle Singularität eingetreten.

Struktureller Singularitäten II Strukturelle Singularitäten deuten darauf hin, dass die scheinbaren Zustandsgrössen im Modell algebraisch gekoppelt sind, d.h. dass das System in Wirklichkeit von niederer Ordnung ist. Dies entspricht nicht dem Problem der Steuerbarkeit und/oder Beobachtbarkeit (parametrische Singularität); es tritt bei beliebigen Parameterwerten auf.

Das Entfernen struktureller Singularitäten mittels Pantelides Algorithmus Es wird nun ein Verfahren vorgestellt, welches dazu verwendet werden kann, strukturelle Singularitäten in systematischer und algorith-mischer Weise aus einem Modell zu entfernen. Das Verfahren wird Pantelides Algorithm genannt.

Der Algorithmus von Pantelides I Wenn eine Beschränkungsgleichung gefunden wurde, muss diese abgeleitet werden. Beim Algorithmus von Pantelides wird die abgeleitete Beschränkungsgleichung dem Gleichungssystem zugefügt. Somit hat das Gleichungssystem nun eine überzählige Gleichung. Um die Anzahl von Gleichungen und Unbekannten wieder auszugleichen, wird ein mit der Beschränkungsgleichung verbundener Integrator eliminiert.

Der Algorithmus von Pantelides II dx dt x  unbekannt bekannt, da Zustandsvariable dx dt x  unbekannt  dx x unbekannt  Eine zusätzliche Unbekannte wurde durch die Elimination des Integrators geschaffen. x und dx sind nun algebraische Variablen, für die Gleichungen gefunden werden müssen.

Der Algorithmus von Pantelides III Beim Ableiten der Beschränkungsgleichung kann es geschehen, dass zusätzliche neue Variablen erzeugt werden, z.B. v  dv, wobei v eine algebraische Variable ist. Nachdem v bereits blau war (sonst wäre es ja keine Beschränkungsgleichung), existiert eine andere Gleichung, die v ermittelt. Diese Gleichung muss nun ebenfalls abgeleitet werden. Das Ableiten zusätzlicher Gleichungen hört erst dann auf, wenn keine neuen Variablen mehr erzeugt werden.

Der Pantelides Algorithmus: Ein Beispiel I eliminierter Integrator neu eingeführte Variabeln 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 /dt 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 dI1 + diC + diL2 + dI3 = 0 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0

Der Pantelides Algorithmus: Ein Beispiel II 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 /dt 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2  16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0

Der Pantelides Algorithmus: Ein Beispiel III 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 23: dI2 = df2(t)/dt uL1 = L1 · diL1 /dt neu eingeführte Variable 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0

Der Pantelides Algorithmus: Ein Beispiel IV 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt

Der Pantelides Algorithmus: Ein Beispiel V 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt

Der Pantelides Algorithmus: Ein Beispiel VI 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt

Der Pantelides Algorithmus: Ein Beispiel VII 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt

Der Pantelides Algorithmus: Ein Beispiel VIII 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt Es findet sich ein algebraisch gekoppeltes System mit 7 Gleichungen in 7 Unbekannten. diL2 Wahl

Der Pantelides Algorithmus: Ein Beispiel IX 9: u1 = v0 – v1 10: u2 = v3 – v2 11: u3 = v0 – v1 12: uR = v3 – v0 13: uL1 = v2 – v0 14: uL2 = v1 – v3 15: uC = v1 – v2 16: iC = iL1 + I2 17: iR = iL2 + I2 18: I1 + iC + iL2 + I3 = 0 19: dI1 + diC + diL2 + dI3 = 0 1: I1 = f1(t) 2: I2 = f2(t) 3: I3 = f3(t) 4: uR = R · iR 5: uL1 = L1 · diL1 /dt 6: uL2 = L2 · diL2 7: iC = C · duC /dt 8: v0 = 0 20: dI1 = df1(t)/dt 21: dI3 = df3(t)/dt 22: diC = diL1 /dt + dI2 23: dI2 = df2(t)/dt

Zusammenfassung I Zunächst findet man einen vollständigen Satz a-kausaler Algebrodifferentialgleichungen. Auf diesen Satz wendet man den Färbealgorithmus von Tarjan an. Falls sich eine Gleichung findet, die völlig blau gefärbt ist, ist das System strukturell singulär. Das strukturell singuläre System wird mittels Anwendung des Algorithmus von Pantelides regulär gemacht. Es mag nötig sein, den Pantelides Algorithmus mehrfach anzuwenden.

Zusammenfassung II Auf das nunmehr reguläre Algebrodifferentialgleichungs-system wendet man wiederum den Färbealgorithmus von Tarjan an. Falls der Algorithmus ins Stocken kommt, hat man es mit einem algebraisch gekoppelten System zu tun. Nach der Anwendung des Pantelides Algorithmus auf ein strukturell singuläres System treten algebraische Schleifen häufig auf. Dieses System muss nun zunächst weiterverarbeitet werden. Das Aufschneideverfahren, welches bereits vorgestellt wurde, ist ein mögliches Verfahren, um mit solchen algebraisch gekoppelten Systemen umzugehen.

Ausblick