Title: Implicit Methods
1Implicit Methods
- Patrick Quirk
- February 10, 2005
2Introduction, Motivation
- Explicit methods have a difficult time with some
types of ODEs - They guess where the function is heading
- Stiff ODEs
- One component big for a short time
- Does not contribute later
- Must make time step small for explicit to handle
it -
3Solution Implicit Methods
- Backward Euler Method
- Evaluates Æ’ at the point were aiming at
- Less guessing, more accuracy
- Consequently, the step size can be larger
-
4Implicit Methods
- Last example was simplisitc
- Typically cannot directly solve for yn1
- Unless Æ’ is linear
- Soapproximate Æ’ with its Taylor Expansion
5Implicit Methods
- More equation manipulations are done
- Allows us to approximate ?x
- Albeit with an inverse of a matrix!
- In general this extra computation isnt bad
- Larger time step offsets this
6An Aside - Explicit Method
- Verlet Algorithm
- Does away with the velocity term
- Stores only current, previous position
- Approximates velocity by xn-xn-1
7An Aside - Explicit Method
- But its explicit!
- Its a second-order method, higher accuracy
- Has the computational cost of a first-order
- No numerical drift like in some other explicit
and implicit methods - Easy to code!
- Widely used in games and physics
- Often chosen over implicit methods for these
reasons
8Big Picture - Implicit Methods
- Explicit Method code is easy
- Implicit Method code is harder
- Try to make problem un-stiff if possible
- Then use an explicit method and small ?t
- Otherwise write an implicit solver
- Use the larger time step to your advantage
9Second Order ODEs
- Dynamics problems are often second order
- Need to convert it to a first order problem
10Second Order ODEs
- Introduce new variables to get first order
- But this gives a 2nx2n linear system
- Bad news for BEM, has to solve that system
- Can we reduce the size?
11Second Order ODEs
- Can reduce it to nxn
- Introduce some more new variables
- Taylor Expand Æ’ (in two dimensions)
- Put that back into the equation
12Second Order ODEs
- Substitute the first row into the second
- Regroup terms and solve for ?v
- If there is a variance in time, an extra term
13Sources
- SIGGRAPH Course Notes
- http//www.pixar.com/companyinfo/research/pbm2001/
notesd.pdf - Mathworld References
- http//mathworld.wolfram.com
- A Practical Dynamics System. Kacic-Alesic,
Nordenstam, Bullock. Eurographics/SIGGRAPH 2003. - http//portal.acm.org/citation.cfm?id846276.84627
8 - Advanced Character Physics. Thomas Jakobsen.
Gamasutra. 2003 - http//www.gamasutra.com/resource_guide/20030121/j
acobson_01.shtml
14Interactive Animation of Structured Deformable
Objects
- Mathieu Desbrun, Peter Schröder, Alan Barr
- Caltech
15Introduction, Motivation
- Interactive deformation is tough
- Simulation methods are too slow
- Usually used in VR, user has control
- Limited greatly by time step
- Too big means instability in simulation
- Too small means alteration in reality
- Implicit Integration
- Offers low computational time
- Nearly arbitrary time step
16Implicit Integration 1D case
- Replace all forces at time t by t1
- Now positions are not blindly reached, but are
logically inferred.
n1
- In other words
- Explicit steps into the unknown with only
initial conditions. - Implicit tries to hit the next position
correctly.
17Implicit Integration 1D case
- Must compute Fn1 at tdt (spring forces)
- Use a first order approximation (since we dont
know what exactly Fn1(tdt) is)
- Here ?n1x is called the backward difference
operator
18Implicit Integration 1D case
- Add artificial viscosity
- Increases stability
- Force filtering
- Uses matrix multiplication (HdF/dx)
- Global force effects
- Smoothes large force differences
- Pull it all together
19Implicit Integration 1D case
- Final Form for 1D
- Look closely, is it really implicit?
Damping Force
Force Filter Matrix
20Implicit Integration 1D case
Good
Bad
- Loss in accuracy
- Force smoothing
- Artificial viscosity
- Force filtering matrix changes at each time step
(2D/3D only) - Forces you to solve a linear system
- Gain in speed
- Gain in speed
- Gain in speed
21Implicit Integration 1D case
- Some of the Bads arent all that bad
- Artificial viscosity
- It is frequently added to simulations.
- If it is already taken care of, so much the
better. - Changing filter matrix
- Even if this does take time, the computational
advantages are already so significant it doesnt
matter too much. - Approximating it makes it a constant
- Compute it once, use it forever
22Implicit Integration 2D/3D case
- Similar to 1D case, though the smoothing matrix
changes with each step. - This paper removes the need to solve a linear
system - Splits the force into a linear and non-linear
part - Linear is easily solved, non-linear approximated
to zero - Magnitude does not change (internal forces), just
direction - Preserve linear/angular momenta
- Includes inverse dynamics to remove stretching
23Implicit Integration 2D/3D case
- In 2D/3D, implicit integration is done by
computing the Hessian matrix H - It depends on position of particle nodes,
changing - Equation for one element of H is too long to show
here - Each node is a 3x3 matrix, total of 3nx3n
elements - Too large to solve efficiently
- Approximate it
24Implicit Integration 2D/3D case
- Matrix split into 2 parts
- Linear
- Non-Linear
- Simple, assume its zero
- Its constant in magnitude, but will rotate
25Implicit Integration 2D/3D case
- Check if linear, angular momenta are conserved
- Linear is
- Sum of artificial viscosity forces is zero
- Force filtering has no effect
- Angular is not!
- Because of that assumption about the non-linear
hessian - Desbrun corrects this with some inverse dynamics
26Results
27Sources
- Interactive Animation of Structured Deformable
Objects. Desbrun, Schröder, Barr. Graphics
Interface. 1999 - http//www.multires.caltech.edu/pubs/GI99.pdf