inverse design (and a lightweight introduction to the ...scoros/cs15869-s15/lectures/08-fem.pdf ·...
TRANSCRIPT
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
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: 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!
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 𝐂
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
𝐊 =𝜕𝐟
𝜕𝐱
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
+