Eftychios Sifakis, Jernej Barbič - Finite Element Method Simulation of 3D Deformable Solids (Synthesis Lectures on Visual Computing_ Computer Graphics, Animation, Computational Photography, and Imagin
Eftychios Sifakis, Jernej Barbič - Finite Element Method Simulation of 3D Deformable Solids (Synthesis Lectures on Visual Computing_ Computer Graphics, Animation, Computational Photography, and Imagin
SIFAKIS
SyntheSiS
yntheSiS LectureS on ViSuaL
ectureS on iSuaL computing
omputing MOR
MORGGA
ANN& CL
CLAY
AYPOOL
POOL PU
PUBLI
BLISSH
HERS
ERS
c
computer
omputer g
graphicS
raphicS,, a
animation
nimation,, c
computationaL
omputationaL p
photography and iimaging
hotography and maging
BARBIC
Series
Series Editor:
Editor: Brian
Brian A.
A.Barsky,
Barsky,The
The University
University of
of California,
California,Berkeley
Berkeley
FINITE ELEMENT
FINITE
Eftychios
EftychiosSifakis,
Sifakis,University
University ofof Wisconsin-Madison,
Wisconsin-Madison, Jernej
JernejBarbič,
Barbič,University
University ofof Southern
Southern California
California
This
Thisbook
bookserves
servesas asaapractical
practicalguide
guideto tosimulation
simulationof of3D3Ddeformable
deformablesolidssolidsusing
usingthe theFinite
FiniteElement
Element
3D Deformable Solids
ELEMENT METHOD
Method
Method (FEM).
(FEM). It It reviews
reviews aa number
number of of topics
topics related
related toto the
the theory
theory andand implementation
implementation of of FEM
FEM
approaches:
approaches:measures
measuresof ofdeformation,
deformation,constitutive
constitutivelawslawsof ofnonlinear
nonlinearmaterials,
materials,tetrahedral
tetrahedraldiscretiza-
discretiza-
tions,
tions,and
and model
model reduction
reduction techniques
techniques for for real-time
real-time simulation.
simulation.
METHOD SIMULATION
Simulations
Simulations of of deformable
deformable solidssolids are
are important
important in in many
many applications
applications in in computer
computer graphics,
graphics, in- in-
cluding
cluding film
film special
special effects,
effects, computer
computer games,
games, andand virtual
virtual surgery.
surgery.The
The Finite
Finite Element
Element Method
Method has has
become
become aa popular
popular tooltool inin many
many such
such applications.
applications.Variants
Variants of of FEM
FEM catering
catering to to both
both offline
offline and
and real-
real-
SIMULATION OF
time
time simulation
simulation have have hadhad aa mature
mature presence
presence in in computer
computer graphics
graphics literature.
literature.This This book
book isis designed
designed
for
for readers
readers familiar
familiar withwith numerical
numerical simulation
simulation in in computer
computer graphics,
graphics, whowho wouldwould like
like to
to obtain
obtain aa
cohesive
cohesive picture
picture of of the
the various
various FEM
FEM simulation
simulation methods
methods available,
available, their
their strengths
strengths and and weaknesses,
weaknesses,
and
and their
their applicability
applicability in in various
various simulation
simulation scenarios.
scenarios.The The book
book isis also
also aa practical
practical implementation
implementation
guide
guide for
for the
the visual
visual effects
effects developer,
developer,offering
offering aa lean
lean yet
yet adequate
adequate synopsis
synopsis of of the
the underlying
underlying math-
math-
OF 3D
3D DEFORMABLE
ematical
ematical theory.
theory.
DEFORMABLE SOLIDS
Chapter
Chapter11introduces
introducesthe thequantitative
quantitativedescriptions
descriptionsusedusedto tocapture
capturethethedeformation
deformationof ofelastic
elasticsolids,
solids,
the
the concept
concept of of strain
strain energy,
energy,andand discusses
discusses howhow force
force and
and stress
stress result
result asas aa response
response to to deformation.
deformation.
Chapter
Chapter 22 reviews
reviews aa number
number of of constitutive
constitutive models,
models, i.e.,
i.e., analytical
analytical laws
laws linking
linking deformation
deformation to to the
the
resulting
resulting force
33 summarizes
force that
summarizes how
that hashas successfully
successfully been
how deformation
deformation and
been used
and force
used in
force can
in various
can be
various graphics-oriented
graphics-oriented simulation
be computed
computed discretely
discretely on
simulation tasks.
on aa tetrahedral
tasks.Chapter
tetrahedral mesh,
Chapter
mesh, and and
Eftychios Sifakis
SOLIDS
how
how an
the
an implicit
the state
implicit integrator
state of
of the
the art
integrator can
art in
in model
can bebe structured
model reduction
structured around
reduction techniques
around this
techniques for
this discretization.
discretization. Finally,
for real-time
real-time FEMFEM solid
Finally, chapter
solid simulation
chapter 44 presents
simulation and
presents
and discusses
discusses
Jernej Barbič
which
which techniques
techniques are are suitable
suitable for
for which
which applications.
applications.Topics
Topics discussed
discussed in in this
this chapter
chapter include
include linear
linear
modal
modal analysis,
analysis,modal
modal warping,
warping,subspace
subspace simulation,
simulation,and and domain
domain decomposition.
decomposition.
ABOUT
ABOUT SYNTHESIS
SYNTHESIS
M OR
M
This
This volume
volume isis aa printed
printed version
version ofof aa work
work that
that appears
appears in
in the
the Synthesis
Synthesis Digital
Digital Library
Library of
of Engineering
Engineering and
and
OR G
Computer
ComputerScience.
Science.Synthesis
SynthesisLectures
Lecturesprovide
provideconcise,
concise,original
originalpresentations
presentationsof
ofimportant
importantresearch
researchand
anddevelopment
development
G AN
SyntheSiS
yntheSiS LectureS on ViSuaL
iSuaL computing
topics,
topics,published
published quickly,
quickly,in
in digital
digital and
and print
print formats.
formats.For
For more
more information
information visit
visit www.morganclaypool.com
www.morganclaypool.com
AN &
ectureS on omputing
& CL
CL AY
MORGAN&&CLAYPOOL c
computer
omputer g
graphicS
raphicS,, a
animation
nimation,, c
computationaL
omputationaL p
photography and iimaging
ISBN:
ISBN:
ISBN: 978-1-62705-442-3
978-1-62705-442-3
978-1-62705-442-3
MORGAN CLAYPOOL PUBLISHERS
PUBLISHERS 90000
90000 hotography and maging
AY P
ss tt oo rr ee .. m
m oo rr gg aa nn cc ll aa yy pp oo oo ll .. cc oo m
m
P OOL
OOL
99 78
781627
1 627 054423
054423
Brian
Brian A.
A. Barsky,
Barsky, Series
Series Editor
Editor
Finite Element
Method Simulation of
3D Deformable Solids
Synthesis Lectures on Visual
Computing
Computer Graphics, Animation, Computational
Photography, and Imaging
Editor
Brian A. Barsky, University of California, Berkeley
is series presents lectures on research and development in visual computing for an audience of
professional developers, researchers and advanced students. Topics of interest include computational
photography, animation, visualization, special effects, game design, image techniques, computational
geometry, modeling, rendering, and others of interest to the visual computing system developer or
researcher.
Efficient Quadrature Rules for Illumination Integrals: From Quasi Monte Carlo to
Bayesian Monte Carlo
Ricardo Marques, Christian Bouville, Luís Paulo Santos, and Kadi Bouatouch
2015
Rethinking Quaternions
Ron Goldman
2010
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in
any form or by any means—electronic, mechanical, photocopy, recording, or any other except for brief quotations
in printed reviews, without the prior permission of the publisher.
DOI 10.2200/S00674ED1V01Y201509CGR021
Lecture #21
Series Editor: Brian A. Barsky, University of California, Berkeley
ISSN pending.
Finite Element
Method Simulation of
3D Deformable Solids
Eftychios Sifakis
University of Wisconsin-Madison
Jernej Barbič
University of Southern California
M
&C Morgan & cLaypool publishers
ABSTRACT
is book serves as a practical guide to simulation of 3D deformable solids using the Finite Ele-
ment Method (FEM). It reviews a number of topics related to the theory and implementation of
FEM approaches: measures of deformation, constitutive laws of nonlinear materials, tetrahedral
discretizations, and model reduction techniques for real-time simulation.
Simulations of deformable solids are important in many applications in computer graphics,
including film special effects, computer games, and virtual surgery. e Finite Element Method
has become a popular tool in many such applications. Variants of FEM catering to both offline
and real-time simulation have had a mature presence in computer graphics literature. is book is
designed for readers familiar with numerical simulation in computer graphics, who would like to
obtain a cohesive picture of the various FEM simulation methods available, their strengths and
weaknesses, and their applicability in various simulation scenarios. e book is also a practical
implementation guide for the visual effects developer, offering a lean yet adequate synopsis of the
underlying mathematical theory.
Chapter 1 introduces the quantitative descriptions used to capture the deformation of elas-
tic solids, the concept of strain energy, and discusses how force and stress result as a response
to deformation. Chapter 2 reviews a number of constitutive models, i.e., analytical laws linking
deformation to the resulting force that has successfully been used in various graphics-oriented
simulation tasks. Chapter 3 summarizes how deformation and force can be computed discretely
on a tetrahedral mesh, and how an implicit integrator can be structured around this discretiza-
tion. Finally, chapter 4 presents the state of the art in model reduction techniques for real-time
FEM solid simulation and discusses which techniques are suitable for which applications. Topics
discussed in this chapter include linear modal analysis, modal warping, subspace simulation, and
domain decomposition.
KEYWORDS
Finite Element Method, large deformations, solid mechanics, model reduction
ix
Contents
1 Elasticity in ree Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Deformation Map and Deformation Gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Strain Energy and Hyperelasticity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Force and Traction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 e First Piola-Kirchhoff Stress Tensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Model Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 Survey of POD-based Model Reduction in Computer Graphics . . . . . . 36
4.2 Linear Modal Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2.1 Small Deformation Simulation Using Linear Modal Analysis . . . . . . . . 37
4.2.2 Application to Sound Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3 Model Reduction of Nonlinear Deformations . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3.1 Timestepping the Reduced Nonlinear Equations of Motion . . . . . . . . . 39
4.3.2 Choice of Basis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Model Reduction and Domain Decomposition . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Model Reduction and Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
xii
4.6 Free Software for Model Reduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7 Deformation Warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.7.1 Rotation-strain Coordinate Warping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.7.2 Warping for Triangle Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.8 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Authors’ Biographies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
1
CHAPTER 1
(a) (b)
(c) (d)
Figure 1.1: Top row: Illustration of the deformation map from the reference configuration (left)
to the deformed shape (right). Bottom two rows: Sample deformations of (a) translation, (b) uniform
scaling, (c) anisotropic scaling, and (d) rotation.
1.1. DEFORMATION MAP AND DEFORMATION GRADIENT 3
An important analytic quantity derived directly from . E XE /, whose utility will become
apparent in the next sections, is the deformation gradient matrix F 2 R33 . If we write XE D
T
.X1 ; X2 ; X3 /T and xE D . E D 1 .X/;
E X/ E 2 .XE /; 3 .X/
E for the three components of the
vector-valued function E , the deformation gradient is written as:
0 1
@1 =@X1 @1 =@X2 @1 =@X3
@.1 ; 2 ; 3 /
F WD D @ @2 =@X1 @2 =@X2 @2 =@X3 A
@.X1 ; X2 ; X3 /
@3 =@X1 @3 =@X2 @3 =@X3
or, in index notation Fij D i;j D @i =@Xj (indices given after the comma in the subscript in-
dicate differentiation). at is, F is the Jacobian matrix of the deformation map. Although the
academic deformation examples in Figure 1.1 correspond to scenarios where F is a constant, we
note that in the general case, F will be spatially varying across ˝ . In the next sections we will use
the notation F.X/E if such dependence needs to be made explicit.
xE D .XE / D XE C tE E XE D I
F D @.X/=@
• Figure 1.1(b) illustrates a scaling by a constant factor , specifically in our case a dilation by
D 1:5. In this case, we have:
E D XE
.X/ FD I
• In Figure 1.1(c) the reference shape has been scaled along the horizontal axis by a factor of
0:7, where the vertical axis is stretched by a factor of 2. us:
x E X 0:7X 0:7 0
D .X/ D D FD
y Y 2Y 0 2
4 1. ELASTICITY IN THREE DIMENSIONS
Let us focus on a specific material location XE . Since the energy density ŒI XE would
only need to reflect the deformation behavior in an infinitesimal neighborhood of XE , we can
reasonably approximate the deformation map in this tiny region using a first-order Taylor expan-
1.2. STRAIN ENERGY AND HYPERELASTICITY 5
sion: ˇ
@ ˇ
E .XE / C
.X/ ˇ .XE XE / D xE C F.XE /.XE XE /
ˇ
@XE XE
D F.XE / XE C xE F.XE /XE D F XE C tE:
„ƒ‚… „ ƒ‚ …
F tE
is equation suggests that, at least to a first-order approximation, ŒI XE should be express-
ible as a function of F and tE, as these values fully parameterize the local Taylor expansion of
near XE . Furthermore, we can expect that the value of the vector tE would be irrelevant in this
expression: different values of this parameter would indicate deformations that differ only by a
constant translation, thus producing the same deformed shape and the same strain energy. us,
we expect that the energy density function should be expressible as ŒI XE D .F.X// E , i.e., a
function of the local deformation gradient alone.
e previous arguments have simply established that the energy density function is expected
to be a function of the deformation gradient. However, we have not provided specific formulas
for .F/. is is intentional, as we want the flexibility to accommodate a variety of materials.
Ultimately, the precise mathematical expression for .F/ will be the defining property of the
material modeled.
Chapter 2 will provide concrete examples of material models and their associated energy
definitions. For the time being, we list a few examples of (largely academic and oversimplified)
hypothetical materials. A property we would naturally expect is that the energy should be bounded
from below, making sure that minimum-energy states exist where the deforming object can settle
to. For example:
k
.F/ D kFk2F where k > 0.
2
is is an interesting hypothetical scenario. We would describe it as a “zero rest-volume material”
in analogy to a “zero rest-length spring.” e minimum energy is attained when F D 0 throughout
˝ , which means that .X/ E D const, i.e., all material points have the natural tendency to collapse
down to a single point location.
Although such a material might be useful for “glueing” tasks, akin to zero rest-length
springs, it is unnatural in the sense that the reference configuration ˝ is not an equilibrium con-
figuration. In order to preserve such a property, we would expect that the energy would exhibit a
minimum at F D I , i.e., at the undeformed state .X/ E D XE . is could be achieved by setting:
k
.F/ D kF Ik2F where k > 0.
2
6 1. ELASTICITY IN THREE DIMENSIONS
is model will have minimum energy when the object is in its reference configuration, or a
constant translation away from it. Unfortunately, this model would not treat a rotation of the
undeformed shape as a rest configuration, and the energy would be nonzero in this case. is
lack of rotational invariance serves as motivation for the material models in the later sections of
Chapter 2.
@E.x/
E
fE D D .0; 0; mg/:
@xE
However, when attempting to express a similar relationship between force and energy for de-
formable bodies we need to be cautious of the fact that, in the absence of a prior discretization,
such bodies form a continuous distribution of material, rather than a collection of isolated point
masses. As a consequence, the appropriate quantitative description for elastic forces resulting from
deformation would also be via a distribution. us, we use fE.XE / to denote force density, or more
specifically force-per-unit-undeformed volume, in an infinitesimal region around XE . e aggregate
force on a finite region A ˝ would then be computed by integrating
Z
fEaggregate .A/ D fE.X/d
E XE : (1.1)
A
Unfortunately, this description is not appropriate for the force exerted by the body along its
boundary. Consider an elastic body that is uniformly compressed (e.g., .XE / D ˛ XE ; ˛ < 1) to a
lower volume. We would expect the body to react by pushing back against the apparatus that is
causing the compression, and this restorative force would act along the surface of contact S @˝ .
is time we define the traction E.X/ E to be the (surface) force density function that measures the
force-per-unit-undeformed area along an infinitesimal region of the boundary surface XE . Once
again, the aggregate force on a finite boundary region B @˝ is computed by integrating:
I
E
faggregate .B/ D E
E .X/dS: (1.2)
B
1.4. THE FIRST PIOLA-KIRCHHOFF STRESS TENSOR 7
Why treat (interior) force density and (boundary) traction separately? Ultimately, don’t both of them
just refer to standard elastic forces?
In loose terms, the reason is that on a force-per-volume basis, the net elastic force is quan-
titatively “stronger” on the boundary than on the interior; the force density would generally be
a bounded function on the interior, but might look like a Dirac delta function on the boundary.
is makes it possible to have a nonzero aggregate force along boundary patches, even though
those would have had zero volume in an integral such as Equation (1.1). Instead of dealing with
the peculiarities of integrating Delta functions just for the sake of having a single “force-per-unit-
volume” descriptor, it makes better practical sense to separate force computation into the interior
term of Equation (1.1) and the boundary term of Equation (1.2), where the integrands in either
case are regular, finite-valued functions.
e question that remains is: how is it physically meaningful for elastic forces to have this
apparent greater strength at the boundary? e important observation here is that fE.XE / is the
total force that a point XE receives from its surrounding material, from all directions. Although the
force exceeded along each individual direction might be substantial, significant cancellation is to
be expected when the force contributions of all directions are added up. For example, if we stretch
a homogeneous material uniformly, each deformed material point will receive strong, yet equal (in
magnitude) attractive forces along each direction, leading to a zero net force. Boundary points,
on the other hand, only receive an elastic response from their material side, making it easier to
accumulate a larger net force.
Finally, it is important to note that the distinction between force density and traction largely
goes away once a discrete representation of the deformable body is adopted. In such case, we
use nodal forces (instead of densities) as descriptors of the elastic material response, and their
treatment is practically identical regardless of whether they reside on the boundary or interior of
the deforming body.
E .XE / D P NE (1.3)
where NE is the outward pointing unit normal to the boundary in the reference (undeformed)
configuration. is can serve as a formal definition for the stress tensor P : for any interior
point XE 2 ˝ n @˝ we can hypothetically slice the material with a cut through XE and per-
pendicular to NE , and compute the traction along such a cut. en, P would be the unique
matrix that relates E and NE , as in Equation (1.3), for all possible boundary orientations.
• e internal force density can also be computed from P , as follows:
3
X @Pi1 @Pi2 @Pi3
fE.X/
E D div E P .X/;
X
E or component-wise: fi D Pij;j D C C :
@X1 @X2 @X3
j D1
We emphasize that the divergence operator and/or its component derivatives are taken with
respect to the undeformed/reference coordinates XE .
• For hyperelastic materials, P is purely a function of the deformation gradient, and is related
to the strain energy via the simple formula:
P .F/ D @ .F/=@F:
As described, the First Piola-Kirchhoff stress tensor can be used to yield formulas both
for force and tension, and is readily computed from the strain energy density definition. In fact,
there are two equally popular (and, in fact, equivalent) ways to describe the material properties of
a hyperelastic material: (a) an explicit formula for as a function of F , or (b) an explicit formula
for P as a function of F . We will provide both types of definitions for all materials discussed in
this document.
Example
Given such a material and appropriate boundary conditions, a rest configuration would be found
by solving fE D 0E (in the absence of external forces) or E D 0E.
E D 2XE , F D 2I , and
Lastly, let us assume a uniform expansion by a factor of 2. us .X/
P D kI . e traction that would result from this stress on a surface perpendicular to NE would
be E D k NE (generating boundary forces that trigger inward motion toward the origin of the
coordinate system, to restore the original shape and volume).
We note that, in much of the relevant engineering literature, a different notational conven-
tion is followed where fE and E refer to the externally applied force density and traction, respec-
tively. e relationship between these quantities and stress is then expressed by assuming that the
body is in an equilibrium configuration, where such externally applied forces and tractions balance
out exactly the internal elastic force and traction. e equations obtained under this convention
would be:
fE C div P D 0; and E D P NE :
In this book, we will retain our original definition where fE and E refer to internal forces,
along with their respective relationships to P from earlier in this section, as these formulas hold
true even if the deforming body is not in an equilibrium configuration. In cases where we need to
refer to any externally applied force or traction we will use symbols fEext and Eext , instead.
We provide a brief justification for the formulas relating the Piola stress P to force and
traction. e intent of the derivations that follow is not to give a rigorous proof, but rather to
explain the thought process that gave rise to these definitions.
Consider an arbitrary deformation xE D . E , and a small perturbation ı .
E X/ E XE / away from
it. As the deforming body transitions from configuration E to the nearby configuration E C ı E ,
the strain energy will be reduced by a certain amount ıE equal to the work done by the elastic
forces:
Z I
ıE D fE.XE / ı . E XE
E X/d E ı .
E .X/ E XE /dS: (1.4)
˝ @˝
Note that the work is separately integrated in the interior and boundary regions, due to the
quantitative difference of force and traction. e change in strain energy can also be expressed as:
Z Z Z Z
@
ıE D ı .F/d XE D ı Œ .F/ d XE D W ıF d XE D ŒP W ıF d XE
˝ ˝ ˝ @F ˝
10 1. ELASTICITY IN THREE DIMENSIONS
3 Z 3 Z
X X @ h i
D Pij ıFij d XE D Pij E d XE :
ıi .X/
@Xj
i;j D1 ˝ i;j D1 ˝
From Equations (1.4, 1.5) and using the fundamental lemma of variational calculus we have that
fE.X/
E D divP , and E .X/
E D P NE .
11
CHAPTER 2
Constitutive Models of
Materials
In this chapter we survey a number of different simulated materials and describe how their phys-
ical properties are encoded in their respective governing equations. e mathematical description
of the physical traits of a given material is referred to as its constitutive model and includes the
equations that relate stimuli (e.g., deformations) to the material responses (e.g., force, stress, en-
ergy) they trigger. In the spirit of the preceding chapter, two possibilities for what a constitutive
equation can be are given by the formula for the Piola stress P as a function of the deformation
gradient F , or the formula for the energy density as a function of F . For simplicity, we will
focus on isotropic materials, whose response to deformation is independent of the orientation that
such deformation is applied in.
1 T
ED F F I : (2.1)
2
e Green strain tensor exemplifies many of the properties that we would ask for in a strain
E D XE , we have F D I and thus
E X/
measure. When the body is in its reference configuration, i.e., .
E D 0. e Green strain would also be zero if the elastic body is merely rotated and translated
E XE / D RXE C tE (where R
from its reference position, without changing its shape; in such a case .
T
is a rotation matrix), thus F D R and E D 0 since R R D I .
More generally, even for non-rigid motions, the deformation gradient can be decomposed
as F D RS into the product of a rotation matrix R, and a symmetric factor S via the polar decom-
position. As a 3D rotation, matrix R encapsulates 3 degrees of freedom, while the symmetric S
has 6 independent degrees of freedom. Substituting the polar decomposition into Equation (2.1)
we obtain:
1 2
ED S I :
2
us, the Green strain succeeds in discarding the rotational degrees of freedom, which have no
bearing on the severity of deformation, and retains the stretch/shear information in the 6-DOF
symmetric factor S. is is also accomplished without explicitly forming the polar decomposition.
e price one has to pay for the useful properties the Green strain offers is that the ex-
pression of Equation (2.1) is a nonlinear (quadratic) function of deformation. is increases the
complexity of constitutive models that are constructed based on it and, as we will see next, will
lead to discretizations with nodal forces being nonlinear functions of nodal positions. In an ef-
fort to remedy this, we construct a linear approximation of Equation (2.1) by forming a Taylor
expansion around the undeformed configuration F D I :
ˇ
@E ˇˇ
E.F/ E.I/ C W .F I/ :
„ƒ‚… @F ˇFDI
D0
@E 1
W ıF D ıE D ıF T F C F T ıF :
@F 2
If we evaluate the above at F D I , and subsequently substitute ıF F I we obtain:
ˇ
@E ˇˇ 1 1
ˇ W .F I/ D .F I/T I C I T .F I/ D F C FT I:
@F FDI 2 2
e matrix resulting from this linear approximation of E.F/ is denoted by , where:
1
D F C FT I;
2
2.2. LINEAR ELASTICITY 13
and called the small strain tensor, or the infinitesimal strain tensor. Intuitively, this is an acceptable
approximation of the Green strain, if we know a priori that the object we are modeling will not be
deforming too much. is could be the case, for example, when modeling very stiff or near-rigid
materials such as buildings, steel tools, or vehicle frames (unless of course we’re crash-testing
them!). Note that small deformation doesn’t necessarily imply small force—stiff materials would
not deform too much, but would react to minute deformations with large forces.
e small strain tensor will give rise to a computationally lightweight constitutive model
called linear elasticity, described in the next section, and enable discretizations which have a linear
mapping between nodal positions and nodal elastic forces. As expected, this convenience comes
with a certain limitation: the small strain tensor can be considered a reliable measure of deforma-
tion for small motions only while pronounced artifacts will occur if used in a large deformation
scenario.
2
.F/ D W Ctr ./; (2.2)
2
where is the small strain tensor and ; are the Lamé coefficients, which are related to the the
material properties of Young’s modulus k (a measure of stretch resistance) and Poisson’s ratio (a
measure of incompressibility) as:
k k
D D :
2.1 C / .1 C /.1 2/
e relationship between the Piola stress P and F can be derived as follows:
1
ıF C ıF T D SymfıF g;
ı D
2
where SymfFg denotes the symmetric part of matrix F . Furthermore,
where the last part of each equality was due to the symmetry of and I , and finally:
@
Since P D @F
, this last equation implies that
P D 2 C tr./I;
14 2. CONSTITUTIVE MODELS OF MATERIALS
or, after one final substitution for (and a few algebraic reductions):
• Since the small strain tensor was designed to be accurate exclusively in a small deformation
scenario, it would only be advisable to use linear elasticity when the magnitude of motion
is small. For example, a rigid motion . E D RXE C tE would generally produce a non-
E X/
1 T
zero strain D 2 .R C R / I and ultimately yield nonzero stress, even though no shape
change has taken place.
For this simple material model, it is relatively straightforward to derive the differential
equation that defines an equilibrium configuration. Assume an externally applied force distribu-
tion fEext .X/
E . When the object has settled to an equilibrium (rest) configuration, the deformation
function will satisfy:
3
X .i /
div P C fEext D 0 ) Pij;j C fext D0) [for i D 1; 2; 3]
j D1
3
" 3
#
X @ X .i /
) .i;j C j;i 2ıij / C ıi;j .k;k 1/ D fext )
@Xj
j D1 kD1
3
" 3
#
X X .i/
) .i;jj C j;ij / C ıi;j k;kj D fext )
j D1 kD1
3
X 3
X
.i/
) .i;jj C j;j i / k;ki D fext )
j D1 kD1
(where we swapped the order, the partial derivatives were taken in j;ij D j;j i
2.3. ST. VENANT-KIRCHHOFF MODEL 15
@ .i /
E D fext
) i . C / Œr )
@Xi
) E E D fEext :
. C /rŒr
Which is a linear, second order Partial Differential Equation.
2
.F/ D E W E C tr .E/:
2
e resulting constitutive model is called a St. Venant-Kirchhoff material, and is the first truly
nonlinear material we will examine. e first Piola-Kirchhoff stress tensor can be computed via a
process similar to the one followed for linear elasticity:
1
ıE D ıF T F C F T ıF D SymfF T ıFg;
2
and then, using the symmetry of E and I :
˚ ˚
E W ıE D E W F T ıF D fF Eg W ıF tr.ıE/ D I W F T ıF D F W ıF
˙
.F/ D k˙ Ik2F C .=2/tr2 .˙
˙ I/; (2.4)
where ˙ is the diagonal matrix with the singular values of F , from the Singular Value Decompo-
sition F D U˙ ˙ V T . We can show that the First Piola-Kirchhoff stress tensor for corotated linear
elasticity is given by:
˙ V T we have:
Taking differentials of the Singular Value Decomposition F D U˙
˙ V T C U.ı˙
ıF D .ıU/˙ ˙ /V T C U˙
˙ ıV T )
) U T .ıF /V D .U T ıU /˙ ˙ C ˙ .V T ıV /T :
˙ Cı˙ (2.6)
„ ƒ‚ … „ ƒ‚ …
./ ./
us, the matrices marked with ./ and ./ above are column- and row-scaled versions of skew
symmetric matrices, and consequently have zero diagonal elements.
is implies that, if we restrict Equation (2.6) to its diagonal component only, terms ./
and ./ will vanish to yield the final expression for the differential of ˙ :
˙ D DiagfU T .ıF/V g:
ı˙
Using this result, the differential of Equation (2.4) becomes:
ı ˙
D 2.˙ ˙ C tr.˙
I/ W ı˙ ˙ I/tr.ı˙
˙/
˙ I/ W .U T ıF V / C tr V .˙
D 2.˙ ˙ I/V T tr.U T ıF V /
h i
˙ I/V T W ıF C tr.S I/tr .U V T /T ıF
D 2 U.˙
e motivation behind corotational elasticity is to mimic what linear elasticity would have
been, if the undeformed configuration had been rotated in the same way as encoded in the rota-
tional factor R from the polar decomposition. Of course, in typical deformations where the value
of R varies across the domain, making the transition from linear to corotated elasticity is more
complex than a change of variables due to a (constant) rotation of the undeformed configuration.
From a computational cost perspective, the overhead of corotated vs. linear elasticity includes the
cost of the polar decomposition and the need to employ nonlinear solvers during simulation.
18 2. CONSTITUTIVE MODELS OF MATERIALS
2.5 ISOTROPIC MATERIALS AND INVARIANTS
e constitutive models of St. Venant-Kirchoff material and Corotated linear elasticity have been
constructed to be rotationally invariant. We can formally define this property by considering a
pair of deformations, denoted by their deformation maps E1 .XE / and E2 .XE /, that differ only by a
rigid body transform, specifically:
E D RE1 .X/
E2 .X/ E C tE; where R is a 3 3 rotation matrix: (2.7)
A constitutive model is rotationally invariant if and only if it guarantees that the strain
energy will satisfy EŒ1 D EŒ2 for any such deformation pair. For hyperelastic materials, an
equivalent definition can be stated in terms of the strain energy density function. By taking gra-
dients, we can see that any two deformations that satisfy Equation (2.7) will have deformation
gradients related as F2 D RF1 . e energy density associated with these deformations must satisfy
.F1 / D .F2 /, leading to the following equivalent definition of rotational invariance:
Definition: A hyperelastic constitutive model is rotationally invariant if and only if the strain
energy density satisfies
.RF/ D .F/
for any value of the deformation gradient F and any 3 3 rotation matrix R.
A consequence of this definition is that the strain energy in rotationally invariant models
can be expressed solely as a function of the symmetric factor S from the polar decomposition of
F D RS, since:
Definition: A hyperelastic constitutive model is isotropic if and only if the strain energy den-
sity satisfies
.F Q/ D .F/
for any value of the deformation gradient F and any 3 3 rotation matrix Q. A material that
is both rotationally invariant and isotropic would satisfy
.RFQ/ D .F/
.F/ D ˙VT / D
.U˙ ˙ /:
.˙
While the strain energy for rotationally invariant materials was a function of only 6 out of 9
degrees of freedom in F (those captured in the symmetric S), for materials that are also isotropic,
the energy density is actually only a function of the three singular values of F . Equation (2.4)
reveals that this is certainly the case for corotated linear elasticity. St. Venant-Kirchhoff can also
be shown to satisfy all criteria for isotropy, after some simple algebraic manipulations. An example
of a material that is rotationally invariant but not isotropic is described by the energy:
k T T
.F/ D w
E F F w; E
2
where w E is a given constant vector. is material behaves like a zero-restlength spring along the
direction wE , while it does not have any resistance to deformation along directions perpendicular
to w
E (notably, such energy formulas are often used to describe the behavior of anisotropic, fiber-
laden structures like muscles).
20 2. CONSTITUTIVE MODELS OF MATERIALS
Although it is possible to define an isotropic material by a relationship between and ˙
(which encodes the only three relevant degrees of freedom in F ), this is not necessarily the pre-
ferred approach, since the overhead of an SVD computation would be necessary when evaluating
any of these quantities. St. Venant-Kirchhoff materials avoided the need for an explicit polar de-
composition, by using the Green strain E to convey (qualitatively) the same information as S,
while using a computationally inexpensive formula. For isotropic materials, this information is
conveyed by the three isotropic invariants of the deformation gradient, which are equally expres-
sive as the singular values, but can be computed inexpensively. Invariants are denoted by I1 ; I2 ; I3
(or I1 .F/, etc., to emphasize the dependence on F ) and defined as:
I1 .F/ D tr.F T F/; I2 .F/ D tr .F T F/2 ; I3 .F/ D det.F T F/ D .det F/2 :
eir relationship to ˙ is revealed by replacing F with its SVD in the previous expressions,
where (after extensive cancellation) we obtain:
3
X 3
X 3
Y
˙ 2/ D
I1 D tr.˙ i2 ; ˙ 4/ D
I2 D tr.˙ i4 ; ˙ 2/ D
I3 D det.˙ i2 :
iD1 iD1 iD1
Also of use are the derivatives of the invariants with respect to the F :
@I1
ıI1 D ıŒtr.F T F/ D 2tr.F T ıF/ D .2F/ W ıF ) D 2F;
@F
@I2
ıI2 D ıŒtr.F T FF T F/ D 4tr.F T FF T ıF/ D .4F F T F/ W ıF ) D 4FF T F;
@F
@I3
ıI3 D ıŒ.det F/2 D 2 det F ıŒdet F D 2.det F/2 F T
W ıF ) D 2I3 F T :
@F
When the common practice of defining an isotropic constitive model via invariants is fol-
lowed, the strain energy density is provided as a function .I1 ; I2 ; I3 /. In such case, we can use
the chain rule to compute the stress P as:
@ .I1 ; I2 ; I3 / @ @I1 @ @I2 @ @I3
PD D C C ; or, after substitution:
@F @I1 @F @I2 @F @I3 @F
@ @ @
P .F/ D 2F C 4F F T F C 2I3 F T
(2.8)
@I1 @I2 @I3
p
Finally, we note the additional invariant J D det F D I3 that is often used in replace-
ment of I3 while defining certain constitutive models. is quantity has an important physical
interpretation as it represents the fraction of volume change due to deformation: a value of J D 1
implies that volume is preserved exactly, while J D 2 would indicate an expansion to twice the
undeformed volume and J D 0:2 would be a compression down to 20% of the rest volume.
2.6. NEOHOOKEAN ELASTICITY 21
2.6 NEOHOOKEAN ELASTICITY
An example of an isotropic constitutive model defined via isotropic invariants is Neohookean elas-
ticity:
.I1 ; J / D .I1 3/ log.J / C log2 .J /; or equivalently
2 2
.I1 ; I3 / D.I1 log.I3 / 3/ C log2 .I3 /:
2 8
From this definition, we can easily compute
@ @ log.I3 /
D and D C :
@I1 2 @I3 2I3 4I3
us, using Equation (2.8) we obtain:
T log.I3 / T
P .F/ D F F C F
2
T T
or P .F/ D .F F / C log.J /F :
e Neohookean model has the following notable characteristics:
• By construction, the material exhibits a very strong reaction to extreme compression. Due
to the logarithmic term log2 .J / in the energy, as J ! 0 we have ! 1. is constructs a
powerful energy barrier that strongly resists extreme compression. is is the only constitu-
tive model we have seen so far that has this property. Models discussed earlier in this chapter
will allow the material to compress to zero volume, even invert, while only absorbing a finite
amount of energy.
• Modeling materials as strongly incompressible amounts to using a very large value for the
second Lamé coefficient ./. Doing so in the case of Neohookean elasticity would em-
phasize the log2 .J / energy term, and strongly enforce J D 1, which produces a volume-
preserving formulation. Incidentally, setting a high value for in the earlier constitutive
models does not quite have the desired effect, as their respective terms scaled by do not
correspond to true volume change (as J does). For example, a high value for linear elas-
ticity would enforce h i
tr.F I/ D 0 ) div . E XE / XE D 0;
• e fact that the strain energy defines a (theoretically) impassable barrier at compression
magnitudes leading to zero volume J D 0 implies that there is no mechanism for handling
22 2. CONSTITUTIVE MODELS OF MATERIALS
what happens when, accidentally, the simulated model is forced into a (theoretically impos-
sible) inverted configuration. In such cases, energy and stress are undefined, since J < 0.
We note that such inversions (although theoretically impossible) can easily occur in practice,
as a result of nonphysical kinematic constraints, instability of time integration techniques,
or inadequate convergence of numerical solvers. Should such a scenario arise, it is advised
that the deformation gradient F be temporarily replaced by the nearest physically plausible
value FQ (with det FQ > ).
23
CHAPTER 3
We can now define a discrete energy, expressed as a function of the degrees of freedom x, by
simply plugging the interpolated deformation O into the definition of the strain energy
h i Z
O E
E.x/ WD E .XI x/ D O XI
F. E x/ d X;
E (3.1)
˝
24 3. DISCRETIZATION AND TIME INTEGRATION
where F.O XI E x/ WD @. E x/=@XE is the deformation gradient computed from the interpolated
O XI
map O . It is understandable that Equation (3.1) may appear quite cryptic at this point, since both
the energy .F/ and the interpolated O are likely defined via complex formulas. In this chapter
we will focus on the common discretization scheme using linear tetrahedral elements and explain
how the energy in Equation (3.1) and all its derived quantities can be evaluated systematically
and efficiently.
Having defined the discrete energy E.x/, we can now compute the elastic forces associated
with individual mesh nodes by taking the negative gradient of the elastic energy with respect to
the corresponding degree of freedom:
@E.x/ @E.x/
fEi .x/ D or, collectively f WD .fE1 ; fE2 ; : : : ; fEN / D :
@xEi @x
For simplicity, let us assume that (a) the deforming body is not subject to any in-
ternal friction forces that would reduce its overall energy, and (b) the mass of the body is
distributed exclusively to the mesh nodes. e total energy of the body is the sum of strain
energy .E/ and kinetic energy .K/ as follows:
N
X 1
Etotal D E.x/ C K.v / D E.x/ C vi k2 :
mi kE
2
iD1
Since no friction forces are in effect the total energy is conserved over time, thus:
N
X
@ @E.x/
E D0) vEi C mi aEi vEi D 0:
@t total @xEi
iD1
˚
Since the last equality holds for any value of the velocities vEi , we must have:
@E.x/ @E.x/
C mi aEi D 0 ) fEi D mi aEi D for all i D 1; 2; : : : ; N:
@xEi @xEi
In practice, prior to computing each force, we first separate the energy integral of Equa-
tion (3.1) into the contributions of individual elements ˝e (e.g., triangles, hexahedra, etc.) as
follows:
X XZ
e O XI
E x/ d X: E
E.x/ D E .x/ D F.
e e ˝e
3.2. LINEAR TETRAHEDRAL ELEMENTS 25
Subsequently, the force fEi on each node can be computed by adding the contributions of all
elements in its immediate neighborhood Ni :
X @E e .x/
fEi .x/ D fEie .x/; where fEie .x/ D :
e2Ni
@xEi
For simplicity, the following sections will focus on computing the nodal forces on an element-by-
element basis, with the understanding that the aggregate forces are computed by accumulating
the contributions from all elements in the mesh.
where the matrix Ai 2 R33 and the vector bEi 2 R3 are specific to each tetrahedron. e in-
terpolation scheme implied by Equation (3.2) is no other than simple barycentric interpolation
on every element. Differentiating (3.2) with respect to XE reveals that the deformation gradient
F D @=@O XE D Ai is constant on each element and, as a consequence, so will be any discrete
strain measure and stress tensor; this justifies why linear tetrahedral elements are also referred to
as constant strain tetrahedra.
For simplicity of notation we write
E
.XE / D F XE C b;
where we dropped the tetrahedron index and replaced matrix Ai with its equal deformation gra-
dient. Interestingly, it is possible to determine F (and bE, if desired) directly from the locations
of the tetrahedron vertices, without involving any reasoning related to barycentric interpolation.
Let us denote with XE1 ; : : : ; XE4 the undeformed (reference) locations of the tetrahedron vertices,
and let xE1 ; : : : ; xE4 symbolize the respective deformed vertex locations as illustrated in Figure 3.1.
Each vertex must satisfy xEi D .XEi /, or
8 9 8 9
ˆ
ˆ xE1 D F XE1 C bE >
> ˆ
ˆ xE xE D F XE XE >
>
ˆ
< >
= ˆ
< 1 4
1 4
>=
xE2 D F XE2 C bE
) xE2 xE4 D F XE2 XE4 ;
ˆ xE3 D F XE3 C bE >
ˆ >
>
ˆ
ˆ >>
>
:̂ ; :̂ xE3 xE4 D F XE3 XE4 ;
xE4 D F XE4 C bE
26 3. DISCRETIZATION AND TIME INTEGRATION
Figure 3.1: Reference (left) and deformed (right) shape of a linear tetrahedron.
where the last system was derived by subtracting the equation xE4 D F XE4 C bE from the three
others, to eliminate the vector bE. It is possible to group the last three (vector) equations as a single
matrix equation, by placing each one into the respective column of a 3 3 matrix:
h i
xE1 xE4 xE2 xE4 xE3 xE4 D F XE1 XE4 F XE2 XE4 F XE3 XE4
h i
xE1 xE4 xE2 xE4 xE3 xE4 D F XE1 XE4 XE2 XE4 XE3 XE4
Ds D FD m ; (3.3)
where 2 3
x1 x4 x2 x4 x3 x4
Ds WD 4 y1 y4 y2 y4 y3 y4 5 (3.4)
z1 z4 z2 z4 z3 z4
is the deformed shape matrix and
2 3
X1 X4 X2 X4 X3 X4
Dm WD 4 Y1 Y4 Y2 Y4 Y3 Y4 5
Z1 Z4 Z2 Z4 Z3 Z4
We may subsequently use Equation (3.6) to derive the contribution of element Ti to the elastic
forces on its four vertices as fEki D @Ei .x/=@xEk . In fact, the forces on all four vertices can be
collectively computed via the following equations:
h i
H D fE1 fE2 fE3 D W P .F/DmT and fE4 D fE1 fE2 fE3 ; (3.7)
Proof
Define xi.1/ ; xi.2/ ; xi.3/ to be the x -, y - and z - coordinates of the vertex xEi . Likewise for
the components of the nodal force fEi D .fi.1/ ; fi.2/ ; fi.3/ /.
Lemma For i D 1; 2; 3
@[email protected] / D ej eTi Dm1 :
Proof
From Equation (3.4) we have @Ds [email protected] / D ej eTi . e Lemma follows directly from this
equation and F D Ds Dm1 .
us H D W P .F/DmT . e equation fE4 D fE1 fE2 fE3 can be proved in a directly similar
fashion, but is also a consequence of conservation of momentum; if the sum of all four nodal
forces (which are internal to the body) did not sum to zero, this would violate conservation of
linear momentum.
6: f 0
7: for each T2e D .i; j; k; l/ 2 M do 3
xi xl xj xl xk xl
8: Ds 4 yi yl yj yl yk yl 5
zi zl zj zl zk zl
9: F Ds Bm Œe
10: P P .F/ F From the constitutive law
11: H W ŒeP .Bm Œe/T h i
12: fEi CD hE1 , fEj CD hE2 , fEk CD hE3 F H D hE1 hE2 hE3
13: fEl CD . hE1 hE2 hE3 /
14: end for
3.3. FORCE DIFFERENTIALS 29
3.3 FORCE DIFFERENTIALS
We have seen how discrete nodal forces .f / can be computed for an arbitrary constitutive model,
given nodal positions .x/ as input. is is all that is necessary to implement an explicit (e.g.,
Forward Euler) time-integration scheme; however, implicit methods such as Backward Euler
will also require a process for computing force differentials, i.e., linearized nodal force increments
around a configuration x , relative to a small nodal force displacement ıx. We denote this by:
ˇ
@f ˇˇ
ıf D ıf .x I ıx/ WD ıx :
@x ˇxDx
Although in this expression we used the stiffness matrix @f =@x to aid in the definition of the
force differential, in practice it may be preferable to avoid constructing this matrix explicitly, as
the construction cost and memory footprint associated with it may impact performance. Instead,
we aim to compute the force differentials ıf directly, using only the information in the current
state x , the displacement ıx, and a small amount of additional meta-data.
As was the case with force computation, we evaluate the force differential vector ıf D
.ı f1 ; ı fE2 ; : : : ; ı fEN / on an element-by-element basis, accumulating the contribution of each el-
E
ement to the aggregate value of each of its nodes. Consequently, we only focus on the process
for computing differentials of nodal forces for a single tetrahedron. As before, we can pack the
differentials of the first three vertices (ı fE1 ; ı fE2 and ı fE3 ) in a single matrix representation:
h i
ıH D ı fE1 ı fE2 ı fE3 :
Once ıH has been evaluated, the force differential for the fourth node can be computed
as ı fE4 D ı fE1 ı fE2 ı fE3 . Taking differentials on Equation (3.7), we obtain the following ex-
pression for ıH:
ıH D W ıP .FI ıF/DmT :
us, the computation of nodal force differentials has been reduced to a computation of the stress
differential ıF . ere are two steps in completing this evaluation: (a) we need to construct the
deformation gradient increment ıF (the deformation gradient F itself is computed as detailed in
the previous section) and (b) we need to provide a usable formula for ıP .FI ıF/.
We start with the differential of the deformation gradient ıF , which is easily computed by
taking the differentials on Equation (3.5) to obtain:
ıF D .ıDs /Dm1 :
Matrix ıDs itself is simply computed by arranging the nodal displacements in the same fashion
as nodal positions were for Ds :
30 3. DISCRETIZATION AND TIME INTEGRATION
2 3
ıx1 ıx4 ıx2 ıx4 ıx3 ıx4
ıDs WD 4 ıy1 ıy4 ıy2 ıy4 ıy3 ıy4 5 :
ız1 ız4 ız2 ız4 ız3 ız4
e one remaining task is to provide a concise formula for ıP .FI ıF/. By necessity, this
will be a process that depends on the constitutive model itself. Here, we provide examples of this
derivation for the St. Venant-Kirchhoff and Neohookean material models:
1 T 1
ED.F F I/ ) ıE D .ıF T F C F T ıF/:
2 2
We then proceed to compute the differential of the stress tensor itself:
We will use without proof the following two expressions for the differential of the matrix
inverse and matrix determinant:
1 1 1 T T
ıŒF D F ıF F ; also ıŒF D F ıF T F T
1
ıŒdet F D det F tr.F ıF/:
With these results, the differential of P is computed as:
T T
P .F/ D .F F / C log.J /F )
T ıŒdet F
) ıP .FI ıF/ D .ıF C F ıF T F /C T
F T
log.J /F T ıF T F T
J
) ıP .FI ıF/ D ıF C log.J / F T ıF T F T
C tr.F 1
ıF/F T
:
In order to define a backward Euler integration scheme, we will need to maintain both
the position .xn / and the velocity .v n / of the deforming body at time t n . Alternatively, it would
have been possible to maintain just the two previous positions xn and xn 1 . e Backward Euler
scheme computes the positions xnC1 and velocities v nC1 at time t nC1 .WD t n C t / as the solution
of the (nonlinear) system of equations:
Since the Backward Euler system is nonlinear due to Equation (3.9), we shall define an iter-
ative process to compute the unknowns xnC1 and v nC1 . We will construct sequences of approxi-
k!1
mations xnC1
.0/
; xnC1
.1/
; xnC1
.2/
nC1
; : : : and v.0/ nC1
; v.1/ nC1
; v.2/ nC1
; : : : respectively, such that x.k/ ! xnC1
nC1 k!1
and v.k/ ! v nC1 respectively. We will use the positions and velocities at the previous time
step as initial guesses, i.e., xnC1
.0/
nC1
D xn ; v.0/ D v n.
We introduce the position and velocity correction variables, defined as:
x.k/ WD xnC1
.kC1/
xnC1
.k/
nC1
and v.k/ WD v.kC1/ nC1
v.k/ :
3.4. AN IMPLICIT TIME INTEGRATION SCHEME 33
In most cases, unless there is risk of ambiguity, we will drop the subscript and denote these
corrections simply as x; v . At every step of our iterative scheme for the nonlinear Backward
Euler system, we will linearize Equations (3.8) and (3.9) around the current iterate xnC1
.k/
nC1
; v.k/ ,
nC1 nC1
and the solution of the linearized system will define the next iterate x.kC1/ ; v.kC1/ .
xnC1
.kC1/
xnC1
.k/
nC1
D t.v.kC1/ nC1
v.k/ /
or x D tv :
ˇ
nC1 n 1 nC1 @fe ˇˇ
v.k/ C v D v C t M fe .x.k/ / C x
@x ˇxnC1
.k/
K.xnC1
.k/
/.v nC1
.k/
C v/ :
Note that this equation is not quite an exact linearization, because in the damping term
nC1
we fixed the stiffness matrix at the value it had around configuration x.k/ instead of perform-
ing a first-order Taylor expansion. is modification leads to a much simpler (modified) Newton
scheme for the Backward Euler system and practically doesn’t affect the convergence of the New-
ton scheme. We further manipulate the previous equation as follows:
1 1
nC1
Mx D M.v n v.k/ / C fe .xnC1
.k/
/
t 2 t
1
K.xnC1
.k/
/x K.xnC1
.k/
nC1
/.v.k/ C x/
t
34 3. DISCRETIZATION AND TIME INTEGRATION
1
1C K.xnC1
.k/
/C M x D
t t 2
1
nC1
D M.v n v.k/ / C fe .xnC1
.k/
/ K.x nC1 nC1
.k/
/v.k/
t
1 nC1
D M.v n v.k/ / C fe .xnC1
.k/
/ C fd .x nC1
.k/
; v nC1
.k/
/
t
1 n nC1 nC1 nC1
D M.v v.k/ / C f .x.k/ ; v.k/ /: (3.10)
t
e system described by Equation (3.10) is symmetric and positive definite, and can be
solved efficiently with a Krylov subspace method such as Conjugate Gradients. We also note that
Equation (3.10) only determines the update for the positions at time t nC1 . Velocities should be
nC1 nC1 1
updated at each iteration using the relation v.kC1/ D v.k/ C t x .
As a final observation, Equation (3.10) can be modified to yield a quasistatic simulation,
where every configuration over time is the result of a rest configuration (subject to the imposed
kinematic constraints and boundary conditions). We achieve this by setting t ! 1, effectively
indicating that at every simulated instance we allow infinite time for the elastic body to settle into
an equilibrium configuration. e Newton iteration for this quasistatic problem simply becomes:
K.xnC1
.k/
nC1
/x D f .x.k/ /;
after which positions are updated as
xnC1
.kC1/
xnC1
.k/
C x:
35
CHAPTER 4
Model Reduction
4.1 INTRODUCTION
Figure 4.1: Model reduction overview: a high-dimensional ordinary differential equation is approxi-
mated with a projection to a low-dimensional space.
Although elastic objects can in principle deform arbitrarily, they tend to have a bias in
deforming into certain characteristic, low-energy shapes. Most of us will remember the high-
school physics example of a string stretched between two walls (or, say, a violin string), where one
studies the natural frequencies !i of the string, together with their associated shapes, typically of
the form sin.!i x/ and cos.!i x/: e same intuition carries over to arbitrary three-dimensional
elastic objects deforming by a small amount around their rest configuration, whether it be a metal
4.2. LINEAR MODAL ANALYSIS 37
wire, a thin shell (e.g., cloth on a character), or a solid 3D tet mesh model of a skyscraper. e low-
frequency modes are the deformations, which, for a given amount of displaced mass (or volume)
subject to specific boundary conditions such as fixed vertices, increase the elastic strain energy of
the object by the least amount. In other words, they are the shapes with the least resistance to
deformation. How are the modes and frequencies computed? One has to first form the system
mass and stiffness matrices M 2 R3n3n and K 2 R3n3n ; where n is the number of mesh vertices.
e specific approach to compute M and K depends on each particular mechanical system. For
example, the tet skyscraper may be modeled using 3D FEM elasticity, whereas for a cloth model
one may compute M by lumping the mass at the vertices, and set K to the gradient of the internal
cloth forces (in the rest configuration), computed, say, using the Baraff-Witkin cloth model [3].
Once M and K are known, one has to prescribe boundary conditions, i.e., specify how the object
is constrained. e modes and frequencies greatly depend on this choice. It is possible to set no
boundary conditions, in which case one obtains free-flying modes. In order to compute the modes,
one forms matrices M and K where the rows and columns corresponding to the fixed degrees of
freedom have been removed from M and K: en, one solves the generalized eigenvalue problem
Kx D M x: (4.1)
Matrices M and K are typically large and sparse. One can solve the eigenvalue problem, say,
using the Arnoldi iteration implemented by the ARPACK eigensolver [26]. is solver is free
and has performed very well in various model reduction computer graphics projects by Jernej
Barbič and other researchers in the field. Because M and K are symmetric positive-definite (in
typical applications, e.g., deformable object in the rest configuration), the eigenvalues are real
and non-negative. One seeks the smallest eigenvalues i and their associated eigenvectors i ;
i D 1; 2; : : : ; k; where k is the number of modes to be retained. For objects with no constrained
vertices (free-flying objects), the first six eigenvalues are zero and the modes correspond to rigid
translations and infinitesimal rotations; these modes are typically discarded. e eigenvalues are
squares of the natural frequencies of vibration, i D !i2 ; and the eigenvectors i are the modes.
It should be noted that one typically inserts zeros into i at locations of fixed degrees of freedom,
so that the resulting vector is of length 3n: In order to check that the eigensolver was successful,
it is common to visualize the individual modes, by animating them as i sin.!i t /; where t is
time. e different modal vectors are typically assembled into a linear modal basis matrix U D
Œ 1 ; : : : ; k 2 R3nk :
for i D 1; : : : ; k: Here, we have used the fact that the modes are generalized eigenvectors K i D
i M i ; and are therefore mass-orthonormal, .M i /T j D 0 when i ¤ j; and .M i /T i D 1
for all i: e one-dimensional equations given in (4.3) can be timestepped independently. is
can be done very efficiently (see, e.g., [18]). e full deformation can be reconstructed by mul-
tiplying u D Uz: is multiplication is fast when k is small (a few hundred modes). It can also
be performed very efficiently in graphics hardware [18]. It can be shown that, as k ! 3n; this
approximation converges to the solution of Equation 4.2. is property is very useful, as it makes
it possible to trade computation accuracy for speed.
where k is the number of modes. e weights wi can be set to a constant, wi D 1 [31], or they can
be made non-constant to model the fact that different modes radiate with different intensities.
Alternatively, weights can be made to depend on the listener location x , wi D wi .x; t /; by solving
the spatial part of the wave equation (Helmholtz equation) [10, 17]. Such spatially dependent
weights can model the diffraction of sound around the scene geometry.
zR C U T DU zP C U T fint .U z/ D U T f: (4.6)
is equation determines the dynamics of the reduced coordinates z D z.t / 2 Rr , and therefore
also the dynamics of u.t/ D Uz.t /: Equation 4.5 is similar to Equation 4.3, except that it is
nonlinear and the components of z are not decoupled. At this point, two questions emerge: (1)
How can we timestep Equation 4.6? (2) How do we choose the basis U ?
Here K.u/ D dfint =du is the (unreduced) tangent stiffness matrix in configuration u: Note that,
in general, the term fQint cannot be algebraically simplified; its evaluation must proceed by first
forming Uz , then evaluating fint .U z/, and finally forming a projection by pre-multiplying with
Q
U T : Evaluation of K.z/ is even more complex. Once fQint .z/ and K.z/
Q are known, one can use any
implicit integrator to timestep the system (see [4] for details). e key important fact is that this
integrator will need to solve a dense r r linear system as opposed to a sparse 3n 3n system,
as is the case with implicit integration of unreduced systems. Since r 3n; this usually leads to
significant computational savings.
How to evaluate fQint .z/ and K.z/
Q in practice? If the simulation is geometrically nonlinear,
but materially linear, then it can be shown [4] that each component of fint .u/ is a cubic polynomial
in the components of u [4]. Consequently, fQint are cubic polynomials in the components of z:
Note that this is a manifestation of a more general principle: for any polynomial function G.u/; its
projection U T G.Uz/ will be a polynomial in z; of the same degree. Treuille and colleagues [39],
for example, exploited this fact with quadratic advection forces for reduced fluids. For geometri-
cally nonlinear materials, one can precompute the coefficients of the cubic polynomials. As there
are r components of the reduced force, each of which is a cubic polynomial in r variables, the
necessary storage is O.r 4 /: For moderate values of r (r < 30), this storage is manageable (under
one megabyte; details are in [4]). Because the reduced stiffness matrix K.z/ Q is the gradient of
Q
fint with respect to z; the reduced stiffness matrix is a quadratic function in z with coefficients
directly related to those of the reduced internal forces. For exact evaluation of internal forces and
tangent stiffness matrices, all polynomial terms must be “touched” exactly once. erefore, the
cost of evaluation of reduced internal forces and tangent stiffness matrices is O.r 4 /; whereas the
cost of implicit integration is O.r 3 /:
For general materials, An and colleagues [2] have designed a fast approximation scheme
that can decrease the reduced internal force and stiffness matrix computation time to O.r 2 / and
O.r 3 /; respectively. For simulations that use implicit integration, the runtime complexity is there-
fore O.r 3 /: e method works by observing that the elastic strain energy E.z/ and internal forces
fQint .z/; for reduced coordinates z; are obtained by integration of the energy density .X; z/ and
4.3. MODEL REDUCTION OF NONLINEAR DEFORMATIONS 41
its gradient over the entire mesh:
Z
E.z/ D .X; z/d V; (4.8)
Z˝
@ .X; z/
fQint .z/ D dV: (4.9)
˝ @z
As opposed to evaluating fQint using the exact formula fQint D U T fint .U z/; An and colleagues
approximate the integral in (4.9) using numerical quadrature. In order to do so, they determine
positions Xi 2 ˝; and weights wi 2 R; such that
Z XT
@ .X; z/
fQint .z/ D dV wi g.Xi ; z/; (4.10)
˝ @z
iD1
T
X
Q @g.Xi ; z/
K.z/ wi ; (4.11)
@z
iD1
where g.X; z/ D @ .X; z/=@z: At runtime, given a value z; one then only has to evaluate g.Xi ; z/
and @g.Xi ; z/=@z; for i D 1; : : : ; T and sum the terms together. e number of quadrature points
T is usually set to T D r: Positions and weights are obtained using a training process. Given a
set of representative “training” reduced coordinates z .1/ ; : : : ; z .N / ; the method computes posi-
tions and weights that best approximate the reduced force fQint for these training datapoints. To
avoid overfitting and to keep the stiffness matrix symmetric positive-definite, the weights wi
are chosen to be non-negative, using nonnegative least squares (NNLS) [25]. e positions Xi
are determined using a greedy approach, designed to minimize the NNLS error residual (details
in [2]).
Modal Derivatives
Linear modal analysis (Section 4.2) provides a quality deformation basis for small deformations
away from the rest pose. e linear modes, however, are not a good basis for large deformations,
because they lack the deformations that automatically “activate” in a nonlinear system. For ex-
ample, when a cantilever beam deflects sideways in the direction of the first linear mode, it also
simultaneously compresses, in a very specific, non-uniform way. is happens automatically in
a nonlinear system. A linear basis, however, lacks the proper (non-uniform) compression mode,
and therefore the system projected onto the linear basis will be stiff (it “locks”). In practice, such
locking manifests as a rapid loss of energy (numerical damping), and as an increase in the nat-
ural oscillation frequencies of the system, a phenomenon also observed with model reduction of
electrical circuits [13]. One could attempt to resolve these issues by retaining a larger number of
linear modes. Such an approach is, however, not very practical with nonlinear systems, because a
very large number of modes would be needed in practice, whereas the time to solve the reduced
system for implicit integration scales as O.r 3 /:
ese problems can be remedied using modal derivatives: deformations that naturally co-
appear in a nonlinear system when the system is excited in the direction of linear modes. By
forming a basis that consists of both linear modes and their modal derivatives, we arrive at a com-
pact, low-dimensional basis, which can represent large deformations and can be computed purely
based on the mesh geometry and material properties; no advance knowledge of run-time forcing
or pre-simulation is required. We will illustrate modal derivatives for deformable objects that are
sufficiently constrained so that they do not possess rigid degrees of freedom, but modal derivatives
can also be computed for unconstrained systems. Under a static load f; the system will deform
into a deformation u; where u satisfies the unreduced static equation fint .u/ D f: Consider what
happens if we statically load the system into the direction of linear modes. In particular, sup-
pose we apply a static force load M Ulin p; where M is the mass matrix, Ulin D Œ 1 ; 2 ; : : : ; k
is the linear modal matrix, is the diagonal matrix of squared frequencies diag.!12 ; : : : ; !k2 /;
and p 2 Rk is some parameter that controls the strength of each mode in the load. It can be
easily verified that these are the force loads that, for small deformations, produce deformations
4.3. MODEL REDUCTION OF NONLINEAR DEFORMATIONS 43
within the space spanned by the linear modes. Given a p; we can solve the nonlinear equation
fint .u/ D M Ulin p for u; i.e., we can define a unique function u D u.p/ (mapping from Rk to
R3n , and C 1 differentiable), such that
for every p 2 Rk in some sufficiently small neighborhood of the origin in Rk : Can we compute
the Taylor series expansion of u in terms of p ? By differentiating Equation 4.13 with respect to
p; one obtains
@fint @u
D M Ulin ; (4.14)
@u @p
which is valid for all p in some small neighborhood of the origin of Rk : In particular, for p D 0k ;
we get K @u
@p
D M Ulin . erefore, @u @p
D Ulin ; i.e., the first-order responses of the system are
the linear modes, as expected. To compute the second order derivatives of u; we differentiate
Equation 4.14 one order further by p; which, when we set p D 0k ; gives us
@2 u
K D .H W j/ i: (4.15)
@pi @pj
Here, H is the Hessian stiffness tensor, the first derivative of the tangent stiffness matrix, evaluated
at u D 0 (see [4]). e deformation vectors
@2 u
˚ ij D (4.16)
@pi @pj
44 4. MODEL REDUCTION
are called modal derivatives. ey are symmetric, ˚ij D ˚j i ; and can be computed from Equa-
tion 4.15 by solving linear systems with a constant matrix K (stiffness matrix of the origin).
Because K is constant and symmetric positive-definite, it can be pre-factored using Cholesky
factorization. One can then rapidly (in parallel if desired) compute all the modal derivatives,
0 i j < k: Note that the modal derivatives are, by definition, the second derivatives of
u D u.p/: e second-order Taylor series expansion is therefore
k
X k k
i 1 X X ij
u.p/ D pi C ˚ pi pj C O.p 3 /: (4.17)
2
iD1 iD1 j D1
e modal derivatives, together with the linear modes, therefore span the natural second-order
system response for large deformations around the origin.
Creating the basis U. Equation 4.17 suggests that the linear space spanned by all vectors i and
˚ ij is a natural candidate for a basis (after mass-Gramm-Schmidt mass-orthonormalization).
However, its dimension k C k.k C 1/=2 may be prohibitive for real-time systems. In practice, we
obtain a smaller basis by scaling the modes and derivatives according to the eigenvalues of the
corresponding linear modes and applying mass-PCA on the “dataset”
n o n 2 o
1 j 1
j j D 1; : : : ; k [ ˚ ij j i j I i; j D 1; : : : ; k : (4.18)
j i j
e scaling puts greater weight on dominant low-frequency modes and their derivatives, which
could otherwise be masked by high-frequency modes and derivatives.
Figure 4.5: Extreme shapes captured by modal derivatives: Although modal derivative are com-
puted about the rest pose, their deformation subspace contains sufficient nonlinear content to de-
scribe large deformations. Left: Spoon (k D 6; r D 15) is constrained at far end. Right: Beam (r D 5;
twist angle=270ı ) is simulated in a subspace spanned by “twist” linear modes and their derivatives
4
; 9 ; ˚ 44 ; ˚ 49 ; ˚ 99 :
Figure 4.6: Reduced simulations: Left: model reduction enables interactive simulations of nonlinear
deformable models. Right: reduction also enables fast large-scale multibody dynamic simulations, with
nonlinear deformable objects undergoing free-flight motion. Collisions among the 512 baskets were
resolved using BD-Trees [20].
presented in [19], whereas Huang and colleagues [15] exploited redundancy in stiffness matrix
inverses to combine linear FEM with domain decomposition. Recently, domain decomposition
under large deformations has received significant attention in computer-graphics literature. Bar-
bič and Zhao [8] demonstrated a domain decomposition method by employing gradients of polar
decomposition rotation matrices, whereas Kim and James [24] tackled a similar problem using
inter-domain spring forces.
46 4. MODEL REDUCTION
Figure 4.7: Model reduction with a large number of localized degrees of freedom: Left: nonlinear
reduced simulation of an oak tree (41 branches (r D 20), 1394 leaves (r D 8), d D 1435 domains,
rO D 11; 972 total DOFs) running at 5 fps. Right: simulation detail.
Figure 4.8: Fast authoring of animations with dynamics [5]: is soft-body dinosaur sequence con-
sists of five walking steps, and includes dynamic deformation effects due to inertia and impact forces.
Each step was generated by solving a space-time optimization problem, involving three user-provided
keyframes, and requiring only three minutes total to solve due to a proper application of model reduc-
tion to the control problem. Unreduced optimization took one hour for each step. e four images
show output poses at times corresponding to four consecutive keyframes (out of 11 total). For com-
parison, the keyframe is shown in the top-left of each image.
gain matrices. With reduction, however, such control becomes feasible as the gain matrices are
now much smaller (r r ). Barbič and Popović [7] exploited such a combination of LQR control
and model reduction for real-time tracking of nonlinear deformable object simulations, using
minimal (“gentle”) forces.
1. a precomputation utility to compute linear modes (Equation 4.1) and modal derivatives
(Equation 4.15), and to construct the simulation basis U (mass-PCA applied to the dataset
of Equation 4.18); optionally, the basis can also be computed from pre-existing simulation
data (“POD basis”);
2. a precomputation utility to compute the cubic polynomial coefficients for reduced internal
forces fQint and stiffness matrices KQ (Section 4.3.1), for isotropic geometrically nonlinear
material models (St. Venant-Kirchhoff material ); and
3. an efficient C/C++ library to timestep the reduced model precomputed in the above steps
1, 2 (Equation 4.6), and an example run-time driver.
48 4. MODEL REDUCTION
Figure 4.9: Precomputation utility to compute linear modes, derivatives, basis for large deformations,
and cubic polynomial coefficients. Free (BSD license), available at http://www.jernejbarbic.com
/vega.
As outlined in Section 4.3, linear modal analysis (Section 4.2) leads to visible artifacts under large
deformations, and these artifacts can be removed by applying model reduction to the nonlinear
equations of motion. Deformation warping is an alternative, purely geometric, approach to rem-
edy the same problem. e idea is to keep Equation 4.2 as the underlying dynamic equation,
but to post-process the resulting deformations u using a geometric “filter” that removes large-
deformation artifacts. For example, given a tetrahedral mesh, warping establishes a mapping that
maps linearized deformations u 2 R3n (away from the rest configuration) to “good-looking” large
deformations q D W .u/ 2 R3n (also away from the rest configuration). e user is only shown
the corrected deformations q: Warping is very robust. For example, twisting deformations, with
local rotations as large as several complete 360 degrees cycles, can be easily accommodated. e
underlying dynamics, however, is still linear, and this is visible with large-deformation motion as
linear deformations essentially follow a sinusoidal curve, sin.!i t /: In contrast, objects simulated
using nonlinear methods usually stiffen under large deformations, and therefore spend a smaller
percentage of the oscillation cycle time at large deformations.
e idea that modes could be warped to correct large deformation artifacts was first ob-
served by Choi and Ko [11]. ey noticed that, by taking the curl of each modal vector, one can
derive per-vertex infinitesimal rotations due to the activation of each mode. ese rotations can
then be integrated in time, resulting in large deformations free of artifacts. Although not surveyed
4.7. DEFORMATION WARPING 49
here in detail, their approach is fast, and laid the foundation for other warping methods developed
later.
We can then denote the upper triangle of the symmetric part as j 2 R6 ; and the skew-vector
corresponding to the antisymmetric part as !j 2 R3 : We then assemble Œj ; !j for all tets into a
vector y.u/ 2 R9#tet s I denote y;j D j and y!;j D !j : Vector y forms the rotation-strain coor-
dinates of the mesh. Given a linearized deformation u; we then postulate that we should seek a
deformation q so that the deformation gradient inside tet j equals
e
exp y!;j I C sym.y;j / : (4.20)
where L D G T V 2 G; and where d corresponds to the pinned input vertices (note: an implemen-
tation can simply remove the rows-columns from LI this is equivalent). Matrix L is called the
discrete Laplacian of the mesh. It only depends on the input mesh geometry, and not on U or u:
e system matrix in Equation 4.25 is sparse and constant, and can be pre-factored, so warping
can be performed efficiently at runtime.
Given the deformation gradient, warping then proceeds in the same way as described for tetra-
hedral meshes in previous sections. A more principled version of triangle mesh warping has been
presented by [12].
4.8 ACKNOWLEDGMENTS
is work was sponsored by the National Science Foundation (CAREER-53-4509-6600). I
would like to thank Eftychios Sifakis and Yili Zhao for helpful suggestions.
SUMMARY
In this chapter we have discussed model reduction and its applications to large deformation mod-
eling and animation in computer graphics. We explained how small-deformation analysis can be
extended to the large deformation regime and surveyed several key research papers in this area.
53
Bibliography
[1] V. Akcelik, J. Bielak, G. Biros, I. Epanomeritakis, A. Fernandez, O. Ghattas, E. J. Kim,
J. Lopez, D. O’Hallaron, T. Tu, and J. Urbanic. High-resolution forward and inverse earth-
quake modeling on terascale computers. In Proceedings of ACM/IEEE SC2003, 2003. DOI:
10.1145/1048935.1050202. 38
[2] S. S. An, T. Kim, and D. L. James. Optimizing cubature for efficient integration
of subspace deformations. ACM Trans. on Graphics, 27(5):165:1–165:10, 2008. DOI:
10.1145/1409060.1409118. 36, 40, 41, 44
[3] D. Baraff and A. P. Witkin. Large steps in cloth simulation. In Proc. of ACM SIGGRAPH
98, pages 43–54, July 1998. DOI: 10.1145/280814.280821. 37
[4] J. Barbič. Real-time Reduced Large-Deformation Models and Distributed Contact for Computer
Graphics and Haptics. Ph.D. thesis, Carnegie Mellon University, Aug. 2007. 36, 40, 42, 43
[5] J. Barbič, M. da Silva, and J. Popović. Deformable object animation using reduced opti-
mal control. ACM Trans. on Graphics (SIGGRAPH 2009), 28(3):53:1–53:9, 2009. DOI:
10.1145/1576246.1531359. 46, 47
[6] J. Barbič and D. L. James. Real-time subspace integration for St. Venant-
Kirchhoff deformable models. ACM Trans. on Graphics, 24(3):982–990, 2005. DOI:
10.1145/1073204.1073300. 36, 47
[7] J. Barbič and J. Popović. Real-time control of physically based simulations using gentle
forces. ACM Trans. on Graphics (SIGGRAPH Asia 2008), 27(5):163:1–163:10, 2008. DOI:
10.1145/1457515.1409116. 47
[8] J. Barbič and Y. Zhao. Real-time large-deformation substructuring. ACM Trans. on Graphics
(SIGGRAPH 2011), 30(4):91:1–91:7, 2011. DOI: 10.1145/2010324.1964986. 36, 45
[9] B. Bickel, M. Baecher, M. Otaduy, W. Matusik, H. Pfister, and M. Gross. Capture and
modeling of non-linear heterogeneous soft tissue. ACM Trans. on Graphics (SIGGRAPH
2009), 28(3):89:1–89:9, 2009. DOI: 10.1145/1576246.1531395. 42
[10] J. N. Chadwick, S. S. An, and D. L. James. Harmonic Shells: A practical nonlinear sound
model for near-rigid thin shells. ACM Transactions on Graphics, 28(5):1–10, 2009. DOI:
10.1145/1618452.1618465. 36, 38, 39
54 BIBLIOGRAPHY
[11] M. G. Choi and H.-S. Ko. Modal Warping: Real-time simulation of large rotational de-
formation and manipulation. IEEE Trans. on Vis. and Comp. Graphics, 11(1):91–101, 2005.
DOI: 10.1109/TVCG.2005.13. 48
[12] M. G. Choi, S. Y. Woo, and H.-S. Ko. Real-time simulation of thin shells. Eurographics
2007, pages 349–354, 2007. DOI: 10.1111/j.1467-8659.2007.01057.x. 51
[14] K. K. Hauser, C. Shen, and J. F. O’Brien. Interactive deformation using modal analysis
with constraints. In Proc. of Graphics Interface, pages 247–256, 2003. 36
[15] J. Huang, X. Liu, H. Bao, B. Guo, and H.-Y. Shum. An efficient large deformation
method using domain decomposition. Computers & Graphics, 30(6):927–935, 2006. DOI:
10.1016/j.cag.2006.08.014. 45
[16] J. Huang, Y. Tong, K. Zhou, H. Bao, and M. Desbrun. Interactive shape interpolation
through controllable dynamic deformation. IEEE Trans. on Visualization and Computer
Graphics, 17(7):983–992, 2011. DOI: 10.1109/TVCG.2010.109. 49
[18] D. L. James and D. K. Pai. DyRT: Dynamic response textures for real-time deformation
simulation with graphics hardware. ACM Trans. on Graphics, 21(3):582–585, 2002. DOI:
10.1145/566654.566621. 36, 38
[20] D. L. James and D. K. Pai. BD-Tree: Output-sensitive collision detection for re-
duced deformable models. ACM Trans. on Graphics, 23(3):393–398, 2004. DOI:
10.1145/1015706.1015735. 45
[21] D. M. Kaufman, S. Sueda, D. L. James, and D. K. Pai. Staggered projections for frictional
contact in multibody systems. ACM Transactions on Graphics, 27(5):164:1–164:11, 2008.
DOI: 10.1145/1409060.1409117. 36
[24] T. Kim and D. James. Physics-based character skinning using multi-domain sub-
space deformations. In Symp. on Computer Animation (SCA), pages 63–72, 2011. DOI:
10.1145/2019406.2019415. 36, 45
[25] C. L. Lawson and R. J. Hanson. Solving Least Square Problems. Prentice Hall, Englewood
Cliffs, NJ, 1974. 41
[26] R. Lehoucq, D. Sorensen, and C. Yang. ARPACK Users’ Guide: Solution of large-scale
eigenvalue problems with implicitly restarted Arnoldi methods. Technical report, Comp.
and Applied Mathematics, Rice Univ., 1997. DOI: 10.1137/1.9780898719628. 37
[27] J.-R. Li. Model Reduction of Large Linear Systems via Low Rank System Gramians. Ph.D.
thesis, Massachusetts Institute of Technology, 2000. 35
[28] R.-C. Li and Z. Bai. Structure preserving model reduction using a Krylov
subspace projection formulation. Comm. Math. Sci., 3(2):179–199, 2005. DOI:
10.4310/CMS.2005.v3.n2.a6. 35
[30] A. McNamara, A. Treuille, Z. Popović, and J. Stam. Fluid control using the ad-
joint method. ACM Trans. on Graphics (SIGGRAPH 2004), 23(3):449–456, 2004. DOI:
10.1145/1015706.1015744. 46
[32] A. Pentland and J. Williams. Good vibrations: Modal dynamics for graphics and ani-
mation. Computer Graphics (Proc. of ACM SIGGRAPH 89), 23(3):215–222, 1989. DOI:
10.1145/74334.74355. 36
[34] A. Safonova, J. Hodgins, and N. Pollard. Synthesizing physically realistic human motion
in low-dimensional, behavior-specific spaces. ACM Trans. on Graphics (SIGGRAPH 2004),
23(3):514–521, 2004. DOI: 10.1145/1015706.1015754. 46
56 BIBLIOGRAPHY
[35] A. A. Shabana. eory of Vibration, Volume II: Discrete and Continuous Systems. Springer–
Verlag, New York, NY, 1990. DOI: 10.1007/978-1-4684-0380-0. 37
[36] R. B. Sidje. Expokit: A software package for computing matrix exponentials.
ACM Trans. on Mathematical Software, 24(1):130–156, 1998. www.expokit.org. DOI:
10.1145/285861.285868. 49
[37] R. F. Stengel. Optimal Control and Estimation. Dover Publications, New York, 1994. 46
[38] R. Sumner and J. Popović. Deformation transfer for triangle meshes. ACM Trans. on
Graphics (SIGGRAPH 2004), 23(3):399–405, 2004. DOI: 10.1145/1015706.1015736. 50
[39] A. Treuille, A. Lewis, and Z. Popović. Model reduction for real-time fluids. ACM Trans.
on Graphics, 25(3):826–834, 2006. DOI: 10.1145/1141911.1141962. 36, 40
[40] A. Treuille, A. McNamara, Z. Popović, and J. Stam. Keyframe control of smoke sim-
ulations. ACM Trans. on Graphics (SIGGRAPH 2003), 22(3):716–723, 2003. DOI:
10.1145/882262.882337. 46
[41] M. Wicke, M. Stanton, and A. Treuille. Modular bases for fluid dynamics. ACM Trans. on
Graphics, 28(3):39:1–39:8, 2009. DOI: 10.1145/1531326.1531345. 36
[42] C. Wojtan, P. J. Mucha, and G. Turk. Keyframe control of complex particle systems using
the adjoint method. In Symp. on Computer Animation (SCA), pages 15–23, Sept. 2006.
DOI: 10.1145/1218064.1218067. 46
57
Authors’ Biographies
EFTYCHIOS SIFAKIS
Eftychios Sifakis is an Assistant Professor of Computer Sciences and (by courtesy) Mechanical
Engineering and Mathematics at the University of Wisconsin-Madison. He obtained his Ph.D.
degree in Computer Science (2007) from Stanford University. Between 2007–2010 he was a
postdoctoral researcher in the University of California, Los Angeles, with a joint appointment in
Computer Science and Mathematics. His research focuses on scientific computing, physics-based
modeling and computer graphics. He is particularly interested in biomechanical modeling for
applications such as character animation, medical simulations, and virtual surgical environments.
Eftychios has served as a research consultant with Intel Corporation, Walt Disney Animation
Studios, and SimQuest LLC, and is a co-founder of the Wisconsin Applied Computing Center
and recipient of the NSF CAREER award.
JERNEJ BARBIČ
Jernej Barbič is an associate professor of computer science at University of Southern California.
In 2011, MIT Technology Review named him one of the Top 35 Innovators under the age of 35 in
the world (TR35). Jernej’s research interests include nonlinear solid deformation modeling, model
reduction, collision detection and contact, optimal control, and interactive design of deformations
and animations. He is the author of Vega FEM, an efficient free C/C++ software physics library
for deformable object simulation. Jernej is a Sloan Fellow (2014).