Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
Matthieu Nesme, François Faure, Yohan Payan
2nd Workshop on Computer Assisted Diagnosis and SurgeryMarch 2006, Santiago de Chile
TIMC & GRAVIR laboratories
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
2
Motivation
To model soft bodies for surgical training or per-operative simulators
(EPIDAURE-INRIA)
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
3
Goal
Deformable model allowing:– Interactivity
speed robustness
– Accuracy accurate deformations and forces Finite Element dynamics = fast deformation propagation
– Patient specific mesh
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
4
Goal
Deformable model allowing:– Interactivity
speed robustness
– Accuracy accurate deformations and forces Finite Element dynamics = fast deformation propagation
– Patient specific mesh
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
5
Outline
Previous work– Interactive deformable models– Patient specific models
Contribution– Deformable Octree Mesh– Hierarchical Finite Element
Results
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
6
Previous Work - Interactive deformable models
Speed / Fast computation– Multiresolution [Debunne01,Wu01,Dequidt05]
– FE Linear computation of large displacements [Etzmuß03,Müller04,Nesme05]
[Debunne01]
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
7
Background
Dynamical Propagation / Static convergence
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
8
Background
How many time steps or iterations are necessaryto propagate deformation to all nodes ?
?
Dynamical Propagation / Static convergence
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
9
Background
How many time steps or iterations are necessaryto propagate deformation to all nodes ?
?
Explicit solvers #steps=O(#nodes)
Iterative implicit solvers#iterations=O(#nodes)
Iterative static solvers
Dynamical Propagation / Static convergence
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
10
Previous Work - Interactive deformable models
Fast dynamical propagation / static convergence
– Multigrid solver [Terzopolous88,Wu04]
– Hierarchical FE [Grinspun02,Capell02]
Better compromise speed / propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
11
Previous Work - Patient specific models
1. Scan data voxels
2. Segmentation tagged voxels
3. Surface meshing triangles
4. Volume meshing tetrahedra, hexahedra
5. FEM modeling simulation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
12
Previous Work - Patient specific models
1. Scan data voxels
2. Segmentation tagged voxels
3. Surface meshing triangles
4. Volume meshing tetrahedra, hexahedra
5. FEM modeling simulation
4 generic volume mesh + matching
[Couteau00,Clatz05]
– Slow, specific cases, degenerate mesh
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
13
Previous Work - Patient specific models
1. Scan data voxels
2. Segmentation tagged voxels
3. Surface meshing triangles
4. Volume meshing tetrahedra, hexahedra
5. FEM modeling simulation
4 & 5 Meshless method [Desbrun95,Müller04]
– Not interactive
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
14
Previous Work - Patient specific models
1. Scan data voxels
2. Segmentation tagged voxels
3. Surface meshing triangles
4. Volume meshing tetrahedra, hexahedra
5. FEM modeling simulation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
15
Contribution
Deformable Octree Mesh 3 & 4 & 5
– Does not need for volume or surface mesh
directly segmented scan– Multiresolution
Hierarchical FE– Fast propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
16
Octree Mesh
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
17
Octree Mesh
Decompose the bounding box of the object into an octree
FEM modeling on cells
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
18
Octree Mesh
Decompose the bounding box of the object into an octree
FEM modeling on cells Interpolate the displacement within cells
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
19
Octree Mesh
Decompose the bounding box of the object into an octree
FEM modeling on cells Interpolate the displacement within cells Add degrees of freedom where needed
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
20
Octree Mesh
Precompute a maximal resolution
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
21
Octree Mesh
Precompute a maximal resolution Multiresolution with virtual tree structures
– Mechanics– Rendering– (collision mangement, …)
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
22
Octree Mesh
Compute cell properties using filling ratio and material properties
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
23
Octree Mesh
Compute cell properties using filling ratio and material properties
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
24
Octree Mesh
Compute cell properties using filling ratio and material properties
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
25
Mechanics
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
26
Mechanics
Classical Finite Element formulation
Elements Interpolations functions
NODAL
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
27
Hierarchical FE Bases
Define functions using a hierarchical basis Goal: to give a better propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
28
Hierarchical FE Bases
Define functions using a hierarchical basis Goal: to give a better propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
29
Hierarchical FE Bases
Define functions using a hierarchical basis Goal: to give a better propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
30
Hierarchical FE Bases
Hierarchical positions
hierarchical nodal
P0 P1
P2P3
ΔP4
ΔP5
ΔP6
ΔP7 ΔP8
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
31
Hierarchical FE Bases
Hierarchical positions
hierarchicalnodal
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
32
Hierarchical FE Bases
Functions influencing an element
hierarchicalnodal
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
33
Hierarchical FE Bases
Propagation in nodal
Explicit
Implicit / static
step 0
iteration 0
initial deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
34
Hierarchical FE Bases
Propagation in nodal
step 0 step 1
iteration 0 iteration 1
Explicit
Implicit / static
initial deformation propagated deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
35
Hierarchical FE Bases
Propagation in nodal
step 0 step 1 step 2
iteration 0 iteration 1 iteration 2
Explicit
Implicit / static
initial deformation propagated deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
36
Hierarchical FE Bases
Propagation in nodal
step 0 step 1 step 2 step 3
iteration 0 iteration 1 iteration 3iteration 2
Explicit
Implicit / static
initial deformation propagated deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
37
Hierarchical FE Bases
Propagation with hierarchical functions
Explicit
Implicit / static
step 0
iteration 0
initial deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
38
Hierarchical FE Bases
Propagation with hierarchical functions
step 0 step 1
iteration 0 iteration 1
direct interaction
Explicit
Implicit / static
initial deformation propagated deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
39
Hierarchical FE Bases
Propagation with hierarchical functions
step 0 step 1
iteration 0 iteration 1
direct interaction interpolation+
Explicit
Implicit / static
initial deformation propagated deformation interpolated deformation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
40
An implementation
Linear strain and stress tensors Linear interpolation inside cubic elements Static solver using Conjugate Gradient
in hierarchical coordinates
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
41
Results - Propagation
Evolution of the solution during a static solving
– Pull blue node– Measure displacement of green node
force
Displacement
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
42
Results - Propagation
Evolution of the solution during a static solving
– Pull blue node– Measure displacement of green node
force
Displacement
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
43
Results - Propagation
Evolution of the solution during a static solving
– Pull blue node– Measure displacement of green node
force
Displacement
real-time
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
44
Results - Propagation
Static solver with changing boundary conditions 10 CG iterations
nodal / hierarchical
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
45
Results – Global convergence
Number of CG iterations for global convergence
Example 1 Example 2
force
gravity
Number of elements composing the beam
1 8 64 512
Example 1 nodal 1 13 55 146
hierarchical 1 11 27 47
Example 2 nodal 8 50 87 198
hierarchical 6 24 37 52
(in number of CG iterations)
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
46
Conclusion & Perspective
Deformable octree mesh– does not need for surfacic or volumic mesh
Hierarchical FE– fast propagation
Hierarchical corotational for large displacements Automatic adaptative criteria Hierarchical boundary conditions
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
47
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
Thank you
Matthieu Nesme, François Faure, Yohan Payan
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
48
An implementation
Difference with classical nodal FE:– Computations of K take into account all ancestors cells
Functions at the same level of the considered element
Functions at an upper level from ancestors
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
49
An implementation
Integration
Range definition of the functions
ancestor
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
50
Previous Work - Interactive deformable models
Force computation (deformation, stress)
Dynamics Time integration
Multiresolution models
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
51
Previous Work - Dynamics
Explicit methods– Fast computation of one step– Slow propagation
Implicit methods [Baraff98]
– Stable– Solve a system– Longer step– Propagation / computational time
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
52
Previous Work - Force computation
Precomputation [Cotin96]– Precomputed inverse matrix– Quasi-static solver– Small displacements
Large displacements– Non-linear strain tensor [Debunne01,Picinbonno03]
– Corotational [Etzmuß03,Müller04]
Material laws [Terzopoulos88,Hauth03]
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
53
Previous Work - Adaptativity
Multiresolution– Allocate ressources where they are most profitable
Several meshes at several levels of detail [Debunne01]– Difficult meshes building– No mathematical proofs
Precomputed progressive meshes [Wu01]– Difficult to adapt meshes during the animation
Octree Mesh [Dequidt05]– Problems at join between several levels of detail
Hierarchical [Grinspun02,Wu04] Better compromise speed / propagation
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
54
Hierarchical FE Bases
Hierarchical positions
P0
P1
P2
P3
ΔP4
ΔP5
ΔP6
ΔP7
ΔP8
P0
P1
P2
P3
(P0+P1)/2+ΔP4
(P1+P2)/2+ΔP5
(P2+P3)/2+ΔP6
(P3+P0)/2+ΔP7
(P0+P1+P2+P3)/4+ΔP8hierarchical nodal
P0 P1
P2P3
ΔP4
ΔP5
ΔP6
ΔP7 ΔP8
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
55
Hierarchical FE Bases
Define functions using a hierarchical basis Goal: to give a better propagation
Hierarchical functionsNodal functions
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
56
Octree Mesh
Compute cell properties using filling ratio and material properties
Image par image, virer surfacique, commencer par finnest->coarsest + multires et fleche
Hierarchical Multi-Resolution Finite Element Model for Soft Body Simulation
57
Results - Propagation
Evolution of the solution during a static solving
– Pull blue node– Measure displacement of green node
force
Displacement
real-time
Relative error