Upload
vanthien
View
251
Download
6
Embed Size (px)
Citation preview
The Classical FEM Method and Discretization
Methodology SIGGRAPH 2012 Course Note
Re-Presented by Tiantian Liu
About
• SIGGRAPH 2012 Course • FEM Simulation of 3D Deformable Solids: A practitioner’s guide to theory,
discretization and model reduction • http://www.femdefo.org/ • The classical FEM method and discretization methodology
• Eftychios Sifakis
• Model Reduction • Jernej Barbič
About
• Eftychios Sifakis • Assistant Professor • Computer Science Department, University of Wisconsin-Madison • [email protected]
Topics • Elasticity in 3D
• Deformation map and deformation gradient • Strain energy and hyperelasticity • Force and traction • Stress tensor
• Strain Measurements Vs. Stress Tensor • Linear elasticity • St. Venant-Kirchhoff model • Corotated linear elasticity • Neohookean elasticity
Basic Concepts
Four Models
Topics (cont’d)
• Discretization • Energy and Force • Linear tetrahedral elements • Explicit integration • Implicit integration
Fundamental Concepts
• What do we need to simulate a deformable body? • For each vertex:
• Position • Velocity • Acceleration / Force
• Concepts we need: • Deformation map and deformation gradient • Strain energy • Force and traction density • Stress tensor
Fundamental Concepts Constitutive Models Discretization
Deformation Map
• We need something describing the deformation
Fundamental Concepts Constitutive Models Discretization
Deformation Map
Fundamental Concepts Constitutive Models Discretization
Deformation Map
Fundamental Concepts Constitutive Models Discretization
Deformation Map
Fundamental Concepts Constitutive Models Discretization
Example of Deformation Map
• Here’s a deformation map
Fundamental Concepts Constitutive Models Discretization
+−
==
=
2116.11500.02067.01866.0
)(21
XXXX
Xxx
x φ
Example of Deformation Map
• Or we can write it another way
Fundamental Concepts Constitutive Models Discretization
XFXX
Xxx
x
=
−==
=
21
116.1500.0067.0866.0
)(21
φ
Deformation Gradient Tensor
• Definition • Jacobian Matrix of the Deformation Map
Fundamental Concepts Constitutive Models Discretization
Deformation Gradient Tensor
• Notice that F will be spatially varying across Ω, we will notate it as F(X) if such dependence needs to be made explicit.
Fundamental Concepts Constitutive Models Discretization
Deformation Gradient Tensor
• Example • Translate
Fundamental Concepts Constitutive Models Discretization
Deformation Gradient Tensor
• Example • Scale
Fundamental Concepts Constitutive Models Discretization
Deformation Gradient Tensor
• Example • Rotate
Fundamental Concepts Constitutive Models Discretization
Same Potential
Hyperelasticity Hypothesis
• Potential energy associated with a deformed configuration • only depends on the final deformed shape • not depends on the deformation path over time
Fundamental Concepts Constitutive Models Discretization
Strain Energy
• Energy is only a function of current state φ(X) • Based on hyperelasticity
• Define energy density funcition Ψ(φ(X),X)
Fundamental Concepts Constitutive Models Discretization
Strain Energy
• φ(X) is only a function of F(X). (If φ is small)
• Ψ(φ(X),X) can be write as Ψ(F(X))
Fundamental Concepts Constitutive Models Discretization
Strain Energy
• Take a blind guess of Ψ(F(X))?
Fundamental Concepts Constitutive Models Discretization
Strain Energy
• Take a blind guess of Ψ(F(X))?
Fundamental Concepts Constitutive Models Discretization
Strain Energy
• Naive Spring Analogy Model
Fundamental Concepts Constitutive Models Discretization
Energy -> Force
• Example • Potential Energy in Gravity
• Force
Fundamental Concepts Constitutive Models Discretization
Force in non-constant Force Field / Force Density • Aggregated Force = integration of force density
• Problem? • How about zero-volume area, such as surface?
Fundamental Concepts Constitutive Models Discretization
Surface Traction
• Aggregated Force on surface
Fundamental Concepts Constitutive Models Discretization
Ω∂⊂B
The First Piola-Kirchhoff Stress Tensor
• Definition
• Two equally popular (and, in fact, equivalent) ways to describe the material properties of a hyperelastic material
• Explicit formula of Ψ(F(X)); • Explicit formula of P(F(X));
Fundamental Concepts Constitutive Models Discretization
The First Piola-Kirchhoff Stress Tensor
• Force and traction, represented by Piola-Kirchhoff Stress Tensor:
Fundamental Concepts Constitutive Models Discretization
The First Piola-Kirchhoff Stress Tensor
• Force and traction, represented by Piola-Kirchhoff Stress Tensor:
Fundamental Concepts Constitutive Models Discretization
Example from Ψ to P
• Energy density:
• Piola-Kirchhoff Stress Tensor
Fundamental Concepts Constitutive Models Discretization
Example from Ψ to P
• Given Deformation Map
• Calculate P
• Calculate Traction
Fundamental Concepts Constitutive Models Discretization
Rigid body Transformation Invariance
• Energy / Stress Tensor / Force should remain invariant under rigid body transformations (Rotation + Translation)
F = R
Fundamental Concepts Constitutive Models Discretization
Problem of Naive Spring-Analogy Model
• Strain Measurement: • F-I
• Stress Tensor • k(F-I)
• Energy density • k/2*(F-I):(F-I)
F = R
Fundamental Concepts Constitutive Models Discretization
Constitutive Models of Materials
• Strain Measures • Linear elasticity • St. Venant-Kirchhoff model • Corotated linear elasticity • Isotropic &rotationally invariant • Neohookean elasticity
Fundamental Concepts Constitutive Models Discretization
Strain Measures
• Motivation • Rigid Body Transformation Invariant
• Idea • Since RT = R-1 …
=> FTF = (RS)TRS = STRTRS = STS • Directly Using S => S = RTF
Fundamental Concepts Constitutive Models Discretization
Green Strain Tensor
• Definition
Fundamental Concepts Constitutive Models Discretization
Green Strain Tensor
• Advantage of using the term FTF:
Fundamental Concepts Constitutive Models Discretization
Green Strain Tensor
• Small deformation case:
Fundamental Concepts Constitutive Models Discretization
Small Strain Tensor
• Small deformation case:
Fundamental Concepts Constitutive Models Discretization
Linear elasticity
• Strain energy density defined with small strain tensor
Fundamental Concepts Constitutive Models Discretization
Linear elasticity
• After we have the definition of Ψ(F), we can get the strain tensor by:
Fundamental Concepts Constitutive Models Discretization
Linear elasticity
• The stress P is a linear function of the deformation gradient F. • Problem:
• designed to be accurate exclusively in a small deformation scenario.
Fundamental Concepts Constitutive Models Discretization
Linear elasticity
• http://www.youtube.com/watch?v=e66agRi1R2k
Fundamental Concepts Constitutive Models Discretization
St. Venant-Kirchhoff Model
• Strain energy density defined with Green strain tensor directly
Fundamental Concepts Constitutive Models Discretization
St. Venant-Kirchhoff Model
• Similarly, we can get P from the definition of Ψ:
Fundamental Concepts Constitutive Models Discretization
St. Venant-Kirchhoff Model
• Potential Problem: • Think about the stress tensor again:
• It’s a cubic function of F, so when F goes
to zero, P does not go to infinity (at least a large value) as wanted.
Fundamental Concepts Constitutive Models Discretization F
F
FP
St. Venant-Kirchhoff Model
• Problem: • When F->0, P = F[2μE+λtr(E)I] -> 0, thus the stress goes to zero! • Experimental critical compression threshold = 58% • If compressed to about 58% of undeformed dimensions, the stress force has a
maximum.
Fundamental Concepts Constitutive Models Discretization
St. Venant-Kirchhoff Model
• http://www.youtube.com/watch?v=JelJltJlJc0
Fundamental Concepts Constitutive Models Discretization
Corotated Linear Elasticity
• Use the second idea motioned before, measure strain using: ϵc = S-I = RTF-I • Energy density:
Fundamental Concepts Constitutive Models Discretization
Corotated Linear Elasticity
• Still, we can use the definition of Ψ to calculate P:
Fundamental Concepts Constitutive Models Discretization
Corotated Linear Elasticity
• Motivation: • mimic what linear elasticity would have been after killing the rotation term
• Problem: • the overhead of corotated vs. linear elasticity includes the cost of the polar
decomposition, and the need to employ nonlinear solvers for certain types of simulation
Fundamental Concepts Constitutive Models Discretization
Rotationally Invariant
Fundamental Concepts Constitutive Models Discretization
Isotropic
Fundamental Concepts Constitutive Models Discretization
• Definition: • resistance to deformation is the same along all possible orientations that such
deformation may be applied
Isotropic
Fundamental Concepts Constitutive Models Discretization
• Definition: • resistance to deformation is the same along all possible orientations that such
deformation may be applied
Isotropic & Rotationally Invariant
Fundamental Concepts Constitutive Models Discretization
Isotropic & Rotationally Invariant
Fundamental Concepts Constitutive Models Discretization
• Using the Singular Value Decomposition F = UΣVT, we conclude that rotationally invariant, isotropic materials satisfy:
Isotropic Invariants
Fundamental Concepts Constitutive Models Discretization
• We can define any material with F = UΣVT, but again, the overhead of SVD is high.
• Alternative: • Mimic what we did in St. Venant-Kirchhoff model. • Find some parameters we call isotropic invariant. I(F)
Isotropic Invariants
Fundamental Concepts Constitutive Models Discretization
Isotropic Invariants
Fundamental Concepts Constitutive Models Discretization
Isotropic Invariants
Fundamental Concepts Constitutive Models Discretization
• Define energy function Ψ as a function of I1, I2, I3: Ψ(I1, I2, I3) • We can find the stress tensor P as we did before:
Neohookean Elasticity
Fundamental Concepts Constitutive Models Discretization
• Define energy density Ψ as a function of I1 and I3:
Neohookean Elasticity
Fundamental Concepts Constitutive Models Discretization
• Then we can get the stress tensor using previous formula:
Neohookean Elasticity
Fundamental Concepts Constitutive Models Discretization
• Properties: • When F goes to 0, J goes to 0, a*log2(J)-b*log(J) goes to infinity • When F goes to infinity, J goes to infinity, a*log2(J)-b*log(J) goes to infinity
too. (Remember log2(J) goes faster than log(J))
FF
FP
Neohookean Elasticity
Fundamental Concepts Constitutive Models Discretization
• Properties: (cont’d) • λ value controls the stiffness of the body directly. (λ emphasizes the log2(J)
term which is related to the fraction of volume change) • High λ condition = incompressible
Neohookean Elasticity
Fundamental Concepts Constitutive Models Discretization
• http://www.youtube.com/watch?v=XYS7STz8iNI
Fundamental Concepts Constitutive Models Discretization
Summary of Models Model Strain Measurement First Piola-Kirchhoff
Stress Tensor Potential Problem
Naive Spring Analogy Model F-I k(F-I) Not rotationally
invariant Linear Elasticity
Model ½*(F+FT)-I 2μϵ+λtr(ϵ)I Not rotationally invariant
St. Venant-Kirchhoff Model ½*(FTF-I) F[2μE+λtr(E)I] Can not compress
extremely Corotated Linear Elasticity Model RTF-I 2μ(F-R)+λtr(RTF-I)R Slow polar
decomposition Neohookean
Elasticity I1, I3 μ(F-μF-T)+λlog(J)F-T -
Discretization
• Energy and Force • Linear tetrahedral elements • Explicit integration • Implicit integration
Fundamental Concepts Constitutive Models Discretization
Deformation Map on Vertices
• We only store the values of the deformation map φ(X ) on a finite number of points X1, X2, . . . , XN, corresponding to the vertices of a discretizated mesh.
• Define an aggregate state of a model:
Fundamental Concepts Constitutive Models Discretization
Discretize Energy
• Original Energy of Deformation
• Discretized Energy on Vertices
Fundamental Concepts Constitutive Models Discretization
Discretize Energy
• Original Energy of Deformation
• Discretized Energy on Vertices
Fundamental Concepts Constitutive Models Discretization
Discretize Energy
• In practice, prior to computing each force, we first separate the energy integral into the contributions of individual elements Ωe
Fundamental Concepts Constitutive Models Discretization
Discretize Force
• From energy to force:
Fundamental Concepts Constitutive Models Discretization
Discretize Force
• Subsequently, the force fi on each node can be computed by adding the contributions of all elements in its immediate neighborhood Ni:
Fundamental Concepts Constitutive Models Discretization
Linear Tetrahedral Elements
• In every tetrahedral Ti, we have:
• Linear Assumption: • Inside one tetrahedron A1 = A2 = A3 = A4 = F b1 = b2 = b3 = b4 = b
Fundamental Concepts Constitutive Models Discretization
Compute F
Fundamental Concepts Constitutive Models Discretization
Compute F
Fundamental Concepts Constitutive Models Discretization
Compute F
Fundamental Concepts Constitutive Models Discretization
Compute F
Fundamental Concepts Constitutive Models Discretization
Energy & Force in One Element
Fundamental Concepts Constitutive Models Discretization
• Since Fi is constant over the tetrahedron Ti, we can redefine the energy function as:
• For one tetrahedron Ti, the forces to the four vertices will be:
Batch Computation of Elastic Forces on a Tetrahedral Mesh (Precomputation)
Fundamental Concepts Constitutive Models Discretization
Batch Computation of Elastic Forces on a Tetrahedral Mesh (Computation)
Fundamental Concepts Constitutive Models Discretization
Explicit Euler integration Scheme
Fundamental Concepts Constitutive Models Discretization
• We have fn=f(xn,vn) already! • an = M-1fn
• vn+1 = vn + dt*an
• xn+1 = xn + dt*vn
• Problem? • Unstable!
Implicit Euler Integration Scheme
Fundamental Concepts Constitutive Models Discretization
• vn+1 = vn + dt*an+1
• xn+1 = xn + dt*vn+1 • Where an+1 = M-1f(xn+1, vn+1) = M-1(fe(xn+1)+fd(xn+1,vn+1)) • M is the mass matrix, lumped to diagonal form. • fe(x*) is the elastic forces at configuration x*, as defined in previous
sections • fd(x*, v*) is the damping force at position x* and velocity v*,
according Rayleigh damping model.
Implicit Euler Integration Scheme
Fundamental Concepts Constitutive Models Discretization
• Problem: • Compute K(x*) is slow.
• Constantly poke a vertex and all its neighbors • Cache Disaster + Construction Cost
• Implicit integration of vn+1 = vn + dt* M-1(fe(xn+1)+fd(xn+1,vn+1)) and xn+1 = xn + dt*vn+1 needs tricky methods
• Solution: • We can compute K(x*)w directly, instead of computing K(X*) first • Define iterative process to compute unknowns Xn+1, Vn+1
Force Differentials
Fundamental Concepts Constitutive Models Discretization
• Define force differential as:
• Write it in H matrix form:
Force Differentials
Fundamental Concepts Constitutive Models Discretization
• Plug in the formula for H:
• 2 More Steps: • construct the deformation gradient increment δF • provide a usable formula for δP(F; δF)
Deformation Gradient Increment δF
Fundamental Concepts Constitutive Models Discretization
Stress Tensor Increment δP(F; δF)
Fundamental Concepts Constitutive Models Discretization
• For St. Venant-Kirchhoff materials
• For Neohookean materials
Batch Computation of Elastic Forces on a Tetrahedral Mesh (Modified)
Fundamental Concepts Constitutive Models Discretization
Iterative Process of Implicit Integration
Fundamental Concepts Constitutive Models Discretization
• Construct sequences of approximations: • Such that:
Iterative Process of Implicit Integration
Fundamental Concepts Constitutive Models Discretization
• Correction variables are defined as
Iterative Process of Implicit Integration
Fundamental Concepts Constitutive Models Discretization
• The linearization around (x(k+1)n+1 , v(k+1)
n+1) yields:
Line
ariza
tion
Not pure linearization
Iterative Process of Implicit Integration
Fundamental Concepts Constitutive Models Discretization
• Further Manipulation:
Iterative Process of Implicit Integration
Fundamental Concepts Constitutive Models Discretization
• Update v(k+1)n+1 and x(k+1)
n+1:
Summary
• Deformation Measurements • Deformation Map, Deformation Gradient
• Strain->Energy->Stress • 5 different models
• Discretization • Linear tetrahedron, explicit/implicit integration