Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modellierung Elektrischer Schaltkreise II

Ähnliche Präsentationen


Präsentation zum Thema: "Modellierung Elektrischer Schaltkreise II"—  Präsentation transkript:

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

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

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

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

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

6 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

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

8 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

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

10 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

11 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

12 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

13 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

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

15 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

16 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

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

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

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

20 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

21 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

22 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

23 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

24 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

25 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

26 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).

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

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

29 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 = 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.

30 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

31 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

32 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

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

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

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

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

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

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

39 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

40 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

41 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

42 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

43 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

44 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

45 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

46 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

47 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

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

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

50 Ausblick


Herunterladen ppt "Modellierung Elektrischer Schaltkreise II"

Ähnliche Präsentationen


Google-Anzeigen