v F c v F c 2 1 4 3 4 v < 3 v < 2 v < 1 v v F c - - PowerPoint PPT Presentation

v
SMART_READER_LITE
LIVE PREVIEW

v F c v F c 2 1 4 3 4 v < 3 v < 2 v < 1 v v F c - - PowerPoint PPT Presentation

v F c v F c 2 1 4 3 4 v < 3 v < 2 v < 1 v v F c ( ) v 0 F c v F c v F c r v r > 0 v F c = prox C ( r v ) r v r > 0 My Favorite


slide-1
SLIDE 1
slide-2
SLIDE 2

v Fc

slide-3
SLIDE 3

v Fc λ1 λ2 λ3 λ4 λ4 v < λ3 v < λ2 v < λ1 v

slide-4
SLIDE 4

v Fc λ (γ − λ) v ≥ 0 ∀γ ∈ Fc

slide-5
SLIDE 5

v Fc λ

slide-6
SLIDE 6

v Fc λ λ − r v ∀r > 0

slide-7
SLIDE 7

v Fc λ λ − r v ∀r > 0 λ = proxC(λ − r v)

slide-8
SLIDE 8

My Favorite Benefits

  • Local non-linear friction models

used directly without any discretization

  • Fixed point problem gives us

Gauss-Seidel and Jacobi schemes almost for free see paper for details

  • Any solution for any r>0 value will

be an “exact” solution!

  • Supports stabilization,

simultaneous impacts, various time-stepping methods and more see paper for details

λ = proxC(λ − r v) λ |{z}

x

= proxC(λ − r v) | {z }

F (x)

xk+1 = F(xk)

slide-9
SLIDE 9

The Drawbacks

  • Not obvious what r-value to

use

  • Some r-values cause

divergence, others can accelerate convergence

  • Our solution is to use adaptive

r-values

λ = proxC(λ − r v) λ |{z}

x

= proxC(λ − r v) | {z }

F (x)

xk+1 = F(xk)

slide-10
SLIDE 10

Adaptive r-Factor Scheme

while not converged λk+1 = proxC(λk − Rv) rk+1 = |λk+1 − λk|∞ if rk+1 > rk R ← νR else λk ← λk+1

slide-11
SLIDE 11

Initial r-Factor values

  • Global strategy
  • Local strategy
  • Blocked strategy

ri = 1 Aii Rk =  1

Aii

A−1

s:r,s:r

  • r = 5
slide-12
SLIDE 12

Insight on Global Strategy

λk+1 = proxC

  • λk − R(Aλk + b)
  • We have the iterative scheme

If R = A−1 Then λk+1 = proxC (−Rb) Just one iteration

slide-13
SLIDE 13

Insight on Global Strategy

λk+1 = proxC

  • λk − R(Aλk + b)
  • We have the iterative scheme

If R = A−1 Then λk+1 = proxC (−Rb) Just one iteration P r

  • b

l e m : w e d

  • n
  • t

w a n t t

  • c
  • m

p u t e A

  • r

i t s i n v e r s e s

  • w

e a p p r

  • x

i m a t e i t

slide-14
SLIDE 14

Insight on Local Strategy

ri = γ 1 Aii γ ∈ [0, 2] Let us choose Then λi = proxC ✓ λi − γ P

j<i Uijλj + P j>i Lijλj + Diiλi − bi

Dii ◆ λi = proxC ✓ (1 − γ) λi + γ bi − P

j<i Uijλj + P j>i Lijλj

Dii ◆ This is exactly the usual LCP-PSOR variant A = L + D + U

slide-15
SLIDE 15

Little Matlab Example

slide-16
SLIDE 16

Adaptive r-Factor PSOR (1.4)

slide-17
SLIDE 17

Test Scenes

slide-18
SLIDE 18

Gauss-Seidel or Jacobi Variant?

slide-19
SLIDE 19

20 40 60 80 100 120 140 160 180 200

Solver iteration

10-4 10-2 100 102 104 106

