Post on 16-Jul-2021
transcript
Physically-based Modelling - Introduction to solid mechanics -
Benjamin GILLES
LIRMM, Equipes ICAR/DEMARCNRS, Université de Montpellier
http://www.lirmm.fr/~gilles/physics.pdf
Videos
Fluidmechanics
Solidmechanics
Interactive simulation
Procedural animation
Computer Graphics
Computational medecine
Mechanical engineering
Human Machine interaction
Images to Models to SimulationsImages to Models to Simulations
Geometric modeling Visualization Diagnosis Comparative anatomy Data fusion
..
Benjamin GILLES Introduction 1/7
measure simulate
Computer animation Mechanical Simulation Surgical planning
...
Model vs. dataModel vs. data
Images Curves Surfaces Volumes Hybrid models
Static
Kinematics
Dynamics
Mechanics
Physiology
Complexity
[delp02]
[weiss05]
[teran05]
[ng-thow-hing00]
[hirota01]
[scheepers97]
[aubel02]
[arnold00]
[badler79]
[maurel98]
Basics
Discrete methods
Continuum based methods
Time integration
Contact handling
OutlineOutline
Mathematical representation
t
Mathematical representations Mathematical representations
First order FEM
Higher order FEM
Mesh-free simulation
• Implicit models– Iso-value of a potential field
in 3D: { p 3 | F(p)=0 }
• Discrete models– Explicit positions in space (vertices)
+ connectivity relationships
• Continuous (or parametric) models– Mapping between material parameters and spatial coordinates
in 3D: t [0,1]p → p = [x(t),y(t),z(t)]T 3
Standard workflow in simulation
- Setup the kinematic degrees of freedom : nodes q- Compute the mass M- Compute forces f
– Internal forces due to deformation– Contact response– Gravity : Mg– User interaction– Damping
→ space integration
- Solve Newton's equation :
- Update degrees of freedom : → time integration
q = M−1 f
q=∬ q dt
f (q)
f (q)
DEMO
DeformationRestconfiguration Deformed
configuration
q i q i
q (t)
q=∂ q∂ t
q=∂ q∂ t
: coordinates (rest)
: coordinates (deformed)
: velocities
: accelerations
q
For computation, motion is often discretized using a reduced number of independant degrees of freedom = nodes
Nodes can be : points, rigid frames, affine frames, angles, etc...
The internal energy W measures the departure from the rest configuration
Elastic forces minimize the deformation
The stiffness matrix measures local force variations
q=[q0x
q0y
q0z
q1x
q1y
q1z
:
]e.g. points :
f=−W q
K= fq
Multi-model representation
Split computations into independent parts
- Separate problems
- Improve reusability
[SOFA framework]
Kinematic mappingKinematic mapping
Master nodes
Slave nodes
velocities : q
positions: q
forces : f pvelocities : p=J qpositions: p=Φ(q )
J= p q
→forces : f q=JT f p
compute forces
accelerations : q
accelerations : p=J q+dJ q
Time integration
∬q
Example : barycentric mapping
p j=∑ wij qi
q0
q1
q2
p0
J=[w ij ]
q0
q1
q2
q f q= p f pPower conservation :
f p0
f q0
f q1
f q2
Nodes
Deformation
Time integration
Spatial integration
∬q
Visual model
Collision model
Spatial integration
Mass points
Spatial integration
Elastic energyKinetic energy
Multi-model representation
Hybrid models using embeding
Nodes
Time integration
∬q
3D deformation
Spatial integration
Elastic energy
2D deformation
Spatial integration
Elastic energy
1D deformation
Spatial integration
Elastic energy
Discrete representationsDiscrete representations
Particules,points
Spatial dimensions Material dimensions
Material Dimensions =
0 1 2 3
Edges Triangles
Quadrilateral, 2D image
Hexahedra,3D image
Tetrahedra
Discrete representationsDiscrete representations
In general :
Material Discretization Kinematic Discretization ( Material coordinates ) ( spatial coordinates )
Material = fine quadsKinematic model = coarse quads
Material = fine quadsKinematic model = points
Material = Kinematic model= Triangles
Construct volumetric mesh from surface MeshProblem: regular tetrahedra do not tile space
SegmentedSegmented MRI MRI Surface Surface meshmesh Volumetric meshVolumetric mesh
Volumetric mesh generation
Isosurfacing :Marching cubes algorithm
??
•Requirements –Element type: Tetrahedron, Hexahedron, etc.
–Element density
•Quality measure–Boundary / input surface matching–Element quality: solid angle, radius ratio, etc.
Input surface meshInput surface mesh
Tetrahedral meshTetrahedral mesh
Tetrahedral meshTetrahedral mesh
Hexahedral meshHexahedral mesh
Different types of degeneracy Different types of degeneracy (slivers, (slivers,
caps, needles and wedges)caps, needles and wedges)
Volumetric mesh generation
Meshing techniques:Rasterization (+ octree recursively Subdivision)
Aliasing, poor quality elements generated near the boundary
Advancing front: cells propagation from boundaries Difficult to compute ideal cell locations (local) Difficult to merge elements when they collide
Owen (1998)Owen (1998)
Owen (1998)Owen (1998)
Volumetric mesh generation
Variational approach Vertex repositioning → avoid degenerate configurations
+ Delaunay triangulation → optimal connectivity
2D Delaunay criterion
(a) Maintained
(b) Not maintained
Volumetric mesh generation
[alliez05]
Basics
Discrete methods
Continuum based methods
Time integration
Contact handling
OutlineOutline
Energy :
Forces :
Momentum conservation :
Problems when changing resolution :
– In parallel : → normalize by S– In serie : → normalize by l
Resolution-independant stiffness :
q0 l q1 q0
lq1
u
f 1 = k ( l−l )u , f 0 = − f 1
pp
Mass-spring models
∑ f i = 0 , ∑ f i∧q i =0
k lS
W = k( l −l )2
2
– Shape matching [mueller04]
• for each cluster: compute closest rigid transform approximating displacements from rest configuration
• Average rigid transforms
As-rigid-as-possible deformation
– Shape matching [mueller04]
• for each cluster: compute closest rigid transform approximating displacements from rest configuration
• Average rigid transforms
As-rigid-as-possible deformation
Basics
Discrete methods
Continuum based methods
Time integration
Contact handling
OutlineOutline
Continuum Mechanics
Continuum Mechanics
Solid
Mechanics
Linear Elasticity (Anisotropic, heterogeneous)
Fluid Mechanics
PlasticityHyper
Elasticity
Continuum Elasticity Basics
Deformation and Force(s)
Undeformed Rest State length L
L LElongation ∆L due to External Force F 1 Newton = 1 N = 1 Kg·m/s2
F
F F F
Discretization (or Cutting Open) reveals Body Forces F (and F = F for Static Equilibrium)
Strains and Stresses
Any deformation (i.e. elongation, compression) is termed the STRAIN (ε) of the spring and generally defined (dimensionless) as ∆L/L
L LF
Any force applied to a cross-sectional surface is termed the STRESS (σ) acting on this surface and is measured as force per unit area (N/m2)
F
σ = F/A
Continuum Elasticity Basics
Soft Tissue Characterization
To characterize a tissue, its stress-strain relationship is studied
Rest configuration
Radius r
Height h
Radius r*
Force F
Height
h*
Stress = F
r2
Strain = h*-h
h
Deformed configuration
Biological TissueBiological Tissue
complex phenomena arise
loading
Unloading
Hysteresis
Linear Domain Plasticity and
rupture
Slope =Young Modulus
Non-Linearity
Anisotropy
V0
V1V2
V3
Visco-elasticity
Elastic potential energy
W (ε0)=∫0
ε0
σ dε
Area under stress/strain curve = Energy density stored in the material
W (ε0) =12
ε0σ =12k ε0
2For linear materials :
Will see later the generalization to 2D and 3D
units : [N.m
m3]=[
Joules
m3]
Computer science
Numerical approximations
Discrete quantities
Discrete geometry
Elastic energy
= displacements*forces
Kinetic energy
=velocity²*mass
Linear systems
Physics
Analytic solutions
Continuous quantities
Differential geometry
Elastic energy
=stress*strain*dv
Kinetic energy
=velocity²*density*dv
Differential equations
Convergence ?
Hypothesis ?
Definitions
p
pp
δ v
Restconfiguration Deformed
configuration
p
u( p)=p− p
δ v
: material coordinates of a point (rest configuration)
: spatial coordinates of a point (deformed configuration)
: deformation function
: displacement function
: infinitesimal volume
: density
: traction (or stress vector)
ρ
tδ s
t=δ fδ s
Ω
σ .n=t N on ∂ΩN
u=uD on ∂ΩD
Boundary conditions :- Neumann conditions : - Dirichlet conditions :
Φ( p)=p
Solution of elasto-static problem
∇ .σ+ρ f=0 p∈ΩEquilibrium equation (strong form):
subject to boundary conditions
Galerkin approach → approximate solution based on a discretization
Integration by part → Variational formulation:Find u such that is minimal
Body forces (ie. gravity)
Can be solved using finites differences.. but they are very little used in solid mechanics (due to complex geometries and boundary condition enforcement)
∫Ω(∇ .σ+ρ f ). δw δ v=0 δw∈CPrinciple of virtual work (weak form):
Displacement test function
∫ΩW (u)δ v−∫
Ωρ f.u δ v−∫
∂ΩN t
N .u δ s
div
Discretization
3 types of discretizations :
- Deformation → kinematic degrees of freedom
- Spatial integration → material points → mass points
→ contact points
- Temporal integration → time steps
Kinematic discretization
pp
δ v
Restconfiguration Deformed
configuration
q i q i
q
q=∂ q∂ t
q=∂ q∂ t
: generalized coordinates (rest)
: generalized coordinates (deformed)
: generalized velocities
: generalized accelerations
q
For computation, motion is often discretized using a reduced number of independant degrees of freedom = nodes
Nodes can be : points, rigid frames, affine frames, angles, etc...
p=J q
p=Φ( p , q , q)
J= p q
Nodes and material points are related through a mapping :with :
q=[q0x
q0y
q0z
q1x
q1y
q1z
:
]e.g. points :
Lagrangian mechanics
W = ∫ΩW ( p)δ vTotal elastic potential energy in the material:
T =12∫
ΩpT pρδ vTotal kinetic energy in the material:
Lagrangian: L=T-W
ddt
(∂ L∂ q
) =∂ L∂q
Euler-Lagrange equation (generalized coordinates):
(∫Ω
∂ p∂ q
T∂ p∂ q
ρδ v) q = −∂W∂q
→ Newton law of motion:
D =12∫
ΩΨ( pT p)δ v
Can add dissipation/ damping/ viscous forces:
with the dissipation energy :
M q = −∂W∂ q
−∂D∂ q
M fgeneralized mass and forces :
Modeling pipeline
Define control nodes
= kinematic Degrees Of Freedom
Generate a smooth deformation function
based on nodes equiped with shape functions
Then, follow the classic pipeline :
Initial
Deformed
p
p
Φ( p)
Node influence= shape function
Nodes
Material
positions ← forces ↓ ↑
strain → stress
Modular vision of solid mechanics
Nodes
Integration points
Time integration
Spatial integration
velocities : q
positions: q
forces : f p=− E p
∫E
∬q
Independent degrees of freedome.g. : Points, rigid frames, affine frames, angles...
Interpolation method using shape functione.g. : barycentric, moving least squares, skinning..
Solve equations of motione.g. : static, explicit, implicit..
p
velocities : p=J qpositions: p=Θ(q)
J= p q
forces : f q=JT f p
Mapped quantitiese.g. : strain, displacement..
Energy, constitutive lawe.g. : kinetic, elastic, external..
Quadrature methode.g. : midpoint, Gauss, elastons..
accelerations : q
accelerations : p=J q+dJ q
Modular vision of solid mechanics
Independent degrees of freedom Points
Interpolation method : Linear
Shape function : barycentric
First order finite elements
p
Mapped degrees of freedom : Green strain
Constitutive law : Hooke's law
Quadrature method : midpoint
St Venant Kirchoff material
Nodes
Integration points
Time integration
Spatial integration
velocities : q
positions: q
forces : f p=− E p
∫E
∬q
velocities : p=J qpositions: p=Θ(q)
J= p q
forces : f q=JT f p
accelerations : q
accelerations : p=J q+dJ q
Modular vision of solid mechanics
Independent degrees of freedom Points
Interpolation method : moving least squares
Shape function : radial
Meshless simulation
Mapped degrees of freedom : Green strain
Constitutive law : Hooke's law
Quadrature method : midpoint
St Venant Kirchoff material
Nodes
Integration points
Time integration
Spatial integration
velocities : q
positions: q
forces : f p=− E p
∫E
∬q
velocities : p=J qpositions: p=Θ(q)
J= p q
forces : f q=JT f p
accelerations : q
accelerations : p=J q+dJ q
Modular vision of solid mechanics
Independent degrees of freedom : Frames
Interpolation method : Linear Dual-quaternion blending
Shape function : voronoi-based
Frame-based simulation
Mapped degrees of freedom : Green strain
Constitutive law : Hooke's law
Quadrature method : midpoint
St Venant Kirchoff material
Nodes
Integration points
Time integration
Spatial integration
velocities : q
positions: q
forces : f p=− E p
∫E
∬q
velocities : p=J qpositions: p=Θ(q)
J= p q
forces : f q=JT f p
accelerations : q
accelerations : p=J q+dJ q
Kinematics- Deformation gradient
- Strain
- Discretization
- Interpolation
Time integration
Spatial integration
∫E
∬q
Nodes
Strain
Deformation grad.
Deformation gradient
p
pp
Restconfiguration Deformed
configuration
p
u( p)=p− p
Ω
: material coordinates of a point (rest configuration)
: spatial coordinates of a point (deformed configuration)
: deformation function
: displacement function
pF=∇ Φ=
d pd p
Deformation gradient F : Captures the local affine deformation
l l
F =d pd p
=ll
pp
In 1D :
F=[∂ px∂ px
∂ px∂ p y
∂ px∂ p z
∂ p y∂ px
∂ p y∂ p y
∂ p y∂ p z
∂ p z∂ px
∂ pz∂ p y
∂ p z∂ p z
]In 3D :
Φ( p)=p
Distance between point may not be preserved
Distance between deformed points
Right Cauchy-green Deformation tensorMeasures the change of metric in the deformed body
C=FT F
Right Cauchy deformation tensor
p p+d p
Restconfiguration Deformed
configuration
Ω
p=Φ( p)Φ( p+d p)
dl2=Φ( p+d p)−Φ( p)2≈d pT (FT F )d p
Strain tensor
Example : Rigid Body motion entails no deformation
the strain tensor captures the amount of deformationIt is defined as the “distance between C and the Identity matrix”
p=R p+t F=d pd p
=R C=RT R=I
E=12(FT F−I )=
12(C−I )
Green-Lagrangian strain
l lE = (
ll)2
−1pp
In 1D :
dE=12(FT dF+dFT F)
Diagonal Terms : iiCapture the length variation along the 3 axis
Off-Diagonal Terms :ijCapture the shear effect along the 3 axis
Strain tensor
E=[εxx εxy εxzεxy ε yy ε yzεxz ε yz εzz ]
Linearized Strain Tensor
Use displacement rather than deformation
Assume small displacements
ε =12
(∂u∂ p
+∂u∂ p
T
) =12
( FT + F ) − I
E =12
(dud p
+dud p
T
+dud p
T d ud p
)
F =d pd p
= I +dud p
Cauchy strain
l lε =
ll
− 1ppIn 1D :
d ε =12
(dFT+dF )
Shortcomings of linear elasticityShortcomings of linear elasticity
Non valid for « large rotations and displacements »
Corotational strain
Polar decomposition of deformation gradient :
F = RS Where R=rotation and S=small affine excursion from rotation
FR
ε =12
( ST + S ) − I =12
( FT R + RT F ) − I
Remove rigid component from the deformation gradient
d ε ≈12
(dFT R+RT dF )
Classification of interpolation methods :
Point-based methods [Nealen05]:- Mesh-based :
– Barycentric (edges, triangles, tetrahedra)– Bilinear, trilinear (quads, hexahedra)– Higher order interpolations (2d order triangles, etc.)
- Mesh-free :– Shepard method (SPH)– Radial basis functions– Moving least squares– Natural element method (Sibson, Laplace)
…
Frame-based methods : - Skinning ...
Interpolation
Standard point-based methods are based on a weighted combination :
p=Θ( p , q , q)
p− p=∑iwi [qi−qi ]
Mapping from kinematic model to material :
Desired properties :– Smooth and locally supported weights → sparse matrices
– Linear completeness (can reproduce linear displacements)
– Interpolating
– Can reproduce rotations
: weight (or shape) function of node i = influence of node iw i( p)
u=∑iwiu → ∑i
w i=1
w i(qi)=1 , wi(q j)=0 i≠ j
R p=∑iwiR qi → p=∑i
wi qi , p=∑iwiqi
Barycentricinterpolation
Partition of unity
First order edge elements
q0
lq1 q0 l
q1
u
pp
1 w1w0
w0=1−p−q0
l
w1=1+p−q1
l
∇w 0=∂w0
∂ p=−
1l
∇ w1=∂w1
∂ p=+
1l
Linear shape function :
u = p− p = ∑ wi(qi−q i)Linear mapping of material points :
= barycentric coordinates
, dp = ∑ widqi
Mapping of deformation gradient :
F =∂ p∂ p
= ∑ (q i−q i)∇ wi+ I =llu , dF = ∑ dq i∇ wi
constant JacobianUniform in element
constant Jacobian
First order triangle elements
p=∑ w i q i
p=∑ w iq i
q0
q1
q2
p
q0
q1
q2
p
u = p− p = ∑ wi(qi−q i)
w i=1−( p−qi). ni
h i
n2
n1
n0h2
∇w i=∂wi
∂ p=(−
nihi
)T
Linear shape function :
Mapping of deformation gradient : F =∂ p∂ p
= ∑ (q i−q i)∇ wi+ I , dF = ∑ dq i∇ wi
, dp = ∑ widqi
FF
= barycentric coordinates
Linear mapping of material points :constant Jacobian
constant JacobianUniform in element
First order quad elements
p=∑ w i q i p=∑ w iq i
q0 q1
q2
pq0
q1
q2
p
q3 q3
Lx
lx
with w x=lxLx
, w y=l yL y
[w0
w1
w2
w3]=[
(1−w x)(1−w y)
w x (1−w y)
(1−w x)w y
w xw y]Bilinear shape function :
u = p− p = ∑ wi(qi−q i)Linear mapping of material points :
Mapping of deformation gradient : F =∂ p∂ p
= ∑ (q i−q i)∇ wi+ I , dF = ∑ dq i∇ wi
, dp = ∑ widqi
→ not uniform inside an element ! → need several evaluations for energy integration
[∇ w0
∇ w1
∇ w2
∇ w3]=[
(w x−1)∇ w y+(w y−1)∇ wx
w x∇ w y+(w y−1)∇w x
(w x−1)∇w y+w y∇w x
wx∇ w y+w y∇ w x]
constant Jacobian
constant Jacobian
Second order edge elements
q0
l
q1 q0
q1p
p
1
w0=1−3 (p−q0
l)+2(
p−q0
l) ²
w1=1+3(p−q1
l)−2(
p−q1
l)²
w2=1−4(p−q2
l) ²
Quadratic shape function :
→ same methodology for triangles, quads, tetrahedra, hexahedra, etc.
Lagrange polynomial
q0
q2
w0 w1
w2
q2
∇w0=−3l
+4(p−q0
l²)
∇w1=3l−4 (
p−q1
l²)
∇w2=−8 (p− q2
l²) ²
u = p− p = ∑ wi(qi−q i)Linear mapping of material points :
Mapping of deformation gradient : F =∂ p∂ p
= ∑ (q i−q i)∇ wi+ I , dF = ∑ dq i∇ wi
, dp = ∑ widqi
→ not uniform inside an element ! → need several evaluations for energy integration
constant Jacobian
constant Jacobian
Natural neighbor interpolation
q0
q1
q2
p
q0
q1
q2
p
s1s0
s2h2
h1
h0a1
a2
a0
p=∑ w i q i
p=∑ w iq i
Voronoi diagram : division of space based on proximity criterion
Add each material point to node Voronoi digram
w i=ai
∑ ja j
w i=si /hi
∑ js j /h j
Sibson interpolant :
Laplace interpolant :
Weight derivatives are hard to compute → approximation using a background image and central differences
p− p=∑ wi(qi−q i)
[Sukumar]
Moving least squares
q0
q1
q2
p
q0
q1
q2
p
p− p=∑ wi(qi−q i)
θ( p−q0)
θ( p− qi)=Max (0,(1− p−qi²
r i²)3
)
Radial and compactly supporter kernel function :
for instance
Shape function : w i( p) = θ( p−qi) p ( p)TM ( p)−1 p(qi)
M ( p)=∑iθ( p−qi) p(qi) p (qi)
T , p(x)=[1x ]
As interpolant as possible given the relation :
With moment matrix and polynomial basis :
p− p = A ( p) p ( p)
dr
Each material point needs to be influenced by 4 nodes, otherwise M is singular
- Stress
- Strain energy
- Some common materials
- Soft tissue characterization
Material response
Linear Elastic MaterialLinear Elastic Material
Simplest Material behaviour
Only valid for small deformations (less than 5%)
Biological TissueBiological Tissue
complex phenomena arises
loading
Unloading
Hysteresis
Linear Domain
Slope =Young Modulus
Non-Linearity
Anisotropy
V0
V1V2
V3
Visco-elasticity
Stress tensor
: unit normal
: stress tensor
σ=[T (1)T (2)T (3)]=[
σ xx σ xy σ xzσ xy σ yy σ yzσ xz σ yz σzz
]
n
σ [N
m2]
t=σ .n
σ= [σ xxσ yyσ zzσ xyσ yzσ xz
]The stress tensor is symmetric due to the principle of conservation of angular momentum
Voigt Notation
Elastic potential energy
W (ε0)=∫0
ε0
σ :d ε
Area under stress/strain curve = energy density stored in the material
units : [N.m
m3]=[
Joules
m3]
: operator = Frobenius inner product σ :d ε=∑i∑ jσ ij d εij=tr (σ
T d ε)
Using Voigt notation : σ :d ε=[σxxσ yyσ zzσxyσ yzσ xz
]T
[d εxxd εyyd εzz2d εxy2d ε yz2 d εxz
]Density of internal forces: ∂W
∂ε=σ Stiffness : K=
∂ ²W∂ε ²
=∂σ∂ε
Linear materials
W=12
σT ε=12
εT H ε
Based on Hooke's law : σ=H ε
6x6 Hooke stiffness matrix
Strain energy density with Voigt notation :
Anisotropy (21 independent material constants)
H=[C11 C12 C13 C14 C15 C16
C22 C23 C24 C25 C26
C33 C34 C35 C36
C44 C45 C46
sym. C55 C56
C66
]
Linear materials
W=12
σT ε=12
εT H ε
Based on Hooke's law : σ=H ε
6x6 Hooke stiffness matrix
Strain energy density with Voigt notation :
Anisotropy (21 independent material constants)
Orthotropy (9)
H=[C11 C12 C13 0 0 0
C22 C23 0 0 0C33 0 0 0
C44 0 0sym. C55 0
C66
]
Linear materials
W=12
σT ε=12
εT H ε
Based on Hooke's law : σ=H ε
6x6 Hooke stiffness matrix
Strain energy density with Voigt notation :
Anisotropy (21 independent material constants)
Orthotropy (9)
Transversal isotropy (5)
H=[C11 C12 C13 0 0 0
C11 C13 0 0 0C33 0 0 0
C 44 0 0sym. C 44 0
C11−C12
2]
Linear materials
W=12
σT ε=12
εT H ε
Based on Hooke's law : σ=H ε
6x6 Hooke stiffness matrix
Strain energy density with Voigt notation :
Anisotropy (21 independent material constants)
Orthotropy (9)
Transversal isotropy (5)
Isotropy (2)
H= Ε(1+ν)(1−2ν)[
1−ν ν ν 0 0 01−ν ν 0 0 0
1−ν 0 0 0(1−2ν)/2 0 0
sym. (1−2 ν)/2 0(1−2ν)/2
]E : Young's modulus [N/m²]V : Poisson's ratio [0,0.5[
σ = 2με + 2λ tr (ε) IEquivalent to :with Lamé coefficients : λ = Εν
(1+ν)(1−2 ν), μ= Ε
2(1+ν)
Deformation gradient :
Strain (linear):
Strain energy density (Hooke):
Total energy (midpoint integration) :
Forces :
= spring !
ε =12
(FT+F)−I =
ll−1
q0 l q1 q0
lq1
F =d pd p
=llu
u
W ( p) =ε
TH ε
2= Ε
2(
ll−1)²
W = v Ε2(
ll−1) ²
f 1 = −∂W∂q1
= Εsl( l −l)u = k ( l −l)u , f 0 = −f 1
pp
First order edge elements
Tensor invariants
I1=tr (C)
I2=12
[tr (C )2−tr (C2
)]
I3=det (C )
I1 = det (F )−2 /3 I1
I2 = det (F )−4 /3 I2
More general constitutive laws for hyperelastic materials are based on invariants of the right Cauchy deformation tensor :
For incompressible materials, deviatoric invariants are used : W ( I1 , I2 , det (F))
W (I1 , I2 , I 3)
Linear material : linear (Cauchy) strain + linear (Hooke) stress- strain function
St Venant Kirchoff material : non-linear (Green-Lagrangian) strain + linear (Hooke) stress- strain function
Other Hyperelastic Material
• Neo-Hookean Model:
• Mooney-Rivlin :
• Fung Isotropic Model :
• Veronda-Westmann :
• Incompressibility :
W = C1( I 1−3) , C1=μ
2
W = C1( I 1−3)+C2(I 2−3) , C 1+C2=μ
2
W = a( I 1−3)+b [ec. (I 1−3)−1]
W = −C1C2
2(I 2−3)+C1 [eC 2( I1−3)
−1]
W =k2(det (F)−1)²
W =k2ln (det (F))²
Estimating material parameters
Complex for biological tissue :- Heterogeneous and anisotropic materials
- Tissue behavior changes between in-vivo and in-vitro
- Ethics clearance for performing experimental studies
- Effect of preconditioning
- Potential large variability across population
Soft Tissue Characterization
Different possible methods- In vitro rheology
- In vivo rheology- Elastometry
- Solving Inverse problems
Soft Tissue Characterization
In vitro rheology- can be performed in a laboratory.
Technique is mature
- Not realistic for soft tissue (perfusion, …)
Soft Tissue Characterization
In vivo rheology- can provide stress/strain relationships at several
locations
- Influence of boundary conditions not well understood
Source : Cimit, Boston USA
Soft Tissue Characterization
Elastometry (MR, Ultrasound)• mesure property inside any organ non
invasively • validation ? Only for linear elastic materials
Source Echosens, Paris
Soft Tissue Characterization
Inverse Problems• well-suited for surgery simulation
(computational approach)• require the geometry before and after
deformation
Continuum solid mechanics : Summary
Time integration
Spatial integration
∫E
∬q
Nodes
Strain
Deformation grad.
positions: q
J 1=Fq
forces : f ε=−∫σ δv
positions:F=Θ1(q)
positions:F
positions:ε=Θ2(F )
J 2=ε F
forces : f F=J 2T f ε
forces : f F
forces : f q=J1T f F
Law of motion
Kinematic interpolation
Deformation measure
Material law
Deformation discretization
Time discretization
Material discretization
Spatial integration
Mid-point rule :– Suppose constant energy inside integration domains
Exact for 1st order elements
W = ∫ΩW ( p)δ v ≈ ∑i
W ( pi )δ vi
pδ v
q0 l q1
W = vk2(
ll−1) ²
p
approximantexact
Spatial integration
Gauss-Legendre quadrature :– Suppose that energy is a polynomial function of
position inside integration domains
W = ∫ΩW ( p)δ v ≈ ∑i
ciW ( pi)δ vi
e.g. : bilinear interpolation and Cauchy strain measure
→ energy and force are quadratic
→ 4 points allows for exact integrationp0
δ v
p1
p2 p3W = ∑i
14
W ( pi)δ vi
l y2
l y2√3
For irregular domains : no exact quadrature rule..→ approximation based on a background mesh
Basics
Discrete methods
Continuum based methods
Time integration
Contact handling
OutlineOutline
Kinetic energy
Nodes
Mass points
Time integration
Spatial integration
velocities : q
positions: q
forces : f p=− E p
∫E
∬q
velocities : p=J qpositions: p=Θ(q)
J= p q
forces : f q=JT f p
accelerations : q
accelerations : p=J q+dJ q
T =12pTM p p
T =12qTM q =
12qT (JTM p J ) q
M p = [. 0
.ρΔ v
0 .]
Simplifying the mass matrix
Approximation using midpoint rule :
Simplification using mass lumping:
M = [. . . .. . M ij .. . . .. . . .
] M ij = ∑ J iT J jρΔ v
M = [. 0
.M i
0 .]
Mass is moved to the nodes
M = ∫Ω
∂ p∂ q
T∂ p∂ q
ρ δ vGeneralized dense Mass matrix :
Temporal integration
Equilibrium = Solution of the variational problem:
Static solver (no mass, no velocity involved) :
– Explicit solution for small displacements :
– Iterative gradient descent
• Explicit scheme:
• Implicit scheme :
Find u such that is minimalE = ∫ΩW (u)δ v−∫
Ωρ f.u δ v−∫
∂ΩN t
N .uδ s
δ q=−∂E∂q
dt = fdt
q t+1=qt+f t dt
qt+1=qt+(fit+1+ fet)dt
→∂E∂q
= fi+fe = f = 0
f t+1≈ f t+K t δq→ ( I−K t .dt )(q t+1−qt)=f t dt
K=∂ fi∂ q
→ fi− fi0=K (q−q0) → K (q−q0)=−feConstant stiffness
Newtonian evolution → 1st order differential system:
Explicit schemes:
• Euler:
• Runge-Kutta: several evaluations to better extrapolate the new state [press92]
Semi-Implicit schemes:
• Symplectic Euler :
• Verlet: Use of previous states
→ Unstable for large time-step !!
Dynamic evolutionDynamic evolution
M q=f →δq=q dtδ q=q dt=M−1 f dt
qt+1=qt+qt dt
˙qt+1=qt+M−1 f t dt
˙qt+1=qt+M−1 f t dt
qt+1=qt+ ˙qt+1dt
Implicit schemes [terzopoulos87], [baraff98], [desbrun99], [volino01], [hauth01]
• First-order expansion of the force:
• Euler implicit
• Backward differential formulas (BDF) : Use of previous states
→ Unconditionally stable for any time-step
… But requires the inversion of a large sparse system
– Choleski decomposition + relaxation
– Iterative solvers: Conjugate gradient, Gauss Seidel
– Speed and accuracy can be improve through preconditioning
Dynamic evolutionDynamic evolution
(M−Bdt−K dt² )( ˙qt+1−qt) = (f t dt+K qt dt² )qt+1 = qt+ ˙qt+1dt
f t+1 ≈ f t +∂ f∂q
δ q +∂ f∂ q
δ q = f t + K δq + Bδ q
Biological TissueBiological Tissue
complex phenomena arises
loading
Unloading
Hysteresis
Linear Domain
Slope =Young Modulus
Non-Linearity
Anisotropy
V0
V1V2
V3
Visco-elasticity
Basics
Discrete methods
Continuum based methods
Time integration
Contact handling
OutlineOutline
Benjamin GILLES
Primitive intersection• Test triangle/triangle, triangle/points, sphere/points...• Acceleration using bounding volume hierarchies (BVH)
Volumetric detection• Distance fields• Image based
Simulation of articulated rigid bodiesCollision detectionCollision detection
Benjamin GILLES
Penalty methods• Acceleration-based : (stiff) springs [Moore88]
• Velocity-based: impulses [Mirtich94][Weinstein06]
• Position-based [Gascuel94][Lee00]
Constrained dynamics • Lagrange multipliers [Barraf94]
Acceleration, Velocity or Position based
Simulation of articulated rigid bodiesCollision responseCollision response
A. Nealen et al.Physically Based Deformable Models in Computer GraphicsEurographics 2005
ReferencesReferences
M. Teschner et al.Collision Detection for Deformable ObjectsComputer Graphics Forum 2005
SOFA opensource simulatorhttp://sofa-framework.org
Bullet physicshttp://bulletphysics.org/wordpress/