inverse design (and a lightweight introduction to the ...scoros/cs15869-s15/lectures/08-fem.pdf ·...

55
Inverse Design (and a lightweight introduction to the Finite Element Method) Stelian Coros

Upload: hoangcong

Post on 31-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Inverse Design (and a lightweight

introduction to the Finite Element Method)

Stelian Coros

Computational Design

• Forward design: direct manipulation of design

parameters

– Level of abstraction

– Exploration of design spaces

• Inverse design: automatically infer design

parameters from functional specifications

– Optimization-based

Inverse Design Example

• Design an object that can deform like this:

• Need model that predicts the way in which

objects deform

– Design parameters: material parameters, points of

application for forces or constraints

“Computational Design of Actuated Deformable Characters”, Skouras et al, 2013

A Lightweight Introduction to the Finite

Element Method

The plan

• Start with a quick review of mass-spring

systems

• Modeling deformable objects using

continuum mechanics and the finite

element method

Mass Spring Systems

• One way of modeling deformable objects is

as a network of masses and springs

Mass

Spring

Mass Spring Systems

• 1 mass point, 1 spring

Deformation Measure Elastic Energy Forces

fint(x) =

Direction Vector

Deformation Measure

Stiffness

X x yi yi

l = |x - yi|

l0 = |X - yi|

l l0

Spring length

before/after

Mass Spring Systems

• Things to note:

– In the absence of external forces, elastic objects

return to reference (undeformed) configuration

– Hyperelastic assumption: deformation energy

depends only on deformed configuration:

elastic forces are conservative

Mass Spring Systems

• The acceleration of a point mass is given by:

ma = fint(x) + fext

• Use standard methods to integrate this system

forward in time to compute motion

• Or compute static equilibrium configuration

Principle of minimum potential energy

A mechanical system in static equilibrium will assume a state of minimum potential energy: find x to minimize W(x), or equivalently, such that fint(x) + fext = 0

Mass Spring Systems

fint(x) =

Mass Spring Systems: Simulation Pseudocode

– a0 //Array of accelerations

– v0 //Array of velocities

– p0 //Array of positions

– For each particle, p

• mmass of the particle

• fsum of all spring forces acting on the particle

• a[p]f/m

– End

– vIntegrate(a)

– pIntegrate(v)

Mass Spring Systems

• Can be used to model arbitrary deformable

objects, but…

– Behavior depends on tessellation

• Find good spring layout

• Find good spring constants

• Different types of springs interfere

– Limited accuracy

• No explicit volume or area preservation

Alternative…

• Start from continuum mechanics

• Discretize with Finite Elements

– Decompose model into simple elements

– Setup & solve system of algebraic equations

• Advantages

– Accurate and controllable material behavior

– Largely independent of mesh structure

Mass Spring vs Continuum Mechanics

• Mass spring systems require:

1. Measure of Deformation

2. Material Model

3. Deformation Energy

4. Internal Forces

• Continuum Mechanics relies on conceptually

identical pieces of information

Continuum Mechanics: 3D Deformations

• For a deformable body, identify:

– undeformed state described by positions – deformed state described by positions

• Displacement field u describes in terms of

x

y

z

u(x)

': u )(XX ux

3' R

3R

x

X

'

'

xX )(Xu

Continuum Mechanics: 3D Deformations

• Consider material points and and such that is infinitesimal

x

y

z

1X || d2X

12' xxd )()( 1122 XXXX uu

)()( 11 XX udud

du)I(

• Now consider deformed vector 'd

1X2X

1x2x

'dd

)()( 11 xuudxud

12 XX d

'

Deformation gradient F=

u

www

vvv

uuu

zyx

zyx

zyx

X

x

So…

• Displacement field transforms points

FdduId )('

)(XX ux

• Jacobian transforms directions

Deformation gradient F=

X

x

Displacement Field and Deformation Gradient

• In general, displacement field is not explicitly

described. Nevertheless, toy examples:

Displacement Field and Deformation Gradient

• In general, displacement field is not explicitly

described. Nevertheless, toy examples:

Displacement Field and Deformation Gradient

• In general, displacement field is not explicitly

described. Nevertheless, toy examples:

Displacement Field and Deformation Gradient

• In general, displacement field is not explicitly

described. Nevertheless, toy examples:

Displacement Field and Deformation Gradient

• In general, displacement field is not explicitly

described. Nevertheless, toy examples:

Measure of deformations

• Displacement field transforms points

FdduId )('

)(XX ux

How can we describe deformation at given point?

• Jacobian transforms directions

• Deformation measure (strain):

• Undeformed spring:

• Undeformed (infinitesimal) continuum

volume:

Back to spring deformation

Equivalent to F!

= 1

= I

Strain (description of deformation in terms

of relative displacement)

• Deformation measure (strain):

• Desirable property: if spring is undeformed,

strain is 0

• Can we find a similar measure that would

work for an arbitrary volume ?

3D Nonlinear Strain

Idea: to quantify change in shape, measure change in squared length for any vector dIFFddddddd )(''|||'| 22 TTTT

Green strain )(21 IFFE T

– Displacement field transforms points

FdduId )('

)(XX ux

• Recall:

– Jacobian (i.e. deformation gradient) transforms vectors

Strain (description of deformation in terms

of relative displacement)

• Deformation measure (strain):

• Property: if spring is undeformed, strain is 0

• Can we find a similar measure that would

work for an arbitrary volume ?

Green strain )(21 IFFE T

3D Linear Strain

• Green strain is quadratic in displacements

21

wvwuw

wvvuv

wuvuu

zzyzx

yzyyx

xzxyx

2

2

2

)()(21

21 uuuuIFFE TTT

• Neglecting quadratic terms leads to the linear Cauchy strain

(small strain) • Written out:

Notation

𝜺 =1

2𝛻𝐮 + 𝛻𝐮t =

1

2𝐅 + 𝐅𝑡 − 𝐈

3D Linear Strain

• Linear Cauchy strain

• Geometric interpretation

y,v

x,u

i : normal strains

i : shear strains

21

wvwuw

wvvuv

wuvuu

zzyzx

yzyyx

xzxyx

2

2

2

x yxy

Cauchy vs. Green strain

• Nonlinear Green strain is rotation-invariant

– Apply incremental rotation 𝐑 to given deformation 𝐅 to obtain 𝐅′ = 𝐑𝐅

– Then

• Linear Cauchy strain is not rotation-invariant

→ artifacts for larger rotations

)''('21 IFFE T

EIFFIRFRF )()(21

21 TTT

휀′ =1

2𝐅′ + 𝐅′𝑡 ≠

1

2𝐅 + 𝐅𝑡 = 휀

Mass Spring vs Continuum Mechanics

• Mass spring systems:

1. Measure of Deformation

2. Material Model

3. Deformation Energy

4. Internal Forces

• Continuum Mechanics:

1. Measure of Deformation: Green or Cauchy strain

2. Material Model

Material Model: linear isotropic material

• Linear isotropic material (generalized Hooke’s law)

– Energy density Ψ =1

2𝜆tr(𝜺)2+𝜇tr(𝜺2)

– Lame parameters 𝜆 and 𝜇 are material constants related to Poisson Ratio and Young’s modulus

• Interpretation – tr 𝜺2 = 휀 𝐹

2 penalizes all strain components equally – tr 𝜺 2 penalizes dilatations, i.e., volume changes

• Material model links strain to energy (and stress)

tr 𝜺 = ∑휀𝑖𝑖

Volumetric Strain (dilatation)

• Consider a cube with side length 𝑎

• For a given deformation 𝜺, the volumetric strain is

Δ𝑉/𝑉0 = (𝑎 1 + 휀11 ⋅ 𝑎 1 + 휀22 ⋅ 𝑎 1 + 휀33 − 𝑎3)/𝑎3

= 휀11 + 휀22 + 휀33 + 𝑂 𝜺2 ≈ tr 𝜺

𝑎

http://en.wikipedia.org/wiki/Infinitesimal_strain_theory

Young’s Modulus and Poisson Ratio

Energy density: Ψ =1

2𝜆tr(𝜺)2+𝜇tr(𝜺2)

Lame parameters 𝜆 and 𝜇 are material constants related to the fundamental physical parameters: Poisson’s Ratio and Young’s modulus (http://en.wikipedia.org/wiki/Lamé_parameters)

Poisson’s ratio (ν): measure of volume preservation

OBJECT

E=60 KPa

10 Kg OBJECT

E=10000000 GPa

10 Kg

Young’s modulus (E): measure of stiffness

Linear isotropic material

Energy density: Ψ =1

2𝜆tr(𝜺)2+𝜇tr(𝜺2)

• Problem: Cauchy strain is not invariant under rotations

→ artifacts for rotations • Solutions:

– Corotational elasticity – Nonlinear elasticity

Material Model: non-linear isotropic model

• Replace Cauchy strain with Green strain → St. Venant-Kirchhoff material (StVK)

• Energy density: Ψ𝑆𝑡𝑉𝐾 =1

2𝜆tr(𝐄)2+𝜇tr(𝐄2)

• Rotation invariant!

Problems with StVK

• StVK softens under compression

Ψ𝑆𝑡𝑉𝐾 =1

2𝜆tr(𝐄)2+𝜇tr 𝐄2

Energy

Deformation

Advanced nonlinear materials

• Green Strain 𝐄 =1

2𝐅𝑡𝐅 − 𝐈 =

1

2(𝐂 − 𝐈)

• Split into deviatoric (i.e. shape changing) and volumetric deformations

Volumetric: 𝐽 = det 𝐅

• Neo-Hookean material: Ψ𝑁𝐻 =𝜇

2tr 𝐂 − 3 − 𝜇ln (𝐽) +

𝜆

2ln 𝐽 2

Energy

Deviatoric: 𝐂 = det 𝐅 −2/3 𝐂

Different Models

St. Venant-Kirchoff

Neo-Hookean

Linear

Mass Spring vs Continuum Mechanics

• Mass spring systems:

1. Measure of Deformation

2. Material Model

3. Deformation Energy

4. Internal Forces

• Continuum Mechanics:

1. Measure of Deformation: Green or Cauchy strain

2. Material Model: linear, StVK, Neo-Hookean

3. Energy Density (!)

Finite Element Discretization

• Divide domain into discrete elements, e.g., tetrahedra

• Explicitly store displacement values at nodes (𝐱𝑖).

• Displacement field everywhere else obtained through interpolation: 𝐱 𝑋 = ∑𝑁𝑖 𝑋 𝐱𝑖

• Compute Deformation Gradient: 𝐅 =𝜕𝐱 𝑋

𝜕𝑋= ∑ 𝐱𝑖

𝜕𝑁𝑖

𝜕𝑋

𝑡

𝑖

• 4 nodes, undeformed positions 𝑋𝑖 , deformed positions 𝐱𝑖

• basis functions 𝑁𝑖 𝑋𝑗 : 𝐑3 → 𝐑

• Interpolate at vertices (delta-property) 𝑁𝑖 𝑋𝑗 = 𝛿𝑖𝑗 • Common choice: linear basis functions 𝑁𝑖 𝑥 , 𝑦 , 𝑧 = 𝑎𝑖𝑥 + 𝑏𝑖𝑦 + 𝑐𝑖𝑧 + 𝑑𝑖

• Compute 𝑁𝑖 (and 𝜕𝑁𝑖

𝜕𝑋) through

Basis Functions

Ω𝑒

𝑿1

𝑿2

𝑿3

𝑿4

V 𝑒

From energy density to deformation energy

• Integrate energy density over the entire element:

𝑊𝑒 = Ψ 𝐅 Ω𝑒

• Deformation gradient 𝐅 =𝜕𝐱 𝑋

𝜕𝑋= ∑ 𝐱𝑖

𝜕𝑁𝑖

𝜕𝑋

𝑡

𝑖 • If basis functions are linear:

− 𝐅 is linear in 𝐱𝑖 (nodal displacements)

− 𝐅 is constant throughout element:

𝑊𝑒 = Ψ 𝐅 = Ψ 𝐅 ⋅ 𝑉 𝑒 Ω𝑒

Ω𝑒

𝑿1

𝑿2

𝑿3

𝑿4

V 𝑒

• Mass spring systems:

1. Measure of Deformation

2. Material Model

3. Deformation Energy

4. Internal Forces

• Continuum Mechanics:

1. Measure of Deformation: Green or Cauchy strain

2. Material Model: linear, StVK, Neo-Hookean

3. Deformation Energy: integrate energy density

4. Internal Forces

Mass Spring vs Finite Element Method

Goal: find equilibrium configuration i.e., 𝐟𝑖 = 0 ∀𝑖

Given 𝐱 with 𝐟 𝐱 ≠ 0, find Δ𝐱 such that 𝐟 𝐱 + Δ𝐱 = 𝟎

𝐟 𝐱 + Δ𝐱 = 𝐟 𝐱 + 𝐊Δ𝐱 + 𝑂(Δ𝐱2)

Solve 𝐊Δ𝐱 = −𝐟 𝐱 for Δ𝐱

An example…

Stiffness matrix

𝐊 =𝜕𝐟

𝜕𝐱

So, now you to can do this:

Inverse Design Example

• Design an object that can deform like this:

• Need model that predicts the way in which

objects deform

– Design parameters: material parameters, points of

application for forces or constraints

“Computational Design of Actuated Deformable Characters”, Skouras et al, 2013

Inverse Design Example

• Design an object that can deform like this:

• FEM Model

– Design parameters: material parameters, points of

application for forces or constraints

“Computational Design of Actuated Deformable Characters”, Skouras et al, 2013

Pipeline

Actuator Location

Optimization

Material

Optimization

Fabricated

Deformable Model

Input and Target

Shapes

+

Mathematical Formulation

𝐸 𝐱, 𝐩 = 𝐸𝑚𝑎𝑡𝑐ℎ 𝐱, 𝐱𝑡𝑎𝑟𝑔𝑒𝑡

Design

Parameters

𝐟𝑡𝑜𝑡𝑎𝑙 𝐱, 𝐩 = 0 subject

to

Actuator Location Optimization

Material Distribution Optimization

Results

Input

Animation

Fabricated Prototype

Results

Target Pose

Rest Pose

Stiff Soft

Questions?

• Read paper for next class!