Behandlung Singulärer Subsysteme mittels Graphentheorie ModeliSax - IV Professur für Baumaschinen- und Fördertechnik Behandlung Singulärer Subsysteme mittels Graphentheorie Dresden, 12.02.2014
Behandlung singulärer Subsysteme mittels Graphentheorie Gliederung Gliederung 1. Algebraische Schleifen 2. Auflösen von Schleifen 3. Die Wirkung von „resolveLoops“ 4. Fazit und Ausblick Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Algebraische Schleifen 1: R.v = R.R_actual * R.i 2: R.LossPower = R.v * R.i 3: R1.v = R1.R_actual * R1.i 4: R1.LossPower = R1.v * R1.i 5: R1.v = R.v - R1.n.v 6: R2.v = R2.R_actual * R1.i 7: R2.LossPower = R2.v * R1.i 8: R2.v = R1.n.v + constantCurrent.v 9: C1.i = C1.C * der(C1.v) 10: C1.v = R.v + constantCurrent.v 11: ground.p.i + constantCurrent.I - R.i = 0.0 12: R.i + R1.i + C1.i = 0.0 13: (-C1.i) - constantCurrent.I - R1.i = 0.0 Gleichung Variable Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Algebraische Schleifen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Wie werden Algebraische Schleifen gelöst? Lineare oder Nichtlineare, numerische Löser aufwändig für große Gleichungssysteme singuläre Systeme nicht behandelbar Parallelisierung nicht vielversprechend Tearing + Netwon Iteration dünn besetztes System dicht besetztes System Schleifen auflösen „resolveLoops“ backEnd-Modul in OpenModelica Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Wie können Schleifen aufgelöst werden? Auflösen von Schleifen Wie können Schleifen aufgelöst werden? f2: 0 = b – c + p f3: 0 =(-b)+ c + d + + - - + + f2+f3: 0 = d + p Gleichung Variable Parameter Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
resolveLoops-Modul resolveLoops Lineare Gleichungen innere Variable äußere Variable resolveLoops-Modul Lineare Gleichungen und adjazente Variablen 0= 𝑖=1 𝑘 𝑥 𝑖 + 𝑛 Partitionierung in Subgraphen Auflösen? Anzahl der Variablen vergleichen 𝑛 𝑜𝑢𝑡 ≤ 𝑛 𝑖𝑛 resolveLoops Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie resolveLoops R1.v = R.v - R1.n.v C1.v = R.v + constantCurrent.v R2.v = R1.n.v + constantCurrent.v - R.i + R1.i + C1.i = 0.0 (-C1.i) - constantCurrent.I - R1.i = 0.0 + - 0.0 = C1.v + (-R2.v) - R1.v 0.0 = constantCurrent.I - R.i Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie resolveLoops R1.v R2.v Knotensatz 0.0 = constantCurrent.I - R.i C1.v Maschensatz 0.0 = C1.v + (-R2.v) - R1.v R.i constantCurrent.I Connect-Gleichungen Knoten- und Maschengleichungen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Auswirkungen von resolveLoops Für das vorgestellte Modell: Ohne resolveLoops Mit resolveLoops Gleichungssystem {8x8} System {3x3} System speed up 1.14 kleinere Gleichungssysteme Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Auswirkungen von resolveLoops ohne resolveLoops Error: When solving linear system 1 : resistor.i + resistor1.i - inductor.i = 0.0 2 : inductor1.i + (-resistor1.i) - resistor.i = 0.0 . U(2,2) = 0.0, which means system is singular for variable resistor1.i. 2 (identische) Zustände mit resolveLoops Verrechnete Gleichungen: 0.0 = -ground.p.i 0.0 = inductor.i - inductor1.i 0.0 = resistor1.v - resistor.v Simulation erfolgreich 1 Zustand Dymola User Manual Volume 2 p. 361 Singuläre Systeme vorbeugen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Auswirkungen von resolveLoops Vereinfachtes Batteriemodell Für einen Hybrid-Pkw (3 Zellen) Originalmodell: 30 Zellen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Auswirkungen von resolveLoops bipartiter Graph der zu verrechnenden Schleifen Spannungsgleichungen Stromgleichungen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Auswirkungen von resolveLoops 1 x {3x3} 5 x {4x4} Task-Graph ohne resolveLoops 1 x {80x80} Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Auswirkungen von resolveLoops 18 x {3x3} Task-Graph mit resolveLoops Serieller speedUp 1.98 Serieller speedUp (30 Zellen) 36.06 Paralleles Potenzial erhöhen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Auswirkungen von resolveLoops Electrical.QuasiStationary.SinglePhase.Examples.ParallelResonance ohne resolveLoops mit resolveLoops Strongly Connected Components 8 single equations 6 single equations Anzahl der SCCs reduziert Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Fazit und Ausblick Fazit Möglichkeiten durch das Auflösen von Schleifen: Zerlegung von Gleichungssystemen Singulären Systemen vorbeugen Anzahl der SCC verringern paralleles Potenzial vergrößern schnellere Simulation (seriell und parallel) Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Behandlung singulärer Subsysteme mittels Graphentheorie Fazit und Ausblick Ausblick Offene Fragen: - Welche Schleifen sind zu lösen? - Alle Schleifen oder nur singuläre Schleifen ? - Wie erkennt man singuläre Schleifen? - … Implementierung für alle konstanten Koeffizienten Analyse von neuen Modellen aus verschiedenen Domänen Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie
Vielen Dank für die Aufmerksamkeit Dresden, 12.02.2012 Behandlung singulärer Subsysteme mittels Graphentheorie