Lecture Overview 

Converting implicit DAE into semiexplicit DAE 

• 
Graphbased algorithm 

Challenge 1: Algebraic Loops 

• 
Tearing algorithm 

Challenge 2: Structural singularities 

• 
What is it? 
How to deal with it? 

• 
Higherindex problems 

Challenge 3: Handling Discrete Events 

• 
Zero crossings 

Overview of Dymola solvers and their properties 

For more info refer to: Continuous System Simulation by Cellier and Kofman 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 

DAE problems in Dymola 


Objectoriented model results in implicit DAE system: 

& ,
,,) 


Before solving, Dymola converts this into a semiexplicit DAE: 

&
,,,)⎪⎨⎪⎩ 
⎧ y & = f(g yzty(0) = 
(,)yzt,,,)=0y0 


Problems that need to be addressed: 

• Selection of state variables, y 

• Causality assignment: For each equation determine which variable is the dependent variable 

• Order in which equations should be evaluated 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 

/:
_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s}
Systems Realization Laboratory
10
/:
Lecture Overview 

Converting implicit DAE into semiexplicit DAE 

• Graphbased algorithm 

Challenge 1: Algebraic Loops 

• Tearing algorithm 

Challenge 2: Structural singularities 

• What is it? 
How to deal with it? 

• Higherindex problems 

Challenge 3: Handling Discrete Events 

• Zero crossings 

Overview of Dymola solvers and their properties 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 


System 2 – Algebraic Loop 

u 0 u 
= ft ( ) 

= Ri ⋅ 

1 
11
u
=
Ri
⋅
2
22
di
L
u
=
L
⋅
L
dt
u
=
Ri
⋅
3
33
u
=
uu
+
0
13
u
=
uu
+
L
1
2


u 2 i 0 1 
= u 3 ii = + 1 L iii = + 23 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 

Algebraic Loop – Tearing Algorithm 

6 equations in 6 unknowns 

Simplify problem by assuming one of the unknown variable to be known: e.g. i 

3 

If we knew i _{3} , we could compute i _{3}_{n}_{e}_{w} 
u 3 
: = 
Ri ⋅ 33 

• 

Guess i _{3} , and iterate until the residual is zero: u 
: = 
u 

i _{3}_{n}_{e}_{w}  i _{3} = 0 (residual equation) Also works for nonlinear equations 2 i 2 : u 1 i 1 : i 3 new Tricky part: How to choose the tearing variable? 
= 
3 / uR 22 − 

: = 
uu 03 

With symbolic differentiation, Iteration is very fast 
= 
/ uR i 1 = ii − 

Multiple tearing variables may be needed can only be determined using heuristics 
: 12 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 
Structural Singularity 


Main approach – Pantelides Algorithm 

• 
Use symbolic differentiation to remove singularity in equations 

1. 
Determine constraint equation (could be hidden – use tearing) 

2. 
Differentiate constraint equation and assign dummy derivatives 

3. 
Remove corresponding integration equations remain square 

• 
Details of algorithm are tricky… 

(For details see: Continuous System Simulation by Cellier and Kofman) 


Algorithm is also called an index reduction algorithm 

What is an index? 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 


Characteristic of DAE: Perturbation Index 

Loosely defined: 

The number of differentiations needed to turn a DAE into a pure ODE 

Examples: 

• 
Pure ODE is index0 

• 
ODE with algebraic loop is index1 

• 
Structurally singular system index2 (or larger) 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 

Lecture Overview 

Converting implicit DAE into semiexplicit DAE 

• 
Graphbased algorithm 

Challenge 1: Algebraic Loops 

• 
Tearing algorithm 

Challenge 2: Structural singularities 

• 
What is it? 
How to deal with it? 

• 
Higherindex problems 

Challenge 3: Handling Discrete Events 

• 
Zero crossings 

Overview of Dymola solvers and their properties 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 

_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s}
Systems Realization Laboratory
At impact: v v*k
_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s}
Systems Realization Laboratory
Summary 


Identify types and properties of ODE systems 


Identify types and properties of ODE solvers 

• 
Accuracy 

• 
Convergence 

• 
Stability 

• 
Stiffness 


Higher Order Methods and their properties 


Causalization, tearing, index reduction 


Complexities of mixed DAE problems 


Overview of Dymola solvers and their properties 

Notsofine print: 

Solver implementation is for Professionals Only Do not try this at home 


_{©} _{2}_{0}_{0}_{9}_{,} _{C}_{h}_{r}_{i}_{s} _{P}_{a}_{r}_{e}_{d}_{i}_{s} 
Systems Realization Laboratory 