Merit function Convergence rate behaviors of 424 runs of Jacks (Jacobi) Max 3rd Quartile Median 1st Quartile Min

slide-20
SLIDE 20

20 40 60 80 100 120 140 160 180 200

Solver iteration

10-4 10-2 100 102 104 106

Merit function Convergence rate behaviors of 424 runs of Jacks (Gauss Seidel) Max 3rd Quartile Median 1st Quartile Min

slide-21
SLIDE 21

50 100 150 200 250 300 350 400

Solver run(#)

20 40 60 80 100 120 140

Count (#) Divergence Count Comparison Jacks (Jacobi) Spheres (Jacobi) Tower (Jacobi) Wall (Jacobi) Jacks (Gauss Seidel) Spheres (Gauss Seidel) Tower (Gauss Seidel) Wall (Gauss Seidel)

slide-22
SLIDE 22

Exit Status

slide-23
SLIDE 23

Blocked r-Factor

Glasses Jacks Spheres Tower Wall

Test Scenes

200 400 600 800 1000 1200 1400

Observations (#) Absolute Convergence Relative Convergence Non Convergence Divergence

slide-24
SLIDE 24

Global r-Factor

Glasses Jacks Spheres Tower Wall

Test Scenes

200 400 600 800 1000 1200 1400

Observations (#) Absolute Convergence Relative Convergence Non Convergence Divergence

slide-25
SLIDE 25

Local r-Factor

Glasses Jacks Spheres Tower Wall

Test Scenes

200 400 600 800 1000 1200 1400

Observations (#) Absolute Convergence Relative Convergence Non Convergence Divergence

slide-26
SLIDE 26

Iterations

slide-27
SLIDE 27

50 100 150 200 250 300 350 400 450

Solver iteration

10-4 10-2 100 102 104 106

Merit function Convergence rate behaviors of 424 runs of Jacks (Blocked) Max 3rd Quartile Median 1st Quartile Min

slide-28
SLIDE 28

50 100 150 200 250

Solver iteration

10-4 10-2 100 102 104 106

Merit function Convergence rate behaviors of 424 runs of Jacks (Global) Max 3rd Quartile Median 1st Quartile Min

slide-29
SLIDE 29

20 40 60 80 100 120 140 160 180 200

Solver iteration

10-4 10-2 100 102 104 106

Merit function Convergence rate behaviors of 424 runs of Jacks (Local) Max 3rd Quartile Median 1st Quartile Min

slide-30
SLIDE 30

Overall Performance

slide-31
SLIDE 31

50 100 150 200 250 300 350 400 450

Simulaiton Step (#)

100 101 102 103 104 105 106 107

Time (ms) Timing details of Spheres (Blocked) test scene Solver Collision Detection Narrow Phase Preprocessing Contact Reduction Broad Phase

slide-32
SLIDE 32

50 100 150 200 250 300 350 400 450

Simulaiton Step (#)

100 101 102 103 104 105 106 107

Time (ms) Timing details of Spheres (Global) test scene Solver Collision Detection Narrow Phase Preprocessing Contact Reduction Broad Phase

slide-33
SLIDE 33

50 100 150 200 250 300 350 400 450

Simulaiton Step (#)

100 101 102 103 104 105 106 107

Time (ms) Timing details of Spheres (Local) test scene Collision Detection Narrow Phase Solver Preprocessing Contact Reduction Broad Phase

slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39

Summary of Findings

  • Proximal operators are a flexible modeling tool for contact dynamics
  • Gauss-Seidel or Jacobi?
  • Gauss-Seidel variant is more predictable than Jacobi variant
  • Jacobi variant causes divergence more often than Gauss-Seidel variant
  • The r-Factor strategies
  • They only change the numerics not the model
  • Adaptive r-values improves convergence over constant r-values
  • Blocked is hopeless for our test cases
  • Global has advantages for structured stacks, local is slightly faster but not

much

slide-40
SLIDE 40

Thanks