Page 1
INRIA Rhône–Alpes
Basics on numerical algorithms forNon Smooth Dynamical Systems
Vincent Acary, Frédéric Dubois
Tuturial Lecture
Third SICONOS General Meeting. September 15-17, Bristol
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.1/32
Page 2
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Outline
➜ 1 – Introdution
1.1 – Scope
1.2 – Linear Complementarity Systems(LCS)
1.3 – Linear Lagrangian systems with Contact and Friction
• 2 – Event–Driven
• 3 – Time–stepping
• 4 – Comparison
• 5 – Illustrations
• 6 – Conclusion
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.2/32
Page 3
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Scope
❈ Only Initial Value Problems (IVP).
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.3/32
Page 4
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Scope
❈ Only Initial Value Problems (IVP).
❈ Two typical examples of Non Smooth Dynamical Systems (NSDS) :• Linear Complementarity Systems• Lagrangian Dynamical Systems with contact and friction
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.3/32
Page 5
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Scope
❈ Only Initial Value Problems (IVP).
❈ Two typical examples of Non Smooth Dynamical Systems (NSDS) :• Linear Complementarity Systems• Lagrangian Dynamical Systems with contact and friction
❈ Two major kinds of time integration scheme :• Event–driven scheme. (the time–steps depend on the events)• Time–stepping scheme (the time–step does not depend on the events)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.3/32
Page 6
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems
❈ The Linear Complementarity System (LCS) may be defined by
8
>
<
>
:
x = Ax + Bλ
y = Cx + Dλ
0 ≤ y ⊥ λ ≥ 0
(1)
with A ∈ IRn×n, B ∈ IRn×m, C ∈ IRm×n, D ∈ IRm×m, for m constraints.In the sequel, we consider the scalar case (m = 1)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.4/32
Page 7
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems
❈ The Linear Complementarity System (LCS) may be defined by
8
>
<
>
:
x = Ax + Bλ
y = Cx + Dλ
0 ≤ y ⊥ λ ≥ 0
(1)
with A ∈ IRn×n, B ∈ IRn×m, C ∈ IRm×n, D ∈ IRm×m, for m constraints.In the sequel, we consider the scalar case (m = 1)
❈ Notion of Relative degree ryλ
Defining the Markov Parameters as
(D, CB, CAB, CA2B, . . .)
the relative degree is the rank of the first non zero Markov Parameter.“The number of differentiation of y to obtain explicitly y in function of λ.”
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.4/32
Page 8
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems (Continued ...)
❈ Relative degree ryλ = 0, D > 0, Trivial case
• The multiplier λ = max(0,−D−1Cx) is a Lipschitz continuous function of x
• The numerical integration may be performed with any standard ODE solvers.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.5/32
Page 9
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems (Continued ...)
❈ Relative degree ryλ = 0, D > 0, Trivial case
• The multiplier λ = max(0,−D−1Cx) is a Lipschitz continuous function of x
• The numerical integration may be performed with any standard ODE solvers.
❈ Relative degree ryλ = 1, D=0, CB > 0
• The multiplier λ is a function of time t, not necessarily continuous, for instance,of bounded variations (BV).
• The numerical integration have to be performed with specific solvers(Event–Driven or Moreau’s Time–stepping)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.5/32
Page 10
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems (Continued ...)
❈ Relative degree ryλ = 0, D > 0, Trivial case
• The multiplier λ = max(0,−D−1Cx) is a Lipschitz continuous function of x
• The numerical integration may be performed with any standard ODE solvers.
❈ Relative degree ryλ = 1, D=0, CB > 0
• The multiplier λ is a function of time t, not necessarily continuous, for instance,of bounded variations (BV).
• The numerical integration have to be performed with specific solvers(Event–Driven or Moreau’s Time–stepping)
❈ Relative degree ryλ = 1, D=0, CB = 0, CAB>0
• The system is not self-consistent : Need a re-initialization mapping• The multiplier λ is a real measure.• Specific solvers (Event–Driven or Moreau’s Time–stepping) as for Lagrangian
dynamical system with constraints
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.5/32
Page 11
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Comparison Illustrations Conclusion
Linear Complementarity systems (Continued ...)
❈ Relative degree ryλ = 0, D > 0, Trivial case
• The multiplier λ = max(0,−D−1Cx) is a Lipschitz continuous function of x
• The numerical integration may be performed with any standard ODE solvers.
❈ Relative degree ryλ = 1, D=0, CB > 0
• The multiplier λ is a function of time t, not necessarily continuous, for instance,of bounded variations (BV).
• The numerical integration have to be performed with specific solvers(Event–Driven or Moreau’s Time–stepping)
❈ Relative degree ryλ = 1, D=0, CB = 0, CAB>0
• The system is not self-consistent : Need a re-initialization mapping• The multiplier λ is a real measure.• Specific solvers (Event–Driven or Moreau’s Time–stepping) as for Lagrangian
dynamical system with constraints
❈ Higher Relative degree• The multiplier λ is a distribution of order ryλ − 1.
• Dedicated time-stepping integrators
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.5/32
Page 12
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Lagrangian dynamical system :
Mq + Cq + Kq = Fext(t) + r (2)
• q ∈ Rn : generalized coordinates vector.
• M ∈ IRn×n : the inertia matrix• K ∈ IRn×n and C ∈ IRn×n : the stiffness and damping matrices,• Fext(t) : R 7→ R
n : given external force,• r ∈ R
n is the force due the nonsmooth law.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.6/32
Page 13
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Lagrangian dynamical system :
Mq + Cq + Kq = Fext(t) + r (2)
• q ∈ Rn : generalized coordinates vector.
• M ∈ IRn×n : the inertia matrix• K ∈ IRn×n and C ∈ IRn×n : the stiffness and damping matrices,• Fext(t) : R 7→ R
n : given external force,• r ∈ R
n is the force due the nonsmooth law.
❈ Linear relations.• Kinematical laws from the generalized coordinates to the local coordinates at
contact.y = H
Tq + b, y = H
Tq
Mapping H : change of frame• By duality,
r = Hλ
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.6/32
Page 14
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Local frame at contact : (n, t)
y = ynn + yt, y = ynn + yt
λ = λnn + λt,
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.7/32
Page 15
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Local frame at contact : (n, t)
y = ynn + yt, y = ynn + yt
λ = λnn + λt,
❈ Unilateral contact :
0 ≤ yn ⊥ λn ≥ 0 ⇐⇒ −λn ∈ ∂ΦIR+(yn)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.7/32
Page 16
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Local frame at contact : (n, t)
y = ynn + yt, y = ynn + yt
λ = λnn + λt,
❈ Unilateral contact :
0 ≤ yn ⊥ λn ≥ 0 ⇐⇒ −λn ∈ ∂ΦIR+(yn)
❈ Coulomb’s Friction, µ Coefficient of friction
(
yt = 0, ‖λt‖ ≤ µλn
yt 6= 0, λt = −µλnsign(yt)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.7/32
Page 17
INRIA Rhône–Alpes
Introduction Event-Driven Time-stepping Contact-friction Conclusion
Linear Lagrangian systems with Contact and Friction
❈ Local frame at contact : (n, t)
y = ynn + yt, y = ynn + yt
λ = λnn + λt,
❈ Unilateral contact :
0 ≤ yn ⊥ λn ≥ 0 ⇐⇒ −λn ∈ ∂ΦIR+(yn)
❈ Coulomb’s Friction, µ Coefficient of friction
(
yt = 0, ‖λt‖ ≤ µλn
yt 6= 0, λt = −µλnsign(yt)
❈ (Newton) Impact law, if necessary, e coefficient of restitution
yn(t+) = −eyn(t−)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.7/32
Page 18
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Outline
✔ 1 – Introdution
➜ 2 – Event–Driven
2.1 – Principle
2.2 – Pseudo-Algorithm
2.3 – Comments
• 3 – Time–stepping
• 4 – Comparison
• 5 – Illustrations
• 6 – Conclusion
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.8/32
Page 19
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Principle
❈ For a set of unilateral constraints :
yα = hα(x) ≥ 0, α = 1 . . . ν
we define the index set of active constraints as :
I = {α, yα = 0}
❈ Event = change in the index set of active constraints
❈ Stages in the time integration scheme:• With the assumption that there is no event in the time interval, (unilateral =
bilateral), a standard time integration is done with any standard ODE solver.• At the end of the time step, one check the constraints with a relevant algorithm
(e.g LCP solvers to avoid Delassus problem)• If the constraints are not satisfied, the switching time is found by an interpolation
and a root finding procedure. At this switching time, both initial conditions andindex set are updated (e.g. LCP solvers at various levels).
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.9/32
Page 20
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Pseudo-Algorithm
�� � � �
� �� � � � �
� � �� � � �
� � � � � � � �
� � � � � �
�� � � � �� � � � � � � � � �
� � � �� � � �� � � � � � � � �
� � � � � � � � � �� � �� � � �
� � � � � � � � � � � � �
!
� � � �� � � �� � � � � � � � "
� � � � "# $ %
& � ' � � � � �� � �
� � � � � � � � �
� � � �� � � � �( � � � �
� � � � � � �
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.10/32
Page 21
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Comments
❈ For NSDS with relative degree ≥ 2, you need to solve an LCP problem in terms ofthe higher derivative of y.For instance, for Lagrangian systems, the unilateral constraints on displacementmust be expressed in terms of the acceleration.
❈ The ODE integration solver must include a relevant treatment of bilateral constraints(DAE solvers) and an accurate root finding procedure.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.11/32
Page 22
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Outline
✔ 1 – Introdution
✔ 2 – Event–Driven
➜ 3 – Time–stepping
3.1 – Principle
3.2 – Reformulation of the Dynamics as a measure differential equation.
3.3 – Reformulation of the constraints as a measure inclusion
3.4 – Discretization of the Dynamics
3.5 – Discretization of the constraints
3.6 – Summary
3.7 – Linear complementarity system
• 4 – Comparison
• 5 – Illustrations
• 6 – Conclusion
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.12/32
Page 23
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Principle
❈ The time-step does not depend on the events.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.13/32
Page 24
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Principle
❈ The time-step does not depend on the events.
❈ The NSDS is reformulated in a consistent way with the respect to the non smoothcharacter of the evolution :• relative degree 0 or 1: ODE with possibly not continuous RHS,• relative degree 2: Measure differential equation (Lagrangian dynamical systems)• Higher Order : Higher Order Sweeping Process
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.13/32
Page 25
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Principle
❈ The time-step does not depend on the events.
❈ The NSDS is reformulated in a consistent way with the respect to the non smoothcharacter of the evolution :• relative degree 0 or 1: ODE with possibly not continuous RHS,• relative degree 2: Measure differential equation (Lagrangian dynamical systems)• Higher Order : Higher Order Sweeping Process
❈ The unknowns are chosen such that only real finite values are approximate:• continuous function f : evaluation at point f(t)
• real measure µ: measure of finite time interval µ((ti, tf ))
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.13/32
Page 26
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Principle
❈ The time-step does not depend on the events.
❈ The NSDS is reformulated in a consistent way with the respect to the non smoothcharacter of the evolution :• relative degree 0 or 1: ODE with possibly not continuous RHS,• relative degree 2: Measure differential equation (Lagrangian dynamical systems)• Higher Order : Higher Order Sweeping Process
❈ The unknowns are chosen such that only real finite values are approximate:• continuous function f : evaluation at point f(t)
• real measure µ: measure of finite time interval µ((ti, tf ))
❈ The constraints are derived with respect to the time and treated at various levels toensure the numerical stability.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.13/32
Page 27
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Reformulation of the Dynamics
❈ Lagrangian dynamical system as a measure differential equation.
Mdv + (Kq(t) + Cv(t)) dt = Fext(t) dt + R
where• dt is the Lebesgue measure on IR
• dv is the Stieltjes measure (Differential measure) associated with the rightcontinuous function v(t) of bounded variations, such that :
dv((a, b]) =
Z
(a,b]dv = v(b+) − v(a+)
• R is a measure due to the non smooth law• q(t) is the absolutely continuous displacement given by :
q(t) = q(t0) +
Z t
t0
v(s) ds
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.14/32
Page 28
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Reformulation of the unilateral constraints
❈ Reformulation of the unilateral constraints in terms of derivatives :
If y(t) = 0, then 0 ≤ y ⊥ λ ≥ 0 (2)
which can be stated equivalently as
−λ ∈ ∂ΨV (q)(y)
where V (q) is the tangent cone of IR+ at q and Ψ the indicator function.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.15/32
Page 29
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Reformulation of the unilateral constraints
❈ Reformulation of the unilateral constraints in terms of derivatives :
If y(t) = 0, then 0 ≤ y ⊥ λ ≥ 0 (2)
which can be stated equivalently as
−λ ∈ ∂ΨV (q)(y)
where V (q) is the tangent cone of IR+ at q and Ψ the indicator function.
❈ If λ is a measure, the inclusion is extended considering the Radon-Nykodymderivative
λ′(t) =
dλ
dν∈ ΨV (q)(y)
where dν is a nonnegative measure and λ is absolutely continuous with respect todν
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.15/32
Page 30
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics
❈ Given a subdivision of a time interval, {t0, t1, . . . , ti, . . . , tN}, we evaluate of themeasure differential equation on a time interval (ti, ti+1] of length h :
Mdv((ti, ti+1]) =
Z
(ti,ti+1]M dv = M(v(t+i+1) − v(t+i ))
M(v(t+i+1) − v(t+i )) = −
Z ti+1
ti
Kq(t) + Cv(t) dt +
Z ti+1
ti
Fext(t) dt +
Z
(ti,ti+1]R
❈ Evaluation of the displacement
q(ti+1) = q(ti) +
Z ti+1
ti
v(s) ds
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.16/32
Page 31
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics Continued
❈ The measure R((ti, ti+1]) of the time-interval (ti, ti+1] is kept as primary unknown :
Ri+1 = R((ti, ti+1])
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.17/32
Page 32
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics Continued
❈ The measure R((ti, ti+1]) of the time-interval (ti, ti+1] is kept as primary unknown :
Ri+1 = R((ti, ti+1])
❈ Interpretation : The measure R may be decomposed as follows :
R = Ra dt + Rs
where Ra dt is the abs. continuous part of the measure R and Rs the singular part.• Impulse : If Ra = 0 and Rs = Pδti+1
then Ri+1 = P
• Continuous multiplier : If Ra(t) = f(t) and Rs = 0 then Ri+1 =R ti+1
ti
f(t) dt
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.17/32
Page 33
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics
❈ Notations :vi ≈ v(t+i ), qi ≈ q(ti)
❈ Approximation of the integral of functions : θ-method
Z ti+1
ti
Kq(t) + Cv(t) dt ≈ h [θ(Kqi+1 + Cvi+1) + (1 − θ)(Kqi + Cvi)]
Z ti+1
ti
Fext(t) dt ≈ h [θFext(ti+1) + (1 − θ)Fext(ti)]
❈ Evaluation of the displacement: θ-method
qi+1 = qi + h [θvi+1 + (1 − θ)vi]
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.18/32
Page 34
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics Continued
❈ Complete set of discrete equations:
8
>
<
>
:
M(vi+1 − vi) = h [θ(Kqi+1 + Cvi+1) + (1 − θ)(Kqi + Cvi)]
+h [θFext(ti+1) + (1 − θ)(Fext(ti)] + Ri+1
qi+1 = qi + h [θvi+1 + (1 − θ)vi]
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.19/32
Page 35
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the Dynamics Continued
❈ Complete set of discrete equations:
8
>
<
>
:
M(vi+1 − vi) = h [θ(Kqi+1 + Cvi+1) + (1 − θ)(Kqi + Cvi)]
+h [θFext(ti+1) + (1 − θ)(Fext(ti)] + Ri+1
qi+1 = qi + h [θvi+1 + (1 − θ)vi]
❈ One step linear system :vi+1 = vfree + hWRi+1
with
W =h
M + hθC + h2θ2K
i
−1
vfree = vi + Wh
−hCvi − hKqi − h2θKvi + h [θFext(ti+1) + (1 − θ)Fext(ti)]
i
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.19/32
Page 36
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the constraints
❈ Discretization of the relations :
yi+1 = HT
qi+1 + b
yi+1 = HT
vi+1
Ri+1 = Hλi+1
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.20/32
Page 37
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the constraints
❈ Discretization of the relations :
yi+1 = HT
qi+1 + b
yi+1 = HT
vi+1
Ri+1 = Hλi+1
❈ Discretization of an unilateral constraint :A natural way :
0 ≤ yi+1 ⊥ λi+1 ≥ 0
in terms of velocityIf y
p ≤ 0, then 0 ≤ yi+1 ⊥ λi+1 ≥ 0
where yp is a prediction of the position at time ti+1, for instance, yp = yi +h
2yi.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.20/32
Page 38
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Discretization of the constraints
❈ Discretization of the relations :
yi+1 = HT
qi+1 + b
yi+1 = HT
vi+1
Ri+1 = Hλi+1
❈ Discretization of an unilateral constraint :A natural way :
0 ≤ yi+1 ⊥ λi+1 ≥ 0
in terms of velocityIf y
p ≤ 0, then 0 ≤ yi+1 ⊥ λi+1 ≥ 0
where yp is a prediction of the position at time ti+1, for instance, yp = yi +h
2yi.
❈ Newton Impact law yei+1 = yi+1 + eyi
If yp ≤ 0, then 0 ≤ y
ei+1 ⊥ λi+1 ≥ 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.20/32
Page 39
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Summary
One step linear problem
(
vi+1 = vfree + hWRi+1
qi+1 = qi + h [θvi+1 + (1 − θ)vi]
Relations
(
yi+1 = HT vi+1
Ri+1 = Hλi+1
Non Smooth Law
8
<
:
If yp = yi +h
2yi
then 0 ≤ yei+1 ⊥ λi+1 ≥ 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.21/32
Page 40
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Summary
One step linear problem
(
vi+1 = vfree + hWRi+1
qi+1 = qi + h [θvi+1 + (1 − θ)vi]
Relations
(
yi+1 = HT vi+1
Ri+1 = Hλi+1
Non Smooth Law
8
<
:
If yp = yi +h
2yi
then 0 ≤ yei+1 ⊥ λi+1 ≥ 0
➜ One step LCP in terms of yei+1 and λi+1 :
yei+1 = H
Tqfree + hH
TWHλi+1 + eyi
yp = yi +
h
2yi
If yp ≤ 0, then 0 ≤ yei+1 ⊥ λi+1 ≥ 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.21/32
Page 41
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Summary
)* +, +- . +/ - , +0 *
10 2 3 4, - , +0 * 0 5 , + 2 6
+* 7- 8 +- * , 0 3 6 8- , 0 8 9
+ , 6 8- , 6 +* , + 2 6
10 2 3 4, - , +0 * 0 5 , : 6 5 8 6 6 9, - , 6
7 5 8 6 6
; 8 6 < += , +0 * 0 5 , : 6 - = , + 7 6
= 0 * 9, 8- +* , 9
>? @ A B @ C ? D ? A E D D B F
C G D HI @ E G @ A DIJ B K D ?
L D G @ M N E CI @ O PQ A DIR @ G A
S* < 0 5 , : 6 9 + 2 4 .- , +0 * T
U VW X Y V UZ [ \Z Z ]
^Z
_ 3 <- , 6 , : 6 9, - , 6 ` +, : , : 6
2 4 ., + 3 . + 6 8
^ W a VZ [b c Y ] de Z [ \Z Z ]
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.22/32
Page 42
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear complementarity system
❈ Direct application of a Backward Euler Scheme :
8
>
>
<
>
>
:
xk+1 − xk
h= Axk+1 + Bλk+1
yk+1 = Cxk+1 + Dλk+1
0 ≤ λk+1 ⊥ yk+1 ≥ 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.23/32
Page 43
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear complementarity system
❈ Direct application of a Backward Euler Scheme :
8
>
>
<
>
>
:
xk+1 − xk
h= Axk+1 + Bλk+1
yk+1 = Cxk+1 + Dλk+1
0 ≤ λk+1 ⊥ yk+1 ≥ 0
• Relative degree 0 and 1➜ Direct equivalence with the Moreau’s Time-stepping scheme
• Relative degree 2
➜ inconsistency of the variable λk+1 which tends toward +∞ when h −→ 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.23/32
Page 44
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear complementarity system
❈ Direct application of a Backward Euler Scheme :
8
>
>
<
>
>
:
xk+1 − xk
h= Axk+1 + Bλk+1
yk+1 = Cxk+1 + Dλk+1
0 ≤ λk+1 ⊥ yk+1 ≥ 0
• Relative degree 0 and 1➜ Direct equivalence with the Moreau’s Time-stepping scheme
• Relative degree 2
➜ inconsistency of the variable λk+1 which tends toward +∞ when h −→ 0
❈ Moreau’s Time–stepping scheme for a relative degree 2:• The primary unknown is Ri+1 = hλk+1,
• The unilateral constraint is set on yk+1
➜ See the illustration on the LCS
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.23/32
Page 45
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Outline
✔ 1 – Introdution
✔ 2 – Event–Driven
✔ 3 – Time–stepping
➜ 4 – Comparison
4.1 – Event–Driven - Advantages and disadvantages
4.2 – Time–stepping - Advantages and disadvantages
4.3 – Time–stepping vs. Event–Driven
• 5 – Illustrations
• 6 – Conclusion
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.24/32
Page 46
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Event–Driven - Advantages and disadvantages
❈ Advantages :• Low cost implementation (re-use of existing ODE solvers).• Higher-order accuracy on free motion.• Pseudo-localisation of the time of events with finite time-step.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.25/32
Page 47
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Event–Driven - Advantages and disadvantages
❈ Advantages :• Low cost implementation (re-use of existing ODE solvers).• Higher-order accuracy on free motion.• Pseudo-localisation of the time of events with finite time-step.
❈ Weaknesses• Numerous events in short time.• Accumulation of impacts.• No convergence proof
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.25/32
Page 48
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Time–stepping - Advantages and disadvantages
❈ Advantages :• No root finding procedure,• Accumulation of impacts & Numerous events in short time.• Convergence proofs (stability and consistency) ➜ Existence and uniqueness
results• Extensible to higher relative degree system
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.26/32
Page 49
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Time–stepping - Advantages and disadvantages
❈ Advantages :• No root finding procedure,• Accumulation of impacts & Numerous events in short time.• Convergence proofs (stability and consistency) ➜ Existence and uniqueness
results• Extensible to higher relative degree system
❈ Weaknesses• low-order accuracy on free motion.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.26/32
Page 50
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Time–stepping vs. Event–Driven
❈ Event–driven schemes are suitable for simulations with :• strong accuracy requirements on the free motion• sparse events• low number of constraints
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.27/32
Page 51
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Time–stepping vs. Event–Driven
❈ Event–driven schemes are suitable for simulations with :• strong accuracy requirements on the free motion• sparse events• low number of constraints
❈ Time–stepping schemes are suitable for simulations with :• dense events and accumulation• high number of constraints
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.27/32
Page 52
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Outline
✔ 1 – Introdution
✔ 2 – Event–Driven
✔ 3 – Time–stepping
✔ 4 – Comparison
➜ 5 – Illustrations
5.1 – Linear complementarity system
5.2 – The Boucing ball example with time–stepping
5.3 – A friction oscillator
• 6 – Conclusion
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.28/32
Page 53
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear Complementarity system
Consider the following LCS of relative degree 2:
8
>
>
>
<
>
>
>
:
x1 = x2
x2 = λ
y = x1
0 ≤ y ⊥ λ ≥ 0
with inelastic reinitialization mapping (if y(t) = 0, y(t+) = 0)
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.29/32
Page 54
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear Complementarity system
Consider the following LCS of relative degree 2:
8
>
>
>
<
>
>
>
:
x1 = x2
x2 = λ
y = x1
0 ≤ y ⊥ λ ≥ 0
with inelastic reinitialization mapping (if y(t) = 0, y(t+) = 0)
❈ Initial condition x(0−) = (0,−1)T
Backward Euler scheme: xk = (0, 0), ∀k, λ1 =1
h, λk = 0
Moreau’s time stepping: xk = (0, 0), ∀k, λ1 = 1, λk = 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.29/32
Page 55
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Linear Complementarity system
Consider the following LCS of relative degree 2:
8
>
>
>
<
>
>
>
:
x1 = x2
x2 = λ
y = x1
0 ≤ y ⊥ λ ≥ 0
with inelastic reinitialization mapping (if y(t) = 0, y(t+) = 0)
❈ Initial condition x(0−) = (0,−1)T
Backward Euler scheme: xk = (0, 0), ∀k, λ1 =1
h, λk = 0
Moreau’s time stepping: xk = (0, 0), ∀k, λ1 = 1, λk = 0
❈ Initial condition x(0−) = (−1,−1)T
Backward Euler scheme: xk = (k, 1h ), ∀k, λ1 =
1
h2, λk = 0
Moreau’s time stepping: xk = (−1, 0), ∀k, λ1 = 1, λk = 0
Extended Moreau’s time stepping: xk = (0, 0), ∀k, µ1 = 1, λ1 = 1, λk = 0, µk = 0
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.29/32
Page 56
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
The Boucing ball example with time–stepping
8
>
>
>
>
>
<
>
>
>
>
>
:
mq = −mg + λ
y = q
0 ≤ y ⊥ λ ≥ 0
if y(t) = 0,
y(t+) = −ey(t−)
0 1 2 3 4 50.5
0.6
0.7
0.8
0.9
1.0
0 1 2 3 4 5−3
−2
−1
0
1
2
3
Position of the ball vs. Time Velocity of the ball vs. Time
0 1 2 3 4 50
1
2
3
4
5
6
0 1 2 3 4 5−1
0
1
2
3
4
5
0 1 2 3 4 5−1
0
1
2
3
4
5
0 1 2 3 4 5−1
0
1
2
3
4
5
Reaction due to the contact force vs. Time Energy balance vs.time
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.30/32
Page 57
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
A friction oscillator
8
>
>
>
<
>
>
>
:
q + q = sin(ωt) + r
y = q, r = λ(
y = 0, ‖λ‖ ≤ µ
y 6= 0, λt = −µsign(y)
50 55 60
f gf h i j
0
0.5
1
50 55 60 65
f gf h i j
0
0.5
1
24 26 28 30
f gf h i j
0
0.5
1
µ = 0.025 µ = 0.05 µ = 0.1
Position and velocity of the oscillator vs. Time
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.31/32
Page 58
INRIA Rhône–Alpes
Introduction Event–Driven Time–stepping Comparison Illustrations Conclusion
Outline
Further reading:
❈ Event–Driven• F. Pfeiffer & C. Glocker. Multibody Dynamics with Unilateral Contact, John Wiley & Sons, 1996
• M. Abadie, Dynamic Simulation of Rigid bodies: Modelling of Frictional contact, Impact in Mechanical
Systems, analysis and modelling, B. Brogliato ed., LNP 551 Springer Verlag
❈ Time-stepping• J.J. Moreau, Evolution Problem Associated with a Moving Convex Set in a Hilbert Space, Journal of
Differential Equations, pp 347-374 1977
• J.J. Moreau, Unilateral contact and dry friction in finite freedom dynamics, CISM 302, Springer Verlag,
pp 1-82, 1988
• J.J. Moreau, Some numerical methods in multibody dynamics: Application to granular materials,
European Journal of Machanics-A/Solids, pp 93-114, 1994.
Basics on Numerical algorithms – Third SICONOS General Meeting. – p.32/32