The Classical FEM Method and Discretization Methodologyliutiant/slides/rg_tiantian_fall2012.pdf ·...

Preview:

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 • sifakis@cs.wisc.edu

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

Recommended