Anfang Präsentation
Signale und Systeme II
Modellierung Elektrischer Schaltkreise II
Prof. Dr. François E. Cellier
Institut für Computational Science
ETH Zürich
29. Juni 2006
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Übersicht
• Strukturinzidenzmatrix• Strukturdigraph• Tarjan Algorithmus• Aufbrechen algebraischer Gleichungssysteme• Strukturelle Singularitäten und der Strukturdigraph• Pantelides Algorithmus
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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
dtduC
dt
S =
010203040506070809101112
101010000000
010000000000
001100000000
000100000000
000011000000
000001100000
010000101000
000001010000
000000001100
000000000100
000000000011
000000001001
U0 i0uL v1 v2 iC
uR1 iR1 iR2uR2
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Der Strukturdigraph: 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
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
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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
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
01U0
U0
U0
02v2
v2
03
uR2uR2
12
du /dtC iC
11di /dtL uL
10i0 iR1
Anfang Präsentation
Signale und Systeme II
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
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
01U0
U0
U0
02v2
v2
03
uR2uR2
12
du /dtC iC
11di /dtL uL
10i0 iR1
04uL
05v1v1
06
iR2
R2i09
iC iR1
Anfang Präsentation
Signale und Systeme II
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
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
01U0
U0
U0
02v2
v2
03
uR2uR2
12
du /dtC iC
11di /dtL uL
10i0 iR1
04uL
05v1v1
06
iR2
R2i09
iC iR1
07uR1uR1 08
iR1
Anfang Präsentation
Signale und Systeme II
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
01
02
03
12
11
10
04
05
06
09
0708
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
Anfang Präsentation
Signale und Systeme II
Die Strukturinzidenzmatrix des vollständig sortierten Gleichungssystems ist eine Matrix in der unteren Dreiecksform.
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
dtduC
dt
S =
010203040506070809101112
100110000000
010000100000
001001000000
000100000010
000010100000
000001001000
000000110000
000000011100
000000001001
000000000100
000000000010
000000000001
U0 i0uR2v2 v1 iCuR1 iR1iR2
uL
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel I
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
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel II
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
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
10
09
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel III
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
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
10
09
08
Der Algorithmus kommt ins Stocken, da es keine einzelnen schwarzen Linien zu Gleichungen oder Variablen mehr gibt.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel IV
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
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
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel V
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
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
03
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel VI
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
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
03
07
06
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel VII
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
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
03
07
0604
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel VIII
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
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
03
07
0604
05
Anfang Präsentation
Signale und Systeme II
Algebraische Schleifen: Ein Beispiel IX
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 / LWahl
10
09
08
01
02
03
04
05
06
07
08
09
10
Gleichungen
U0
i0
uL
diL/dt
u1
i1
u2
i2
u3
i3
Unbekannte
01
02
03
07
0604
05
Anfang Präsentation
Signale und Systeme II
Die Strukturinzidenzmatrix hat nun die Form einer unteren Blockdreiecksmatrix (“Block Lower Triangular form” oder BLT form).
Die Strukturinzidenzmatrix III
diL
dt
S =
01020304050607080910
1001000000
0110000010
0011000100
0001101000
0000110100
0100010000
0100001000
0000000101
0000000010
0000000001
U0 i0i2u3 i2u1i1 i3 uL1: 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 / LWahl
u2
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Strukturelle Singularitäten: Ein Beispiel I
I1
I2
I3
iC
iL1iL2
iR
v1
v2v3
v0
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 27 + 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.
Die Spannungen werden bei passiven Komponenten in die gleiche Richtung positiv normiert wie die Ströme. Bei aktiven Komponenten (Quellen) ist es umgekehrt.
Anfang Präsentation
Signale und Systeme II
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
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
Anfang Präsentation
Signale und Systeme II
Strukturelle Singularitäten:Ein Beispiel III
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
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
010203
04
181716
15
14
13
Anfang Präsentation
Signale und Systeme II
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
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
010203
04
181716
15
14
13
05
Beschränkungsgleichung
Alle Verbindungen sind blau
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Der Algorithmus von Pantelides II
dxdt
x
unbekannt bekannt, da Zustandsvariable
dxdt
x
unbekannt unbekannt
dx x
unbekannt 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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Der Pantelides Algorithmus: Ein Beispiel I
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
dI1 + diC + diL2 + dI3 = 0
eliminierter Integrator
neu eingeführte Variabeln
Anfang Präsentation
Signale und Systeme II
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
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
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 = 016: iC = iL1 + I2
17: iR = iL2 + I2
18: I1 + iC + iL2 + I3 = 0
19: dI1 + diC + diL2 + dI3 = 0
Anfang Präsentation
Signale und Systeme II
Der Pantelides Algorithmus: Ein Beispiel III
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
20: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI2
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
uL1 = L1 · diL1 /dt neu eingeführte Variable
23: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dtdiL2
Wahl
Es findet sich ein algebraisch gekoppeltes System mit 7 Gleichungen in 7 Unbekannten.
Anfang Präsentation
Signale und Systeme II
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 = 020: dI1 = df1(t)/dt
21: dI3 = df3(t)/dt
22: diC = diL1 /dt + dI223: dI2 = df2(t)/dt
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
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.
Anfang Präsentation
Signale und Systeme II
Ausblick
Top Related