sundae how to schedule multimode dae systems
play

SunDAE: How to Schedule Multimode DAE Systems? Albert Benveniste, - PowerPoint PPT Presentation

SunDAE: How to Schedule Multimode DAE Systems? Albert Benveniste, Benot Caillaud, Khalil Ghorbal, Marc Pouzet figures/inria-en.pdf figures/ens.pdf 5 December 2016 1 / 21 From DAEs to mDAES Structural Analysis of DAE Systems Strucutral


  1. SunDAE: How to Schedule Multimode DAE Systems? Albert Benveniste, Benoît Caillaud, Khalil Ghorbal, Marc Pouzet figures/inria-en.pdf figures/ens.pdf 5 December 2016 1 / 21

  2. From DAEs to mDAES Structural Analysis of DAE Systems Strucutral Differentiation Index Decomposition into Block Triangular Form (BTF) mDAEs Example: A Simple Clutch Adapting BTF Decomposition to mDAEs Conclusion 2 / 21

  3. Compositionality and reuse: Simulink → Modelica Simulink has become a central tool in systems design: Block Diagram 3 / 21

  4. Compositionality and reuse: Simulink → Modelica From Block Diagram to Component Diagram 3 / 21

  5. Compositionality and reuse: ODE → DAE   from Simulink (ODE): to Modelica (DAE):     HS in state space form HS as physical balance equations           � 0 = f ( x ′ , x , u ) � x ′ = f ( x , u )               y = g ( x , u ) 0 = g ( x , u ) − →       the state space form Kirchhoff laws, bond graphs,         depends on the context multi-body mechanical systems             reuse is difficult reuse is much easier   4 / 21

  6. Compositionality and reuse: ODE → DAE • Modeling tools supporting DAE • Proprietary languages: Mathworks/Simscape, LMS/AmeSim (bond graphs) • Modelica is a public standard https://www.modelica.org/ ; • EDA dedicated languages: VHDL AMS 5 / 21

  7. A sketch of Modelica and its semantics [Fritzson] model SimpleDrive ..Rotational.Inertia Inertia1 (J=0.002); ..Rotational.IdealGear IdealGear1(ratio=100) ..Basic.Resistor Resistor1 (R=0.2) ... equation connect (Inertia1.flange_b, IdealGear1.flange_a); connect (Resistor1.n, Inductor1.p); ... end SimpleDrive; model Resistor type Voltage = package SIunits = Modelica.SIunits; Real(quantity="Voltage", parameter SIunits.Resistance R = 1; unit ="V"); SIunits.Voltage v; ..Interfaces.PositivePin p; ..Interfaces.NegativePin n; connector PositivePin equation package SIunits = Modelica.SIunits; 0 = p.i + n.i; SIunits.Voltage v; v = p.v - n.v; flow SIunits.Current i; v = R*p.i; end PositivePin; end Resistor; 6 / 21

  8. A sketch of Modelica and its semantics [Fritzson] • Modelica Reference v3.3: “The semantics of the Modelica language is specified by means of a set of rules for translating any class described in the Modelica language to a flat Modelica structure” • the good: • Semantics of continuous-time 1-mode Modelica models: Cauchy problem on the DAE resulting from the inlining of all components • Modelica supports multi-mode systems 1 = if g then x*x + y*y else y; der(x) + x + y = 0; when x <= 0 do reinit(x,1); end; when y <= 0 do reinit(y,x); end; • the bad: What about the semantics of multi-mode systems? • and . . . : Questionable simulations [Tim Bourke and Marc Pouzet] 6 / 21

  9. From DAEs to mDAES Structural Analysis of DAE Systems Strucutral Differentiation Index Decomposition into Block Triangular Form (BTF) mDAEs Example: A Simple Clutch Adapting BTF Decomposition to mDAEs Conclusion 7 / 21

  10. Structural Analysis of DAE Systems Aim: • Determine the latent equations that are required to turn the DAE system into a determined system with ODEs • Compute a scheduling of minimal blocks of equations Two steps: 1 Index reduction: determine differentiation index and latent equations 2 Compute a scheduling: block triangular form (BTF) decomposition 8 / 21

  11. From DAEs to mDAES Structural Analysis of DAE Systems Strucutral Differentiation Index Decomposition into Block Triangular Form (BTF) mDAEs Example: A Simple Clutch Adapting BTF Decomposition to mDAEs Conclusion 9 / 21

  12. Structural Differentiation Index A classics: the pendulum example ( T is an algebraic variable):  0 = ˙ x − u    ¨ = 0 = ˙ u − Tx x Tx     ¨ = Ty − g 0 = ˙ y − v y as a 1st order DAE: x 2 + y 2 L 2 0 = ˙ v − Ty + g =     0 = − L 2 + x 2 + y 2   This is not index 0 since the Jacobian with respect to ˙ x , ˙ u , ˙ y , ˙ v , T is singular:   1 0 0 0 0 0 1 0 0 − x     0 0 1 0 0     0 0 0 1 − y   0 0 0 0 0 10 / 21

  13. Structural Differentiation Index A classics: the pendulum example ( T is an algebraic variable):  0 = ˙ x − u    ¨ = 0 = ˙ u − Tx x Tx     ¨ = Ty − g 0 = ˙ y − v y as a 1st order DAE: x 2 + y 2 L 2 0 = ˙ v − Ty + g =     0 = − L 2 + x 2 + y 2   Differentiating the third equation twice yields two latent constraints : 0 = ˙ x − u 0 = ˙ u − Tx 0 = ˙ y − v 0 = ˙ v − Ty + g 0 = − L 2 + x 2 + y 2 0 = ˙ xx + ˙ yy x 2 + ˙ y 2 + ˙ 0 = ˙ ux + ˙ vy Jacobians show that ˙ x , ˙ u , ˙ y , ˙ v , T are uniquely determined: the index is 2. Algorithms: Diff. index, consistent initialization [Pantelides 88], Σ-method (linear programming) [Pryce 01], dummy derivatives [Matsson et al. 93] 10 / 21

  14. From DAEs to mDAES Structural Analysis of DAE Systems Strucutral Differentiation Index Decomposition into Block Triangular Form (BTF) mDAEs Example: A Simple Clutch Adapting BTF Decomposition to mDAEs Conclusion 11 / 21

  15. Decomposition into Block Triangular Form (BTF) • Bipartite graph: incidence relation ρ between E = { e 1 , . . . e n } and X = { x 1 , . . . x m } • BTF = decomposition into minimal structurally invertible blocks & partial order between blocks • Essential step in Modelica compilers • Modelica models are structurally determined: n = m   x 1 x 2 x 3 x 4 x 5 e 1 X X X     e 2 X X X     e 3 X X     e 4 X X   e 5 X X 12 / 21

  16. Decomposition into Block Triangular Form (BTF) • BTF = decomposition into minimal structurally invertible blocks & partial order between blocks • BTF is unique • Classic method for sparse matrices [Duff et al. 1986]     x 1 x 2 x 3 x 4 x 5 x 4 x 5 x 1 x 2 x 3 e 1 X X X e 3 X X         e 2 X X X e 4 X X �→         e 3 X X e 5 X X         e 4 X X e 1 X X X     e 5 X X e 2 X X X 12 / 21

  17. Decomposition into Block Triangular Form (BTF) • BTF = decomposition into minimal structurally invertible blocks & partial order between blocks • BTF is unique • Classic method for sparse matrices [Duff et al. 1986]     x 1 x 2 x 3 x 4 x 5 x 4 x 5 x 1 x 2 x 3 e 1 X X X e 3 X X         e 2 X X X e 4 X X �→         e 3 X X e 5 X X         e 4 X X e 1 X X X     e 5 X X e 2 X X X Scheduling : solve e 3 , e 4 for x 4 , x 5 ; solve e 5 for x 1 ; solve e 1 , e 2 for x 2 , x 3 12 / 21

  18. Reduction to Block Triangular Form (BTF) Two steps: 1 Compute a transversal: minimal vertex cover, defining a bijection between E and X . Depth-first search algorithm [Duff, Gustavson 72–81]. Complexity O ( n | ρ | ) 2 Compute an orientation of the bipartite graph, based on the transversal. Defines a BTF decomposition (blocks are the strongly connected components) [Sargent, Westerberg 64] [Tarjan72]. Complexity O ( | ρ | )   x 1 x 2 x 3 x 4 x 5 e 1 X X X     e 2 X X X     e 3 X X     e 4 X X   e 5 X X 13 / 21

  19. Reduction to Block Triangular Form (BTF) • Two steps: 1 Compute a transversal: minimal vertex cover, defining a bijection between E and X . Depth-first search algorithm [Duff, Gustavson 72–81]. Complexity O ( n | ρ | ) 2 Compute an orientation of the bipartite graph, based on the transversal. Defines a BTF decomposition (blocks are the strongly connected components) [Sargent, Westerberg 64] [Tarjan72]     x 1 x 2 x 3 x 4 x 5 x 3 x 2 x 4 x 5 x 1 e 1 X X X e 1 X X X         e 2 X X X �→ e 2 X X X         e 3 X X e 3 X X         e 4 X X e 4 X X     e 5 X X e 5 X X 13 / 21

  20. Reduction to Block Triangular Form (BTF) • Two steps: 1 Compute a transversal: minimal vertex cover, defining a bijection between E and X . Depth-first search algorithm [Duff, Gustavson 72–81]. Complexity O ( n | ρ | ) 2 Compute an orientation of the bipartite graph, based on the transversal. Defines a BTF decomposition (blocks are the strongly connected components) [Sargent, Westerberg 64] [Tarjan72]     x 3 x 2 x 4 x 5 x 1 x 4 x 5 x 1 x 2 x 3 e 1 X X X e 3 X X         e 2 X X X �→ e 4 X X         e 3 X X e 5 X X         e 4 X X e 1 X X X     e 5 X X e 2 X X X Scheduling : solve e 3 , e 4 for x 4 , x 5 ; solve e 5 for x 1 ; solve e 1 , e 2 for x 2 , x 3 13 / 21

  21. From DAEs to mDAES Structural Analysis of DAE Systems Strucutral Differentiation Index Decomposition into Block Triangular Form (BTF) mDAEs Example: A Simple Clutch Adapting BTF Decomposition to mDAEs Conclusion 14 / 21

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend