12/2/2019
Ali M. Sahlodin
Department of Chemical Engineering
AmirKabir University of Technology
1397 S.H
Methods of event detection and location
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 2
1
12/2/2019
Computational burden of Newton iterations
at each step.
What if the current step does not contain any
event?
g(t)
Existence test g (t k ) g (t k 1 ) 0
tk t* tk+1 t
Can the test fail to detect an
existing event? g(t)
Even number of events within a
time step tk tk+1 t
t1* t2*
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 3
Case I: multiple zero- g(t)
crossings of discontinuity
function
tk tk+1t
L : g1 (t ) 0
Case II: state conditions L : ( g1 (t ) 0) ( g 2 (t ) 0)
with conjunctions
g1>0 g1>0 State condition
(Multiple discontinuity functions True False False
with AND conditions) True True True
False True False
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 4
2
12/2/2019
Park & Barton, ACM Transactions on Modeling and
Computer Simulation 6 (2) 1996.
Steam trap valve opens only if (P 0) ( H H min )
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 5
Existence test can fail
g(t)
g (tk ) g (tk 1 ) 0
tk tk+1 t
No guarantee that the Newton or bisection
method will find the first zero-crossing
Completely incorrect state trajectories
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 6
3
12/2/2019
Example (Park and Barton 1996)
Wrong trajectories Correct trajectories
(event-detection method (event-detection method
missing some events) detecting all events)
ACM Transactions on Modeling and Computer Simulation 6 (2) 1996.
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 7
Rigorous root-finding using Interval Analysis
Interval arithmetic
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 8
4
12/2/2019
t [tk , tk 1 ] g p (t ) [?,?]
gU
gU
G g g
G
gL
gL
tk tk+1 tk tk+1
Non-existence test: 0 G (T )
what if 0 G (T )?
Guaranteed to have no
transition!
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 9
Assumption: the new mode works with the same variables
Previous mode f ( k ) ( x ( k ) , x( k ) , y ( k ) , u ( k ) , p) 0
New mode f ( k 1) ( x ( k 1) , x( k 1) , y ( k 1) , u ( k 1) , p) 0
How to initialize the system in the new mode?
Transition function
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 10
5
12/2/2019
f1 (t , x) g (t , x) 0
How many dynamic DOF in the x =
new mode? f 2 (t , x) g (t , x) > 0
Natural transition: continuity of
state variables
T21 x ( k 1) (t * ) x ( k ) (t * )
Pulse
injection
Impulsive transition: jump in of product
state variables
Examples
T21 x( k 1) (t * ) x( k ) (t * ) x
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 11
More complicated that ODEs!
How many dynamic DOF in the new mode?
Consistent initialization analysis
What are those DOF?
Example
Event: step change in f(t)
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 12
6
12/2/2019
Step in f(t)
Keep x1 continuous x2 must jump
Keep x2 continuous x1 must jump Both are wrong!
Underlying ODE shows both x1 and x2 must jump
x1 2 f (t ) x1 2 f (t ) c1
x f (t ) x f (t ) c
1 2 2
However, the following quantity remains continuous
(why?)
x1( k ) 2 x2( k ) x1( k 1) 2 x2( k 1)
Copyright © Ali M. Sahlodin, Dept. of Chemical Engineering, AmirKabir Univ. of Tech. 13