ECG-notes-v1.00
ECG-notes-v1.00
Permission to make digital or hard copies of part or all of this work for personal or classroom
use is granted without fee provided that copies are not made or distributed for profit or
commercial advantage and that copies bear this notice and the full citation on the first
page. Copyrights for third-party components of this work must be honored. For all other
uses, contact the Owners/Authors.
Copyright is held by the owners/authors.
SIGGRAPH ’23 Courses, August 06-10, 2023, Los Angeles, CA, USA
ACM 979-8-4007-0145-0/23/08.
10.1145/3587423.3595525
Abstract
The demand for a more advanced multivariable calculus has rapidly increased in
computer graphics research, such as physical simulation, geometry synthesis, and
differentiable rendering. Researchers in computer graphics often have to turn to
references outside of graphics research to study identities such as the Reynolds
Transport Theorem or the geometric relationship between stress and strain tensors.
This course presents a comprehensive introduction to exterior calculus, which covers
many of these advanced topics in a geometrically intuitive manner. The course
targets anyone who knows undergraduate-level multivariable calculus and linear
algebra and assumes no more prerequisites. Contrary to the existing references,
which only serve the pure math or engineering communities, we use timely and
relevant graphics examples to illustrate the theory of exterior calculus. We also
provide accessible explanations to several advanced topics, including continuum
mechanics, fluid dynamics, and geometric optimizations. The course is organized into
two main sections: a lecture on the core exterior calculus notions and identities with
short examples of graphics applications, and a series of mini-lectures on graphics
topics using exterior calculus.
Preface
Disclaimer
These notes are still being developed and they contain mistakes. Please visit the course
project page at https://stephaniewang.page/ExteriorCalculusInGraphics/ for
the newest version. We encourage the readers to examine the statements and proofs
in these notes and determine the correctness themselves. If you come across any
errors / omissions, please email the authors while providing the page number and
notes version (available on the title page).
Prerequisites
This is a comprehensive beginner-level course to introduce exterior calculus to
students, researchers, educators, and developers. The course prerequisites include
only undergraduate-level linear algebra and multivariable calculus.
Course Rationale
The course aims to extend the mathematical tool set for the audiences to gain short
cuts and geometric intuitions through a variety of important advancements in modern
computer graphics. The scope where exterior calculus applies is not limited to geom-
etry processing which has been taught in computer graphics [Grinspun et al.(2006),
Crane et al.(2013)]. In particular, we cover examples including differentiable render-
ing, optimization techniques, continuum mechanics, optimal transports, and shape
synthesis. This course serves to fulfill the following goals:
I. Fill in the missing episodes of the mathematical language for graphics. Multi-
variable calculus and linear algebra lie at the center of continuous mathematics,
6
which is the pillar of computer graphics that aims at synthesizing our continuous
world. Furthermore, differential calculus has become increasingly important in
the recent developments of major areas of computer graphics such as render-
ing (e.g. differentiable rendering) and simulations (e.g. constitutive models).
However, the computation of differentials can appear less than intuitive using
the traditional tools from multivariable
˜ calculus. For instance, how does one
differentiate a surface integral Σ f dA regarding perturbations in the integra-
tion domain Σ? How does one differentiate a Dirac-δ function relative to its
placement? These questions naturally arise from the sensitivity analysis of
occlusion geometry in rendering and the differentiation of discontinuity and
collision in simulations. While the standard multivariable calculus curriculum
covers partial derivatives using coordinates, double and triple integrals, gradient
operators, and a few variations of Stokes Theorems, there remains a gap between
elementary vector calculus and cutting-edge graphics research. This course
provides a bridge to cross this gap by building on top of freshman calculus
and linear algebra and explaining various aspects of exterior calculus using
examples in graphics.
II. Provide a reference for exterior calculus. Most existing texts on differen-
tial forms and exterior calculus are written for the community of differen-
tial geometers. While a few texts do provide engineering-related exposi-
tions [Flanders(1963), Frankel(2011)], most coverage of continuum mechan-
ics does not include physical simulations or rendering references. More and
more graphics papers (e.g. [Wang and Chern(2021)] in geometry optimization,
[Sellán et al.(2021), Yang et al.(2021)] in physics simulations, [Nicolet et al.(2021),
Zhao et al.(2020a)] for inverse rendering) use the language of geometric calcu-
lus; there has been an increasing demand for a comprehensive reference for
exterior calculus in the graphics community. This course serves to fulfil the
demand by publishing an accompanying course notes that document a list of
exterior calculus notions and identities.
Course Contents
The course is organized into two main sections. The first section consists of core
technical exposition of exterior calculus with short applications in graphics along the
7
way. The second section is a few application-focused topics formulated with exterior
calculus.
Part I: Fundamentals
The course starts with the linear algebra of vectors and covectors. Vectors are
arrows that represent direction, whereas covectors are contour planes that represent
slopes. These two concepts are distinct. The significant application for vectors and
covectors is the optimization method of gradient descent. How does one translate
the information of slope of an objective function to an update direction in an
iterative optimization? It turns out that the method is not unique. Leveraging the
distinction between vectors and covectors can lead to efficient optimization schemes
(see Example 3.9.)
The course moves on to differential forms and introduces three pictures of
differential forms:
(i) Alternating multilinear form. A direct generalization of covectors from contour
planes to lines and points. This picture is the linear algebra aspect of differential
forms.
(iii) Chapter 5: Fluid dynamics. The inviscid incompressible fluid flow is governed
by the Euler equation. By applying exterior calculus, we elucidate an alternative
formulation for the Euler equation that uses the velocity covector field as the
primary variable. Using this reformulation, one can obtain deeper insights in
the flow of fluids and come up with better algorithm for their simulation.
Speaker Biographies
Stephanie Wang – https://stephaniewang.page/
Dr. Stephanie Wang is a postdoctoral researcher in Computer Science and Engi-
neering at UCSD. She received her PhD in Mathematics from UCLA in 2020 with
a dissertation on simulating various materials using the Material Point Method.
Her research interests lie in in the intersection of mathematical analysis, scientific
computing, and computer graphics. She works on problems arising from physical
simulations and geometry processing by analyzing the mathematical models and
improving the numerical methods. In her spare time, she enjoys walking for many
hours in the mountains.
Acknowledgements
This work was funded by NSF CAREER Award 2239062 and UC San Diego Center
for Visual Computing. Additional support was provided by the WiGRAPH Rising
Stars Program, SideFX Software, and Activision Blizzard.
Contents
I Fundamentals
1 Vectors and Covectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Dual Pairing 15
1.1.1 Geometric picture of vectors and covectors . . . . . . . . . . . . . . . . . . . . . . . 16
1.1.2 Annihilator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.1.3 Adjoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Endomorphisms and Bilinear Forms 18
1.2.1 Quadratic form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3 Vector–Covector Conversion 1: Dual Basis 19
1.4 Vector–Covector Conversion 2: Metric 21
1.5 Vector Fields and Covector Fields 24
1.6 Differential of a Function 25
1.6.1 Conversion 1: to partial derivatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.6.2 Conversion 2: to gradient vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.3 Pushforward of vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.6.4 Pullback of covectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.7 Manifolds 29
2 Exterior Calculus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.1 From Multivariable Calculus to Exterior Calculus 31
2.1.1 Line and surface integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.1.2 Changing variables for multivariable integrals . . . . . . . . . . . . . . . . . . . . . . 33
2.1.3 Green, Gauss and Kelvin–Stokes theorems . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2 An Overview of the Language 35
2.3 Differential Forms 37
2.3.1 Integration and pullback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.2 Wedge product and interior product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.3 Exterior derivative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.4 Differential forms as codimensional geometries . . . . . . . . . . . . . . . . . . . . . 47
2.4 Vector Fields as Derivations 49
2.4.1 Algebra and derivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.2 Lie algebra for vector fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.4.3 Practical calculation of Lie bracket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.4.4 Integrability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5 Covariant Derivatives and Vector-Valued Forms 54
2.6 Lie Derivative 56
2.6.1 General definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
2.6.2 Lie derivative for functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.6.3 Lie derivative for vector fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.6.4 Lie derivative for differential forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.6.5 Useful identities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.6.6 Lie derivatives in the 3D Cartesian space . . . . . . . . . . . . . . . . . . . . . . . . . . 62
2.7 Pairings, Inner Products and Hodge Stars 64
4 Continuum Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.1 Deformation map 90
4.2 Elasticity overview 91
4.3 Tensor Algebra 93
4.3.1 Tensor product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.3.2 Tensor power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.3.3 Pullback bundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.4 Type algebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.4 Postulates of Elasticity 99
4.4.1 Deformation gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.4.2 Pullback metric . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.4.3 Strain energy density function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.5 Derivation of Elasticity 102
4.5.1 Summary of the derivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
4.6 Cauchy stress tensor 105
4.7 More on the strain energy density function 107
4.7.1 Strains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.7.2 Isotropic models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.8 Conclusion 113
III Appendix
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
I
Fundamentals
2 Exterior Calculus . . . . . . . . . . . . . . . . . 31
2.1 From Multivariable Calculus to Exterior Calculus
2.2 An Overview of the Language
2.3 Differential Forms
2.4 Vector Fields as Derivations
2.5 Covariant Derivatives and Vector-Valued
Forms
2.6 Lie Derivative
2.7 Pairings, Inner Products and Hodge Stars
1. Vectors and Covectors
This chapter is a review of Linear Algebra, but with emphasis on drawing distinction
between vectors and covectors. We state a few theorems from linear algebra along
the exposition. Most linear algebra textbooks would state the theorems for matrices,
and hence inherently basis dependent. We reprise the theorems using the language
of vectors and covectors. We skip the proofs of most of these theorems. Readers
can easily reconstruct the proofs by following the matrix counterpart from any
matrix-based linear algebra textbook.
| |
c1 c2 c3 = ⊺ . (1.1)
r⊺2 r2 c1 r⊺2 c2 r⊺2 c3
| | |
we see pairings between arrays quantities (rows with unit of kilograms) and an array
of prices (x and y) that produce scalars in costs (right-hand side). From these
examples, we observe that the pairings are between different types of objects. In
particular the pairings are not inner product. It does not make sense to talk about
“cosine of angles” between two vectors of different units!
16 Chapter 1. Vectors and Covectors
⃗v ⃗v
α
=
α 2 α
= =
⃗0 α 1 ⃗0 α 1
= =
0 0
α
=
−1
To distinguish the two types of objects in the linear pairing, we call one of the
object vector and the other one covector. A covector is to be paired with a vector.
Definition 1.1 A covector is a scalar linear function of vectors. The evaluation,
also known as the dual pairing, of a covector α and a vector ⃗v is denoted by
Definition 1.2 — Dual space. Let V be a real vector space. The space of all
linear
covectors on V is called the dual space V ∗ = {α : V −−−→ R}.
⃗v
⃗u + ⃗v α β
⃗0
γ
⃗u
a⃗u
1.1.2 Annihilator
It is important to note that the dual pairing is different from an inner product. The
dual pairing pairs a vector and a covector, whereas the inner product measures how
aligned two vectors are. We do not need the inner product structure (a metric) to
perform dual pairing. In fact, many inner product related notions we have seen in a
first course in linear algebra are independent of metric. Here, we give an example:
the notion of “orthogonal complement” of a subspace will be metric-independent if
we treat it as a subspace in the dual space.
18 Chapter 1. Vectors and Covectors
Theorem 1.2 U ◦◦ = U .
1.1.3 Adjoint
linear
A linear map A : U −−−→ V from a vector space U to another vector space V
induces a dual (adjoint) map from the dual target space V ∗ back to the dual domain
U ∗.
linear
Definition 1.4 The adjoint of a linear map A : U −−−→ V is the linear map
linear
A∗ : V ∗ −−−→ U ∗ defined by
In case U , V are equipped with bases that allow a matrix representation A = (Aij )
for A, the adjoint A∗ is simply the transpose A⊺ .
linear
Definition 1.5 The four fundamental subspaces of a linear map A : U −−−→ V
are
• cokernel: ker(A∗ ) := {λ ∈ V ∗ | A∗ λ = 0} ⊂ V ∗ ,
Theorem 1.5 — Dual basis. Let ⃗v1 , . . . , ⃗vn ∈ V be a basis for a vector space V .
Then there exists a unique set of covectors α1 , . . . , αn ∈ V ∗ forming a basis for
V ∗ such that
(
1 i =j
⟨αi |⃗vj ⟩ = δij = (1.8)
0 i ̸= j .
|
.. (1.9)
= v1 · · · vn .
.
αn | |
|
Note that we need a full set of basis vectors to produce a full set of basis covectors.
We cannot turn a single vector to a single covector without any additional structure.
■ Example 1.1 — Diagonalization. Rn = R ⊕ R ⊕ · · · ⊕ R is a special vector
space called Cartesian space. Each element is an n-tuple of numbers. A map
D : Rn → Rn is called a diagonal matrix if the map is just a channel-wise scaling
linear
A basis ⃗v1 , . . . , ⃗vn for a vector space V induces a map X : Rn −−−→ V by
linear
X ((r1 , . . . , rn )) := ni=1 ri ⃗vi . Note that the inverse map X −1 : V −−−→ Rn is given
P
by X −1 (⃗u ) = (⟨α1 |⃗u ⟩, . . . ⟨αn |⃗u ⟩) where α1 , . . . , αn ∈ V ∗ is the dual basis.
A diagonalization of an endomorphism A ∈ End(V ) is to express the endo-
morphism by
A = X ◦ D ◦ X −1 , (1.11)
isometry
Theorem 1.6 If X : (Rn , I) −−−−→ (V , ♭) is an orthonormal basis, then
X −1 = X ∗ ◦ ♭ (1.12)
■
α2 ⃗v ♭
α1
⃗v
⃗e2
⃗e1
♭(⃗x )(⃗x ) = 1
“unit sphere”
Figure 1.3 Converting covectors to vectors and vice versa using either the dual
basis (left) or a metric (right).
Q := ⃗x ∈ V |⃗x |2 = 1 ⊂ V , (1.17)
which is a non-degenerate quadratic surface in the affine space centered at the origin.
In addition to the parallelism structure in the vector space, we have a “compass”
allowing us to define distances and angles. The relationship between the arrow ⃗v ∈ V
and the slab ⃗v ♭ ∈ V ∗ is that the tip ⃗v of the arrow and the {⃗v ♭ = 1} hyperplane
of the slab are in polarity with respect to the quadratic surface Q. See Figure 1.3,
right.
Definition 1.8 In projective geometry, the polar hyperplane h to a point x with
respect to a quadratic hypersurface Q is the hyperplane that passes through all
the points on Q at which the tangent plane to Q contains x . If x is inside Q
so that there is no tangent plane of Q containing x , then h is defined by the
collection of points (outside of Q) whose polar hyperplane contains x . The point
x is called the pole of the plane h with respect to Q if h is the polar of x .
Definition 1.9 A metric is called positive definite if |⃗v |2 > 0 for all ⃗v ̸= 0.
For most discussion we do not need to assume that a metric is positive definite.
■ Example 1.3 — Eigenvalue problems for symmetric matrices. Eigenvalue prob-
lems are posed for endomorphisms and symmetry are adjective only for bilinear
forms. This makes us wonder what is going on with the famous theorem stating
that “if a matrix is symmetric, then it has real eigenvalues and the eigenvectors
are orthogonal.” The answer is that there is a hidden metric that is often omitted.
Here is the restored version of the statement.
linear
Let B , C be two bilinear forms of type V −−−→ V ∗ . Then it is sensible to pose
the eigenvalue problem as
B⃗v = λC ⃗v . (1.18)
1.4 Vector–Covector Conversion 2: Metric 23
linear
Theorem 1.8 If ♭ is a positive definite metric on V , and B : V −−−→ V ∗ is a
symmetric bilinear form. Then there exists an orthonormal basis ⃗v1 , . . . , ⃗vn
with respect to ♭ and real numbers λ1 , . . . , λn ∈ R such that
⃗vi and ⃗vj are perpendicular under both ♭ and B : ♭(⃗vi )(⃗vj ) = B (⃗vi )(⃗vj ) = 0 for
i ̸= j .
Theorem 1.9 The result of Theorem 1.8 holds (except that the eigenvalues
λ1 , . . . , λn may be complex) for the more general normal bilinear forms. A
linear
bilinear form B : V −−−→ V ∗ is called normal if
B ∗ ◦ ♯ ◦ B = B ◦ ♯ ◦ B ∗. (1.20)
■
VO
R / V (1.21)
♯ ♭
V∗ o R∗
V∗
Definition 1.11 In general, for two spaces U , V both equipped with metric
linear
♭U , ♭V , a linear map A : U −−−→ V is an isometry if
A∗ ◦ ♭V ◦ A = ♭U . (1.22)
Equivalently,
The formal definition given above is equivalent to saying that at any given point
p ∈ M , the map ⃗v (p) is a vector in the tangent space Tp M of the point p, and hence
π(⃗v (p)) = p.
The space of all sections of the tangent bundle (i.e. the space of all vector fields
defined over M ) is denoted by Γ(TM ). So, a vector field would be instanced as
⃗v ∈ Γ(TM ).
A covector field α ∈ Γ(T ∗ M ) is a section of the cotangent bundle T ∗ M over M .
The cotangent bundle is defined such that each of its fiber Tp∗ M is the dual space of
the tangent space Tp M at the same base point.
∂g
:= ⟨dg|⃗ek ⟩. (1.26)
∂xk
Equivalently, ∂g
∂x1
∂g
, . . . , ∂xn
are the coefficients when expressing the covector dg in
26 Chapter 1. Vectors and Covectors
terms of the covector basis from the coordinate system
∂g ∂g
dg = dx1 + · · · dxn . (1.27)
∂x1 ∂xn
∂g
R The partial derivative ∂x 1
depends not only on the coordinate function x1 but
it depends on the entire coordinate system x1 , . . . , xn . This is because the
construction relies on taking the dual basis. Intuitively, the partial derivative
depends on which other variables are fixed during the variation.
One may use the polarity geometric picture of the musical isomorphism about the
unit sphere to see why the gradient vector points in the steepest ascending direction.
Note that the gradient of a function is independent of the coordinate. It does
however depend on a choice of metric.
df = dg ◦ ϕ∗ . (1.31)
where the partial derivatives are defined in the way of Section 1.6.1. The matrix
F ∈ Rn×m is called the Jacobian matrix or the deformation gradient of ϕ under
the coordinates (x1 , . . . , xm ) and (y1 , . . . , yn ).
linear
ϕ∗ : Tϕ(p)
∗
N −−−→ Tp∗ M (1.34)
linear
of the pushforward ϕ∗ : Tp M −−−→ Tϕ(p) N is called the pullback operator (for
covectors) via the mapping ϕ : M → N . For each covector (field) α on N , ϕ∗ α
becomes a covector (field) on M and is called the pullback covector through ϕ.
28 Chapter 1. Vectors and Covectors
ϕ∗
ϕ∗⃗v
p q ⃗v ϕ(q)
ϕ∗ α ϕ(p)
α
ϕ∗
M N
By definition of adjoint,
d ( ϕ∗ g) = ϕ∗ (dg) (1.38)
func covec
(ψ ◦ ϕ)∗ = ϕ∗ ◦ ψ ∗ . (1.39)
1.7 Manifolds 29
In this case, we only need to pullback one covector (since g is scalar valued),
rather than pushing forward m vectors like in the forward mode differentiation. ■
1.7 Manifolds
The domain M discussed in Section 1.5 and onward were assumed to be a subset
of Rn . In general, the above above discussion also works seamlessly when M is a
manifold. What is a manifold? At high level it is a generalization of curves and
surfaces, which are particularly interested in computer graphics. Its precise definition
in mathematics is somewhat subtle.
Consider the following curve that almost touches itself somewhere. When per-
forming computations on this curve, we care about the relation between point A and
point B a lot more than the relation between point A and point C, despite point C
being closer to point A in the “ambient” space, which is the whiteboard where the
curve was drawn on. This leads to us defining a customary “neighboring relation”
over a geometry instead of using the absolute Euclidean distance. Such neighboring
relation is formally referred to as topology. Mathematicians define topological spaces
in the broadest sense, and later define manifolds as topological spaces that can afford
differentiation and integration, similar to a Euclidean space.
30 Chapter 1. Vectors and Covectors
In this chapter, we assume that the reader has a firm understanding of multivariable
calculus, as well as the linear algebra that involves vectors and covectors (Chapter 1).
However, you might wonder, why then, do we need to explore exterior calculus if
multivariable calculus already provides a comprehensive mathematical framework?
Historically, exterior calculus has emerged as a tool primarily because it provides
powerful notations to elucidate the principles of differential and integral calculus on
manifolds, abstract entities that can represent general domains and curved geometries.
Under the framework, one carefully distinguishes coordinate-dependent multivariable
quantities, and directly works with their geometrically meaningful, coordinate-free
representations.
It turns out that exterior calculus is a powerful language not limited to the abstract
manifold study. It proves to be useful in the broader application of multivariable
calculus, even for problems defined on flat domains. Examples include solid mechanics,
fluid dynamics, and optimization problems. The coordinate-free formalism exposes
the underlying structures far better than piles of indices pointing to various coordinate
components. One may write down equations that relate geometric measurements,
say in a continuum, at a higher level that is closer to our physical and geometric
intuition. Consequently, this approach results in a clearer, more straightforward
pathway for mathematical reasoning for the phenomena and algebraic identities
within these differential equations.
and all the Stokes-like theorems are unified. Once we have such a framework, we
have a more unified way for talking about, for example, derivatives of changes of
variables (e.g. derivatives with respect to change of integration domain), which are
crucial in applications such as continuum mechanics and differentiable rendering.
Here is a quickly recap of these topics in multivariable calculus. We follow one
of the very first written textbooks on these topics, Maxwell’s 1873 “a Treatise on
Electricity and Magnetism, Vol. 1, Preliminary.” At the dawn of vector calculus,
Maxwell has made several remarks indicating that the natural structure to unify
multivariable calculus is to use the skew-symmetric structure of differential forms.
What exterior calculus is built upon is the linear algebra of these skew-symmetric
forms.
that is, is an exact differential within that region, the value of C becomes
C = Ψ(b) − Ψ(a)
and is the same for any two paths between a and b, provided the path can be changed
into the other by continuous motion without passing out of this region.1
1
The necessary condition for the 1-form v1 dx1 + v2 dx2 + v3 dx3 to be an exact differential of a
potential is
∂v3 ∂v2 ∂v1 ∂v3 ∂v2 ∂v1
curl v = − , − , − = (0, 0, 0).
∂x2 ∂x3 ∂x3 ∂x1 ∂x1 ∂x2
However, there are cases in which the condition curl v = 0 is fulfilled throughout a domain, and
yet the line integral C from a to b may be different for two curves. This may be the case if the
domain is multiply connected, i.e. there exists closed loop that cannot deform and shrink to a
2.1 From Multivariable Calculus to Exterior Calculus 33
Another important operation that involves a surface integral is the flux of a vector
field through a surface. Let Σ be a surface, dA the surface area element,2 and n the
unit normal to the surface drawn towards the positive side of the surface. The flux
of v over the surface is given and expressed by
¨ ¨ ¨ ¨
⟨v, n⟩ dA = v1 n1 dA + v2 n2 dA + v3 n3 dA
Σ ¨ Σ ¨
Σ Σ¨
= v1 dx2 dx3 + v2 dx3 dx1 + v3 dx1 dx2 .
Σ Σ Σ
The quantity v1 dx2 dx3 + v2 dx3 dx1 + v3 dx1 dx2 is called a 2-form.
Here dx1 dx2 is the area element projected to the x1 x2 -plane. The flux of a
vector field through a surface is the sum of its contribution from all three projected
components, each of which is the area integral of the vector component normal to the
respective plane. It is important to note that these area integrals are signed integral
inherited from the orientation of the space. The normal of the dx2 dx3 -plane is x1 ,
the normal of the dx3 dx1 -plane is x2 , etc. In particular,
˜ when writing
˜ flux integral in
this form, the ordering of differentials matter v1 dx ˝2 3dx = − v 1 dx 3 dx2 .
Similarly, in this context, a volumetric integral h dx1 dx2 dx3 should have the
ordering of the differential dx1 dx2 dx3 positively oriented.
More generally, it turns out that the right structure for integration that evaluate
circulations, fluxes, etc., is infinitesimally a skew symmetric product of differentials
dxi1 · · · dxik . Later, in order not to be confused with the unsigned integrals, we shall
use the notation dxi1 ∧ · · · ∧ dxik to emphasize the skew symmetry nature. We will
spend 2.3 to study the linear algebra of these forms.
point (nontrivial cycles), and if the two paths from a and b follow the opposite segments of such
nontrivial loops. In this case, the one path cannot be transformed into the other. Two cycles are
said to be equivalent if they together form the boundary of a surface embedded in the space. In a
multiply connected domain, every cycle (up to equivalence) is a multiple, or a linear combination,
of finitely many basis cycles.
If curl v = 0 and the circulations along those basis cycles vanish, then v1 dx +v2 dx2 +v3 dx3 = d Ψ.
2
Here dA does not mean the derivative d of a function A.
34 Chapter 2. Exterior Calculus
i.e., the integral of ω over the image F (D) of a map F is the same as the integral
of the pullback differential F ∗ ω via the map over the domain D. The notion of
pullback in exterior calculus will be the abstraction of the routine procedure of
changing variables for the integrand.
• The surface integral of the flux through a closed surface may be expressed as
an integral over the enclosed volume.
which is the total flux of curl u = (∂u2/∂y3 − ∂u3/∂y2 , ∂u3/∂y1 − ∂u1/∂y3 , ∂u1/∂y2 − ∂u2/∂y1 )
through the surface f (D). This is the Kelvin–Stokes Theorem.
In exterior calculus, vector calculus operators such as grad (∇), curl (∇×), div
(∇·) all coalesce into a single derivative d . Similarly, important theorems such as
the Fundamental Theorem of Calculus, or Gauss’ and Green’s Theorem all become
instances of one single general statement, the so-called Stokes’ theorem
ˆ ˆ
dω = ω,
M ∂M
i.e., the integral of the differential of ω over the domain M is the same of ω over the
boundary of the domain.
is a quantity depending linearly on the velocity vector v. We say η(v) is the evaluation
of the 1-form on a tangent vector v. This is the algebraic, or the “microscopic,”
viewpoint of differential forms.
Conversely, given a 1-form η as a scalar-valued linear function on tangent vectors,
we can understand its “macroscopic” counterpart as follows. The integral of η over a
curve γ can be obtained by first partitioning the parameter interval of γ and then
taking the sum of microscopic evaluation
ˆ X
η γ ′ (ti ) (ti+1 − ti ).
η := lim
γ partion
refines i
2.3 Differential Forms 37
satisfying
ωp ∈ k Tp∗ M . (2.3)
V
(a)3-form = a dV . (2.11)
V V
■
2.3 Differential Forms 39
Definition 2.3 For each smooth map ϕ : M → N , we define the pullback operator
linear
ϕ∗ : Ωk (N ) −−−→ Ωk (M ) (2.12)
that satisfies
• Nilpotent: iX iX = 0; (2.25)
In particular,
(iX ω)JY1 , . . . , Yk −1 K = ωJX , Y1 , . . . , Yk −1 K. (2.28)
The wedge product and interior product generalize to the pointwise wedge product
and interior product for the space of k -form fields Ωk (M ) := Γ(∧k T ∗ M )
bilinear
∧ : Ωk (M ) × Ωℓ (M ) −−−−→ Ωk +ℓ (M ), (α ∧ β)p := αp ∧ βp (2.29)
linear
iX : Ωk (M ) −−−→ Ωk −1 (M ), (iX ω)p := iXp ωp , (2.30)
2.3 Differential Forms 41
α ∧ β = (−1)k ℓ β ∧ α (2.31)
α ∧ β = −β ∧ α when k = ℓ = 1 (2.32)
as a consequence of (2.22):
0 = (α + β) ∧ (α + β) = α ∧ α} +α ∧ β + β ∧ α + β ∧ β .
| {z (2.33)
| {z }
0 0
(a)0-form = a, (2.35)
(a)1-form = a1 dx + a2 dy + a3 dz , (2.36)
(a)2-form = a1 dy ∧ dz + a2 dz ∧ dx + a3 dx ∧ dy (2.37)
= i(a)vec (dx ∧ dy ∧ dz ), (2.38)
(a)3-form = a dx ∧ dy ∧ dz . (2.39)
One can check that this is consistent with Example 2.1 using Theorem 2.3. ■
42 Chapter 2. Exterior Calculus
(2.47)
(2.45) (2.44)
Proof. [(a × b) · (c × d)]3-form = (a × b)1-form ∧ (c × d)2-form = −ia (b)2-form ∧
(2.26)
(c)1-form ∧ (d)1-form = (b)2-form ∧ ia (c)1-form ∧ (d)1-form − (b)2-form ∧ (c)1-form ∧
(2.46)
(2.45)
ia (d)1-form = (a · c)(b · d)3-form − (a · d)(b · c)3-form .
(2.44) (2.47)
Proof. [(a × b) × (c × d)]2-form = (a × b)1-form ∧ (c × d)1-form = ia (b)2-form ∧
(2.47),(2.45)
(2.26) (2.6)
ic (d)2-form = ia [(b)2-form ∧ ic (d)2-form ] − (b)2-form ia ic (d)2-form = ia (b · (d ×
(2.48)
c))3-form − (b)2-form det(d, c, a) = (a)2-form det(b, d, c) − (b)2-form det(d, c, a).
■
2.3 Differential Forms 43
■ Example 2.8 — Matrix vector identities. We can write Theorem 2.7 and The-
orem 2.8 in the 3D Cartesian space using the correspondence given by Exam-
ple 2.3.
Theorem 2.9 Let u, v ∈ R3 , F ∈ R3×3 , and J = det(F). Then
Proof. (2.51) is (2.49) when both α and β are 1-forms. (2.52) is (2.50) when ω is
a 2-form.
■
extϵX S
• Nilpotent: d ◦ d = 0; (2.58)
Next, we state two important theorems about the exterior derivative. The first is
that exterior derivative and pullback commute. This is a consequence of the same
theorem for the base case (Theorem 1.12), and that its extension to the general
exterior derivatives (Definition 2.7) is defined using its interaction with ∧, which is
conserved under pullback (Theorem 2.7).
Theorem 2.11 — Exterior derivative and pullback commute.
S ∂S
The second important theorem is the Stokes theorem. Similar to how the interior
product is dual to extrusion (Theorem 2.10), the exterior derivative is dual to the
boundary operation on the integration domain (Figure 2.2).
Theorem 2.12 — Stokes Theorem.
ˆ ˆ
dα = α. (2.64)
S ∂S
(∇ × )(∇) = 0, (2.65)
(∇ · )(∇ × ) = 0. (2.66)
■Example 2.12 — Theorem 2.11 in 3D. In the 3D Cartesian space, Theorem 2.11
becomes the following vector identities. Let ϕ : R3 → R3 , F = ∇ϕ, and J =
46 Chapter 2. Exterior Calculus
det(F). Recall Example 2.3 for the pullback formulas in 3D. Theorem 2.11 applied
to 0-forms yields
Theorem 2.16 — Chain rule revisited. Let f : R3 → R. Then,
■Example 2.13 — Theorem 2.12 in 3D. In the 3D Cartesian space, Theorem 2.12
becomes the following theorems. Theorem 2.12 applied to 0-forms becomes
ˆ
amount of
α=
S intersections
α
3
For n = 2, 3, every k -form at each tangent space admits a distinguished (n − k )-subspace that
represents the orientation of the plane field. For n > 3 and 1 < k < n − 1, the codimension-k plane
fields are generally no longer described by a distinguished oriented subspace but a superposition of
many. This is related to the decomposability of forms (Definition 4.3).
48 Chapter 2. Exterior Calculus
α X
α iX α
β
α∧β
Figure 2.5 Wedge products are intersections (left) and interior products are
extrusions (right).
d
−−−−→
α dα
Figure 2.7 A k -form is closed when the boundaries of its codimension-k geome-
tries cancel out.
■ Example 2.14 The space Rn×n of n-by-n matrices is an algebra, with matrix-
matrix multiplication as the bilinear function. ■
Note that the multiplication structure (bilinear function) for an algebra does not
need to be associative:
50 Chapter 2. Exterior Calculus
■ Example 2.16 (R3 , ×) with cross product × is an algebra. Note that u×(v×w) ̸=
(u × v) × w in general. ■
linear
Definition 2.9 — Derivations. Let (A, ×) be an algebra. A linear map X : A −−−→
A is called a derivation if
Definition 2.10 — View vector fields as derivations. Each vector field X ∈ Γ(TM )
is also viewed as an operator on functions X : Ω0 (M ) → Ω0 (M ) defined by
Xf := df JX K. (2.74)
This equivalence between vector fields and the algebraic definition of derivations
on functions motivates many differential geometry textbooks to adopt (2.76) as the
definition for vector fields.
The takeaway for this abstraction is that we can think of each vector field as the
directional derivative operator (2.74) that obeys the derivation property (2.75).
Definition 2.11 — Lie algebra. An algebra (A, [·, ·]) is called a Lie algebra if the
bilinear
bilinear function [·, ·] : A × A −−−−→ A satisfies skew symmetry
[a, [b, c]] + [b, [c, a]] + [c, [a, b]] = 0. (2.78)
■ Example 2.18 (Rn×n , [·, ·]) is a Lie algebra, where the bracket operation is the
matrix commutator [A, B ] = AB − BA. ■
2.4 Vector Fields as Derivations 51
Theorem 2.23 The space of vector fields Γ(TM ) is a Lie algebra, with Lie bracket
[X , Y ] of vector fields X , Y defined by
where each components X i , Y i of the vector fields are functions defined Pover M . Let
Z = [X , Y ]. Our goal is to determine its component Z as in Z = i=1 Z i ∂x∂ i in
i n
Therefore,
∂Y j i ∂X
j
Zj = Xi − Y . (2.83)
∂x i ∂x i
If “∇” denotes taking componentwise differential, we can write
Z = [X , Y ] = ∇X Y − ∇Y X . (2.84)
2.4.4 Integrability
Why do we care about the Lie algebra structure for vector fields? One of the most
important application of the Lie structure for vector fields is the integrability to
coordinate system.
A distribution can be seen as a plane field defined over the space M . Like Figure 2.7,
there may be two cases: a general plane field may not stitch together with its
neighbor, or it may stitch together and form a foliation of submanifolds. In the
former case, we say the distribution is non-integrable. In the latter case, we say that
the distribution is integrable.
Definition 2.13 A distribution A ⊂ TM is said to be integrable if the plane field
associated to A is locally the tangent plane of a family of submanifolds in M .
■ Example 2.19 — Rolling ball. A rolling ball moving on a surface without slipping
presents an example of a nonholonomically constrained system. In this case, the
constraint arises from the no-slip condition, which dictates that the point of the
ball in contact with the surface has zero velocity relative to the surface. Under this
constraint, the 3D orientation of the ball have only 2 degrees of freedom among
the 3-dimensional space of all 3D rotations. However, moving in an infinitesimal
cycle using the 2 degrees of freedom can yield a net motion into the 3rd degree of
freedom.
Let M = SO(3) be the space of 3D rotations. Consider a basis of vector fields
In particular, Lie bracket between vector fields within the distribution span(X , Y )
can leave the distribution. Therefore, we have a non-holonomically constrained
system. ■
θ
x
The car can move by hitting its acceleration and going forward in its current
direction θ and changing its direction by its current steering wheel angle κ, or the
54 Chapter 2. Exterior Calculus
car can move by changing the angle of its steering wheel. These two actions each
corresponds to the following two generators:
cos θ 0
Xforward = κsin θ and Xturn = 00 . (2.88)
0 1
To see the effect of applying the following sequence of actions: move forward, steer
to the left, move backward, steer to the right, we can look at the Lie bracket of
these two generators:
This means that the action sequence generates a spinning motion. We denote its
generator by
0
Xspin = 01 . (2.90)
0
We can further analyze the effect of the following sequence of actions: spin to
the left, move forward, spin to the right, move backward by calculating the Lie
bracket
This means that the action sequence generates a sideway motion where the car
moves towards − sin θ, cos θ while its front points towards (cos θ, sin θ. We can
denote this generator as Xsideway . We’ve thus far obtained four generators of
motion:
− sin θ
cos θ 0 0
Xforward = κ , Xturn = 0 , Xspin = 1 , and Xsideway = cos0 θ .
sin θ 0 0 (2.92)
0 1 0 0
What we are seeing is that by introducing Lie bracket, the space of all possible
motion made from sequencing moving forward and turning the steering wheel
is actually enough to cover the entire tangent space Tp M of the configuration
manifold M , meaning the car is capable of traveling over the entire plane even
though it only has two motions. ■
∇ : Ω0 (M ; TM ) → Ω1 (M ; TM ) (2.94)
d ∇ : Ωk (M ; TM ) → Ωk +1 (M ; TM ) (2.98)
is characterized by that
R Despite the similarity between d ∇ and d , there are some differences. For
example,
d∇ ◦ d∇ (2.101)
56 Chapter 2. Exterior Calculus
I ∈ Ω1 (M ; TM ), I JX K := X . (2.102)
X ♭ = ⟨X , I ⟩. (2.103)
Theorem 2.27 The torsion free condition (2.97) for a derivative operator ∇ is
equivalent to
d ∇ I = 0. (2.104)
This expression vanishes if and only if the torsion free condition (2.97) holds.
linear
φ∗ : ⟨type⟩M −−−→ ⟨type⟩M (2.107)
⟨type⟩
Definition 2.18 — Lie derivative. Let X ∈ Γ(TM ) be a vector field on M and let
φt : M → M be the flow map generated by X (Definition 2.17). Define the Lie
derivative for ⟨type⟩
linear
LX : ⟨type⟩M −−−→ ⟨type⟩M (2.109)
⟨type⟩
by
∂
LX A := ( φ∗t A). (2.110)
⟨type⟩ ∂t t=0 ⟨type⟩
This notion of Lie derivative can be used in situations beyond taking derivative of
the infinitesimally flow map (2.108) generated around the identity map. Whenever
there is a time dependent map, the rate of change can of the pullback can be written
in terms of the Lie derivative.
Theorem 2.28 — Rate of change of pullback. Let M and W be two manifolds.
Let ϕt : M → W be a time-dependent map, and suppose there is ⃗u ∈ Γ(TW ) so
that
∂ϕt
= ⃗u ◦ ϕt . (2.111)
∂t
Let A ∈ ⟨type⟩W be some field defined on W . Then
! !
∂
ϕ∗t A = ϕ∗t L⃗u A . (2.112)
∂t ⟨type⟩ ⟨type⟩ ⟨type⟩
58 Chapter 2. Exterior Calculus
Corollary 2.29 — Passing the time derivative through a pullback. Continue the
setup of Theorem 2.28. Suppose At ∈ ⟨type⟩W is a time-dependent field defined
on W . Then
! !
∂ ∂
ϕ∗t At = ϕ∗t At + L⃗u At . (2.113)
∂t ⟨type⟩ ⟨type⟩ ∂t ⟨type⟩
LX f = df JX K = Xf . (2.116)
0-form
Proof. Let φt be the flow map generated by X ∈ Γ(TM ) (Definition 2.17). Then
LX f = ∂t∂
|t=0 ( φ∗t f ) = ∂t
∂
|t=0 (f ◦ φt ) = df |φt J ∂φ
∂t
t
K|t=0 = df JX K.
0-form 0-form
LX Y = [X , Y ]. (2.117)
vec
To show Theorem 2.31, first note that the pullback of a vector field is given by
∇X Y = 0 LX Y = 0
vec
Y Y
X φt (p) X φt (p)
p p
Figure 2.8 The difference between the covariant derivative ∇X Y and the Lie
derivative LX Y = [X , Y ]. Vanishing covariant derivative implies
that Y is parallel transported by the path generated by X (left). The
dashed lines are geodesics constituting infinitesimal parallelograms for
the transportation (known as Schild’s ladder ), indicating the metric
dependency of ∇X . On the other hand, vanishing Lie derivative
implies that Y is the pushed forward by the flow map generated by
X (right), which is metric independent but requires the neighborhood
information of X instead of only along a path.
Proof of Theorem 2.31. Let φt be the flow map generated by X ∈ Γ(TM ), and let
f be an arbitrary function. Taking the time derivative of (2.119) yields
∇X Y = LX∇ Y (2.123)
0-form
where Y is viewed as a vector-valued 0-form, and the Lie derivative is built by taking
the rate of change of the 0-form-typed pullback.
The equation LX Y = 0, on the other hand, implies that Y is pushed forward by
vec
the flow generated by X . The quantity LX Y measures how much Y deviates from
vec
60 Chapter 2. Exterior Calculus
being purely pushed forward by the flow. The idea of pushforward by a flow, as well
as the Lie bracket, is independent of any metric. However, this type of “directional
derivative” of Y along a flow X requires the information of X in a neighborhood,
not only at one point. It is the neighborhood behavior of X that establishes an
infinitesimal pushforward (deformation gradient or Jacobian matrix) of the flow.
LX α = iX d α + diX α. (2.124)
k -form
Lie derivatives for differential forms are particularly important, as they allow us to
take derivative on the integration domain:
Theorem 2.33 — Derivative of an integral. Let X be the vector field so that
ϕ̇ = X ◦ ϕ. Then,
ˆ ˆ
d ∂
αt = αt + L X αt (2.125)
dt ϕt (S ) ϕt (S ) ∂t k -form
´ ´ ´ ´
Proof of Theorem 2.33. ∂
α =
ϕt (S ) t
∂
ϕ∗ α =
S t t
∂
(ϕ∗t αt ) = ϕ∗t ( ∂t
∂
α + LX α)
´ ∂
∂t ∂t S ∂t S
= ϕt (S ) ( ∂t α + LX α).
Now we give a simple but abstract proof for Cartan’s magic formula (2.124). This
proof still deserves geometric intuition, which we will provide afterward.
Proof of Theorem 2.32. The operator LX must satisfy the following 3 properties:
k -form
• Commutativity with d : LX d α = d LX α.
form form
The “derivation” and “commutativity with d ” properties follow directly from the
analogous properties Theorem 2.7 and Theorem 2.11 for the pullback operator. Now,
notice that the operators on differential forms that satisfy these 3 properties must be
unique. This is because any differential form ω can be written as a linear combination
(withP0-form as coefficients) of wedge products of the d of some coordinate functions
ω = i1 <...<ik ωi1 ...ik dx i1 ∧ · · · ∧ dx ik , and the above 3 properties form a sufficient
set of rules to evaluate the Lie derivative of this expression. To complete the proof,
check that (2.124) satisfy all the 3 properties.
2.6 Lie Derivative 61
boundary of extrusion of
extrusion boundary
d + +
φt (S ) = = + +
dt +
− + −
+ −
Figure 2.9 An intuition behind Cartan’s magic formula. The Lie derivative of a
differential form is dual to the rate of change of a moving integration
domain. This rate of change of a domain can be written as the
boundary of the extrusion plus the extrusion of the boundary.
In essence, the Lie derivative, through the integral pairing between an integration
domain and a differential form, acts as the dual operator to the rate of change of the
integration domain.
As illustrated in Figure 2.9, this rate of change of the integration domain can
be expressed as the sum of the boundary of the extrusion along the flow and the
extrusion of the boundary. Recall from Theorem 2.10 and Theorem 2.12 that the
operations of extrusion and taking boundary are dual to the interior product and
the exterior derivative, respectively. Thus, we arrive at Cartan’s magic formula.
(2.124) (2.129)
Proof. (d α)JX , Y K = iY iX d α = iY (LX α) − iY diX α = LX (iY α) − i[X ,Y ] α −
| {z }
Y ⟨α|X ⟩
Y ⟨α|X ⟩ = X ⟨α|Y ⟩ − ⟨α|[X , Y ]⟩ − Y ⟨α|X ⟩.
The Lie material derivative, which measures the real rate of change of various
forms, deviates from the material derivative by additional terms:
∂
( ∂t D
+ Lu )(a)0-form = ( Dt a)0-form , (2.137)
0-form
∂
( ∂t D
+ Lu )(a)1-form = ( Dt a + (∇u)⊺ a)1-form , (2.138)
1-form
∂
( ∂t D
+ Lu )(a)2-form = ( Dt a − a · ∇u + (∇ · u)a)2-form , (2.139)
2-form
∂
( ∂t D
+ Lu )(a)3-form = ( Dt a + (∇ · u)a)3-form , (2.140)
3-form
∂
( ∂t D
+ Lu )(a)vec = ( Dt a − a · ∇u)vec . (2.141)
vec
2.6 Lie Derivative 63
Now, let us show Theorem 2.37.
Proof of (2.131). Eq. (2.131) follows directly from Theorem 2.30.
Proof of (2.132). Using (2.103), we write (a)1-form = ⃗a ♭ = ⟨⃗a , I ⟩, where ⃗a = (a)vec
and I is the identity vector-valued 1-form (Definition 2.16). For clarity we also
(2.124) (2.96)
write ⃗u = (u)vec . Now, Lu (a)1-form = L⃗u ⟨⃗a , I ⟩ = di⃗u ⟨⃗a , I ⟩ + i⃗u d ⟨⃗a , I ⟩ =
Thm. 2.27
∇ (2.96),(2.26)
d ⟨⃗a , ⃗u ⟩+i⃗u ⟨∇⃗a ∧I ⟩+i⃗u ⟨⃗a , d I ⟩ = ⟨∇⃗a , ⃗u ⟩+⟨⃗a , ∇⃗u ⟩+⟨∇⃗u ⃗a , I ⟩−⟨∇⃗a , ⃗u ⟩ =
⟨⃗a , ∇⃗u ⟩ + ⟨∇⃗u ⃗a , I ⟩ = ((∇u)⊺ a + ∇u a)1-form .
Proof of (2.135). Eq. (2.135) follows from Theorem 2.31 and (2.97).
Proof of (2.134). Let µ = (1)3-form be the 3D volume form. Then iu µ = (u)2-form
(2.124)
and Lu µ = diu µ = d (u)2-form = (∇·u)3-form . Now, Lu (a)3-form = Lu ((a)0-form µ)
= Lu (a)0-form µ + (a)0-form Lu µ = (∇u a + (∇ · u)a)3-form .
Proof of (2.133). Writing (a)2-form = i⃗a µ where ⃗a = (a)vec and µ is the 3D volume
(2.129) (2.134)
form, we have L⃗u (a)2-form = L⃗u (i⃗a µ) = i[⃗u ,⃗a ] µ + i⃗a (L⃗u µ) = i[⃗u ,⃗a ] µ + (∇ ·
(2.135)
u)i⃗a µ = (∇u a − ∇a u + (∇ · u)a)2-form .
In fact, during our proof of (2.133), we only used the fact that a 2-form is
the contraction of a vector and a 3-form, each of which has an established Lie
derivatives (2.134) and (2.135). What we may also explore is to expand the
left-hand side of (2.133) using Cartan’s formula (2.124):
Combining this result with (2.133) yields the following vector calculus iden-
tity
Theorem 2.38 — Curl of cross product.
∂Ω
f (u) (n − 1)-form . Hence (2.125) can be written as the following vector calculus
identity:
Theorem 2.40 — Reynolds’ transport theorem. Let Ωt be a domain moving
with a velocity u. Then
ˆ ˆ ˛
d ∂f
f dV = dV + f u · ndA. (2.146)
dt Ωt Ωt ∂t ∂Ωt
The special case of the Reynolds’ transport theorem in n = 1 is:
Theorem 2.41 — Leibniz’s integral rule. In 1D calculus,
ˆ b(t) ˆ b(t)
d ∂f (t, x )
f (t, x )dx = dx + b ′ (t)f (t, b(t)) − a ′ (t)f (t, a(t)).
dt a(t) a(t) ∂t
(2.147)
Specializing (2.125) to the case of a surface in the 3D Cartesian space yields
´ ˝
■ Example 2.23 In the 3D Cartesian space, M
(a)1-form ∧ (b)2-form = M
a · b dV .
■
such that
Theorem 2.45 The Hodge star gives a duality relation between the wedge product
and the interior product
That is,
iv iv iv iv
∧0 V ∗ o ∧O 1 V ∗ o ∧O 2 V ∗ o ∧O 3 V ∗ o ··· ∧n−1 V ∗ o ∧O n V ∗ (2.164)
⋆0 ⋆1 ⋆2 ⋆3 ⋆n−1 ⋆n
v♭ ∧ v♭ ∧ v♭ ∧ v♭ ∧
∧n V ∗ / ∧n−1 V ∗ / ∧n−2 V ∗ / ∧n−3 V ∗ ··· / ∧1 V ∗ / ∧0 V ∗
iv −iv iv (−1)n−1 iv
We conclude our exterior calculus chapter here. There are more objects one
can build with the Hodge star that we have not covered, such as the codifferential
δ = (−1)k ⋆−1 d ⋆ and Hodge Laplacian ∆ = d δ + δd .
Technically, exterior calculus with metric (i.e. with Hodge star mixed in) makes it
the so-called geometric calculus. In particular, one can replace the wedge product
with the geometric product formed by the geometric algebra (Clifford algebra) of the
given metric. One obtains the Dirac operator d + δ as the natural generalization of d
to geometric algebra. In this sense, just as exterior algebra is the geometric algebra
with 0 metric, the exterior calculus is the metric-independent geometric calculus.
That is why it reveals the important structures about the differential topological
aspect of multivariable calculus such as pullback, Lie derivative.
II
Graphics Topics in Exterior
Calculus
3 Geometric Optimizations . . . . . . . 69
3.1 Geometry representations
3.2 A Geometric view of optimization problems
3.3 Computational methods for optimization prob-
lems
4 Continuum Mechanics . . . . . . . . . . 89
4.1 Deformation map
4.2 Elasticity overview
4.3 Tensor Algebra
4.4 Postulates of Elasticity
4.5 Derivation of Elasticity
4.6 Cauchy stress tensor
4.7 More on the strain energy density function
4.8 Conclusion
In this chapter, we take a new, geometric look at the study of optimizations. This
includes optimization problems where the optimal solution in search is itself a
geometry (Section 3.1) and the geometric picture of the computation of optimization
problems (Section 3.2 and Section 3.3).
vertex 1
position (x1 , y1 ) vertex 4
position (x4 , y4 )
vertex 2
position (x2 , y2 )
Manifold M Embedding f : M → W
Triangle id Vertices Vertex id Position
1 (1, 2, 3) 1 (x1 , y1 )
2 (3, 2, 4) 2 (x2 , y2 )
3 (x3 , y3 )
4 (x4 , y4 )
■ Example 3.1 — Function graph. Given a function graph z = g(x , y), we can
view it as an embedding
f:M → W
(x , y) 7→ (x , y, f (x , y)).
Here the material space M is the 2-dimensional parameter space of x and y, and
W is the 3-dimensional world space of x , y, and z . ■
Many classical geometric properties like curvature and second fundamental form
are defined using the embedding of a manifold. We give a few examples of them
below.
Definition 3.2 — Differential geometry of curves by embedding function. Let M
be an 1-dimensional manifold and f : M → W is an embedding of M into W = R3 .
Let p ∈ M be a point. Locally (in a neighborhood around p), we can parametrize
M as an interval (a, b) of the real line, and use the Cartesian coordinates x , y, z
for R3 and write the embedding f : (a, b) → R3 as f (t) = (x (t), y(t), z (t)) for
t ∈ (a, b). The unit tangent vector is given as
observation tells us that the faster the tangent direction changes, the curvier the
curve is. Notice that the curviness property only depends on the tangent direction,
not the derivative of the embedding function. We hence define the curvature as
3.1 Geometry representations 71
κ(t) = Ṫ . (3.2)
ℓ2
R It is crucial that the readers see that the above definition of unit tangent and
curvature are both embedding dependent! Without an embedding function
f : M → W , the manifold still has its own (albeit abstract) tangent space
Tp M ∼ = R. An embedding f : M → W can convert the abstract tangent to an
R3 vector by the push-forward map
linear
df : Tp M ∼
= R −−−→ Tf (p) W ∼ = R3
′
x (t) (3.3)
linear ′
1 7−−−→ y (t) .
z ′ (t)
Theorem 3.1 The integration pairing is bilinear, meaning that we can take linear
3.1 Geometry representations 73
combination in both the k -dimensional embedded manifolds and the k -forms: for
a1 , a2 ∈ R two real numbers, M1 , M2 ⊂ W two embedded k -dimensional manifolds,
α1 , α2 ∈ Ωk (W ) two k -forms,
ˆ ˆ
⟨a1 M1 + a2 M2 |α⟩ = a1 α + a2 α = a1 ⟨M1 |α⟩ + a2 ⟨M2 |α⟩, (3.5)
ˆM1 ˆM2
⟨M |a1 α1 + a2 α2 ⟩ = a1 α1 + a2 α2 = a1 ⟨M |α1 ⟩ + a2 ⟨M |α2 ⟩. (3.6)
M M
• Since, for example, a face can have multiple edges that form its boundary,
the boundary operator needs to map a face to a combination of multiple
edges.
• We denote the set of all weighted sum of faces as CF , weighted sum of edges
as CE , and weighted sum of vertices as CV . The orientation of an edge /
face corresponds to the sign of the weights eij = −eji , fijk = fjki = fkij =
−fjik = −fikj = −fkji . For reference, we referred to a weighted sum of cells
as a chain.
such that if eij , ejk , eki are the three edges forming the boundary of a triangu-
lar face fijk , then ∂2 (fijk ) = eij + ejk + eki , and if vi , vj are the two endpoints
forming the boundary of an edge eij , then ∂1 (eij ) = −vi + vj . Readers can
check that ∂1 ◦ ∂2 = 0 as the boundary of a face is a loop, which has no
endpoints.
Definition 3.5 With the above example in mind, we can define a generalized
m-dimensional cell complex as M = (M0 , · · · , Mm ) together with a boundary
74 Chapter 3. Geometric Optimizations
operator and the chain complex:
∂ ∂ ∂
C0 ←
−1
C1 ←
−2
· · · ←m− Cm . (3.9)
Since each Ck is a finite dimensional vector space, its dual space C k := (Ck )∗ is also
finite dimensional, too. Just like the dual of vectors is called a covector (linear maps
from vectors to real numbers), the dual of chains is called a cochain (linear maps
from chains to real numbers). In Theorem 3.2 we saw that the adjoint of boundary
operator ∂ is the exterior derivative d , thus gives rise to the cochain complex,
similar to (3.9):
∂ ∗ =d0 ∂ ∗ =d1 ∂ ∗ =dm−1
C 0 −−
1
−→ C 1 −−
2 m
−→ · · · −− −−−→ C m . (3.10)
The k -cells Mk = {c1 , · · · , cN } automatically form a basis of the space of weighted
sums of them, a.k.a. k -chains Ck . Each cell c ∈ Mk corresponds to a linear functional
on k -cochains by the integration pairing:
ˆ
k
c: α ∈ Ω (M ) 7→ α. (3.11)
c
In other words, α and β belongs to the same equivalence class, and the space of
cochains C k is exactly the collection of these equivalence classes. We can further
derive an entire theory about the exterior calculus of these “differential forms up
to minor differences that cannot be distinguished by the cell complex” (equivalence
classes). Another SIGGRAPH course [Crane(2018)] already covered a wide range
of exterior calculus operations on discrete surfaces and curves and we omit the
discussions here.
Readers can verify that this functional T is linear in its input f ∈ Ω0 (W ) by verifying
that T (af + bg) = aT (f ) + bT (g) for a, b ∈ R and f , g ∈ Ω0 (W ).
We can approximate the Dirac-δ n-form by ρϵ defined as
ˆ
Vol(A ∩ Bp (ϵ))
ρϵ = . (3.16)
A Vol(Bp (ϵ))
Here Bp (ϵ) denotes the neighborhood ball centered at point p with radius ϵ > 0. The
induced linear functional on 0-forms is:
linear
Tϵ : Ω0 (W ) −−−→ R
´
fµ (3.17)
f 7−−−→ ´ p
linear B (ϵ)
.
Bp (ϵ)
µ
For continuous functions f , the above corresponds to the average of f on the ϵ-ball
Bp (ϵ) and it converges to the function value f (p) as ϵ → 0.1
The intuition behind Dirac-δ n-form is that each point p ∈ W corresponds to
a linear functional Tp that maps a 0-form f ∈ Ω0 (W ) to its evaluation f (p) at the
point p. A point p is of dimension 0. For geometries of other dimension, we can
similarly define a linear function on differential forms.
Definition 3.6 — Currents / Dirac-δ forms. One way to to represent a k -dimensional
geometry S ⊂ W is by the linear functional TS that maps differential k -forms
Ωk (W ) to their integral on S :
linear
TS : Ωk (W ) −−−→ R
ˆ (3.18)
linear
α 7−−−→ ⟨S |α⟩ = α.
S
We call the functional TS the k -current associated with S . In lieu of the dual
pairing between (n − k )-forms and k -forms:
ˆ
k n−k
α ∈ Ω (W ), β ∈ Ω (W ) 7→ α ∧ β, (3.19)
W
1
This is true for more general, integrable functions for almost all p ∈ W . Interested readers can
read about Lebesgue differentiation theorem.
76 Chapter 3. Geometric Optimizations
we can now view k -dimensional geometries as (n − k )-forms!
∗
{k -dimensional geomeries} ∼
= Ωk (W ) ∼ = Ωn−k (W ). (3.20)
We saw in Theorem 3.2 that the adjoint of the exterior derivative d is the
boundary operator ∂. In the context of currents / Dirac-δ forms, we have a similar
insight.
´ ´
Since
´ W
d (α ∧ δ S ) = ∂W
α ∧ δS = 0a , the left hand side of (3.22) turns into
W
α ∧ (−1) d δS . Since the equation holds true for all α ∈ Ωk −1 (W ), we conclude
k
that as an (n − k + 1)-form,
where ⟨·, ·⟩ denotes the Euclidean metric. At any given point p ∈ S , the unit
normal vector np ∈ Tp W is the vector that yields the largest flux, i.e.
Combining the above equations, we see that surface area is determined by the
maximal flux amongst all unit vector fields
ˆ
Area(S ) = max3
X♭ . (3.27)
X:W →R ,|X|≤1 S
Using the Hodge star and musical isomorphisms associated with Euclidean metric,
we can associate any vector field X: W → R3 with a 2-form α ∈ Ω2 (W ) such that
X = (⋆α)♯ . The constraint that X is a unit vector field is equivalent to
The last two lines and is the same as saying ∥ · ∥mass is the dual norm of ∥ · ∥max .
By combining the boundary operator from Theorem 3.3 and the above deriva-
tion, we can now solve the classical Plateau problem of finding surface S of
minimal surface area subject to a fixed boundary curve Γ ⊂ W :
minimize Area(S )
S ⊂W : a surface
(3.32)
subject to ∂S = Γ.
minimize ∥η∥mass
η∈Ω1 (W ): a 1-form
(3.33)
subject to d η = δΓ .
■
78 Chapter 3. Geometric Optimizations
f ′ (x0 ) = 0. (3.35)
The above equation is referred to as the first order optimality condition for the
optimization problem (3.34). If f is twice differentiable, then the first order optimality
condition together with the inequality
f ′′ (x0 ) ≥ 0 (3.36)
ensures that x0 is a local minimum, which means all nearby points x ∈ (x0 − ϵ, x0 + ϵ)
are less optimal than (or equally optimal to) x0 , i.e. f (x ) ≤ f (x0 ).
3.2 A Geometric view of optimization problems 79
f (x0 )
f ′ (x0 ) = 0
x0 − ϵ x0 x0 + ϵ
In this section, we explore the geometric picture of optimization problems: re-
placing real line with finite-dimensional manifolds or even function spaces, adding
equality constraints, adding inequality constraints, the geometric meaning of La-
grange multipliers, and iterative numerical methods for solving optimization methods.
We focus on deriving the necessary condition for an optimal solution, similar to
(3.35), and leave the discussions of the sufficient condition for other textbooks, e.g.
[Boyd and Vandenberghe(2004)].
The locally optimal solution p ∈ M must satisfy that all its neighboring points
are less optimal than (or equally optimal to) p. This property can be captured by the
property that if γ: [−ϵ, ϵ] → M is a path in M passing through the point p = γ(0),
γ f
then the function F = f ◦ γ: [−ϵ, ϵ] → − R takes a local minimum when s = 0
− M →
and γ(s) = p. Apply the first order optimality condition (3.35), we get
d
0 = F ′ (0) = f ◦ γ(s)|s=0 = dfγ(0) Jγ̇(0)K = dfp Jv K, (3.38)
ds
where v ∈ Tp M = γ̇(0) is the tangent of the path γ at the point p. Since this has to
hold true for all path γ at all tangent direction v ∈ Tp M , we conclude that the first
order condition for a local optimal solution p is the same as the differential df of the
objective function f is zero as a 1-form at p:
dfp = 0. (3.39)
u
u + ů
[ ]
a ů b
Figure 3.4 The function space V = Ω0 ([a, b]) is a vector space. With any function
u: [a, b] → R, we can always take another function ů: [a, b] → R and
add it to u to get a modified function u + ů: [a, b] → R. Effectively,
the tangent space at u is the entire function space Tu V = V.
E̊ = ⟨d Eα |α̊⟩ (3.42)
d
0 = F ′ (0) = E(α + ϵα̊) = d Eα Jα̊K. (3.43)
dϵ ϵ=0
Since this has to hold true for all variations α̊ ∈ V, we conclude that the first order
condition for a local optimal solution α is the same as the differential d E of the
2
A functional is just another name for function with an emphasis that it may be a function over
a space of functions.
3.2 A Geometric view of optimization problems 81
d E|α = 0 ∈ V ∗ . (3.44)
The expression after the integration by parts appear more directly as an L2 linear
pairing (see Definition 2.22) with ů together with some finite dimensional dot
product pairing at the boundary. ■
∗
d E|α is the differential of E at α, which is a covector in V ∗ = Ωk (M ) ∼
= Ωn−k (M )
3
. It is not to be confused with the gradient of the functional grad E|α ∈ V = Ωk (M ).
It is also not to be confused with the differential of the input variable d α ∈ Ωk +1 (M ).
Let ♭V : V → V ∗ , or “uncurried” as ⟪·, ·⟫V = ♭V (·)(·), be some metric (inner product
structure) defined on V. Then we have a unique vector grad E|α := d E|♯αV defined
such that
´b
■ Example 3.5 Let V = {u : [a, b] → R}. Define E : V → R as E(u) = u 2 (x ) dx ,
´b a
whose variation is known as d Eu JůK = a
2u(x )ů(x ) dx . If we define an inner
3
See Theorem 2.44.
82 Chapter 3. Geometric Optimizations
product structure by
ˆ b
⟪u, v ⟫ := u(x )v (x )m(x ) dx (3.52)
a
using some given positive function m : [a, b] → R>0 . Then the gradient of E is
given by
2u(x )
grad E|u (x ) = . (3.53)
m(x )
■
The domain for E does not need to be a vector space. One typical extension is
that A is an affine space parallel to V. That is, V is the tangent space of A at any
point α ∈ A. Then d E|α is a covector in V ∗ , and grad E|α is a vector in V. The first
order optimality condition for a minimization problem on an affine space A is the
same: the differential d E|α is zero as a covector in V ∗ .
u u(b) = cb
u(a) = ca
u + ů
ů(a) = 0
[ ]
a ů b ů(a) = 0
u ′′ (x )
grad Eu (x ) = − , x ∈ [a, b]. (3.56)
m(x )
■
or simply
We call (3.65) the Euler–Lagrange equation. It is not a surprise that the optimality
condition for problems on finite dimensional manifold (Problem 3.2) and problems on
infinite dimensional manifold (Problem 3.4) look almost identical, but we usually use
Euler-Lagrange equation to refer to the metric-informed equation (3.65) for infinite
dimensional cases.
In the sections to follow, we always denote our optimization variable as x ∈ M
where M can be a finite- or infinite-dimensional manifold.
minimize F(x )
x ∈M
(3.66)
subject to G(x ) = 0U .
Here 0U simply denotes the zero element in the vector space U. We assume both F
and G are smooth. The necessary condition for the optimal solution x is
linear
Note that the type of d G|x is d G|x : Tx M −−−→ U. The condition implies that there
exists a Lagrange multiplier λ0 ∈ U ∗ such that G|x = 0 and
D E
d F|x + λ0 d G|x = 0 ∈ Tx M. (3.69)
U ∗ ×U
The necessary stationary conditions for an optimal solution y0 ∈ M are the following
Karush–Kuhn–Tucker (KKT) conditions. There exist Lagrange multiplies λ0 ∈ U ∗ and
n o
µ0 ∈ C := µ ∈ V ⟨µ|v ⟩V ∗ ×V ≤ 0 for all v ∈ C ⊂ V ∗
◦ ∗
(3.71a)
and
D E
µ0 H(y0 ) = 0. (3.71c)
V ∗ ×V
there are two ways to find the optimal solution. The first method is to solve the
optimality condition directly
d F|x = 0 ∈ Tx M. (3.73)
linear
The second method is to find a metric ♯ : T ∗ M −−−→ TM and solve the gradient
flow: starting with an initial guess x0 ∈ M, the path x : [0, ∞) → M satisfying the
following differential equation
will4 converge to the stable point x opt ∈ M with vanishing the gradient
Numerically, this is often done via a forward Euler scheme, where a sequence of
intermediate states x (k ) is defined iteratively
where ∆t (k ) > 0 denotes the k -th time step, which can be a fixed value or determined
via line search. The iterative scheme (3.76) is often called the Gradient Descent
method.
■ Example 3.8 — An extended discussion on Dirichlet energy from Example 3.6.
Let A = {u : [a, b] → R, u(a) = ca , u(b) = cb } for some constants ca , cb . Consider
´b
the Dirichlet energy E(u) = a 12 u ′ (x )2 dx . We saw in Example 3.6 that
ˆ b ˆ b
d Eu JůK = ′ ′
u (x )ů (x ) dx = − u ′′ (x )ů(x ) dx , (3.77)
a a
and the gradient grad Eu associated with the m(x )-weighted inner product ⟪ů,v̊ ⟫L2 =
´b
a
ů(x )v̊ (x )m(x )dx is
u ′′ (x )
grad Eu (x ) = − . (3.78)
m(x )
Using the direct method, we can solve the optimality condition (also called
Euler-Lagrange equation)
′′
u (x ) = 0
u(a) = ca (3.79)
u(b) = cb .
Alternatively, one can use the gradient flow method, and solve the differential
equation for u: [a, b] × [0, ∞) → R
u ′′ (x ,t)
(
d
u(x , t) = − grad E u(·,t) =
dt m(x )
(3.80)
u(x , 0) = u0 (x ),
4
The convergence to a stable point often requires additional assumptions on the objective
function F such as convexity, superlinearity, etc.. Thankfully most objective functions in computer
graphics do possess these nice properties.
3.3 Computational methods for optimization problems 87
We need a metric ⟨·, ·⟩ to define the gradient flow. Write the metric as a matrix-
valued function µ = µij : M → Rm×m using the coordinates:
* x̊1 ẙ1 + µ11 (x ) · · · µ1m (x ) ẙ1
.. .. . . .
.. ... (3.84)
. , . = x̊1 · · · x̊m .. ..
x̊m ẙm µm1 (x ) · · · µmm (x ) ẙm
x̊m
−1 ∂f
* µ11 (x ) · · · µ1m (x ) ∂x1
(x ) x̊1 +
= ... .. .. .. , .. . (3.86)
. . . .
∂f
µm1 (x ) · · · µmm (x ) ∂xm
(x ) x̊m
| {z }
gradµ f |x
Since the original optimization Problem 3.81 doesn’t concern to assign a metric
to the manifold M , we can choose a metric ourselves such that the matrix µ(x )
coincides with the Hessian of f :
∂2f ∂2f
(x ) · · · (x )
µ11 (x ) · · · µ1m (x ) 2 ∂x1 ∂xm
.. . . ∂x1 . . .. (3.87)
. .. .. =
.. .. .
=: Hf (x ).
2 2
µm1 (x ) · · · µmm (x ) ∂ f
(x ) · · · ∂ f
(x )
∂xm ∂x1 ∂x 2 m
88 Chapter 3. Geometric Optimizations
Optimization methods based on the gradient flow of this Hessian metric are called
Newton’s method: ∂f
∂x1
(x )
ẋ = Hf (x )−1 ... . (3.88)
∂f
∂xm
(x )
■
4. Continuum Mechanics
Continuum mechanics is the study of the statics and dynamics of deformable bodies.
These deformable bodies can behave like elastic solid, Newtonian fluid, elastoplastic
solid, viscoplasticity (non-Newtonian) fluid, ferrofluid, or plasma. Which behavior
should a deformable body follow depends on a constitutive model. These models boil
down to describing how a potential energy is defined as a function of the deformation
of the body, and how a dissipation function depends on both the deformation and
the rate of deformation of the body. The equations of motion are derived from the
model by variational principle.
• Newtonian fluid The potential energy is only a function of the induced change
of volume by the deformation; the dissipation is only a function of the rate of
deformation.
• Elastoplasticity An elasticity setup but the system carries extra variables that
encode a reference metric for rest state, and the dissipation function depends
on the rate of change of the rest metric. Examples include solids undergone
irreversible plastic deformation, hardening, and fracturing.
• Exterior calculus includes the Lie derivative, which is fundamental for doing
calculus on deformations. Without the vocabulary of Lie derivatives, differential
equations that describe conservation laws are broken into many obscure terms.
∇ ∂K
= −d U. (4.2)
dt ∂ ϕ̇
Cauchy showed that the internal force T acting on an infinitesimal internal surface,
known as the traction force, is a linear function of the surface normal. So we can
write T = σn where n is the surface normal, and σ is the matrix representing this
linear function. This matrix σ is called the Cauchy stress.
The net force acting on an infinitesimal volume is the given by the sum of
traction force on the volume’s boundary. Hence, the net force density is given
by the divergence fnet = ∇ · σ of the Cauchy stress. When the solid is in static
equilibrium, one can show that σ must be a symmetric matrix. However, in fact,
σ is symmetric even under accelerated motion for a different reason (under the
assumption of hyperelasticity).
Hyperelasticity is the model for large deformation. When it comes to this large
deformation, one starts to introduce many more other alternative stress measures.
Only writing a few major ones, we have the Kirchhoff stress τ , the first Piola–Kirchhoff
stress P, the second Piola–Kirchhoff stress S, the nominal stress N = P⊺ . Their
conversions are given by
Equation
for σ τ P S
σ= σ 1
J
τ 1
J
PF⊺ J −1 FSF⊺
⊺
τ = Jσ τ PF FSF⊺
P= J σF−⊺ τ F−⊺ P FS
S= J F−1 σF−⊺ F τ F−⊺
−1
F−1 P S
P = ϕ∗ σ. (4.4)
2-form
From this example, we see that the theory of elasticity would be much more natural
when written in exterior calculus.
What is more, all of the above stress tensors arise automatically and carry specific
differential form types when we try to derive d U, essentially making exterior calculus
unavoidable. Following this first-principle derivation, we do not need any prerequisite
4.3 Tensor Algebra 93
XX
⃗u ⊗ ⃗v := u i v j ⃗hij . (4.7)
i∈I j ∈J
94 Chapter 4. Continuum Mechanics
In particular,
linear bilinear
■ Example 4.2 The space of bilinear forms {B : U −−−→ U ∗ } = {B : U ×U −−−−→
R} on a vector space U is the tensor product space U ∗ ⊗ U ∗ . ■
Definition 4.4 — Tensor product bundle. Let E1 , E2 be two vector bundles defined
over a common manifold M . Then E1 ⊗ E2 is a new vector bundle over M where
each fiber (E1 ⊗ E2 )p is defined by the tensor product space (E1 )p ⊗ (E2 )p for each
p ∈ M.
Under a basis for U and its dual basis for U ∗ , bilinear forms on U is represented
by a square matrix with size n-by-n where n = dim(U ). Just as the consideration
of symmetric matrices and skew-symmetric matrices are important when studying
bilinear forms, we should also discuss the symmetric and skew-symmetric tensor
powers.
Using a similar formal definition we define the following special spaces of tensor
power spaces.
satisfying
• associativity:
(A ⊙ B ) ⊙ C = A ⊙ (B ⊙ C ) for all A ∈ ⊙k U , B ∈ ⊙ℓ U , C ∈ ⊙m U .
(4.13)
• symmetry:
⊙k U ,→ ⊗k U
X
⃗u1 ⊙ · · · ⊙ ⃗uk 7→ ⃗uσ(1) ⊗ · · · ⊗ ⃗uσ(k ) (4.15)
σ∈Sk
satisfying
• associativity:
(A ∧ B ) ∧ C = A ∧ (B ∧ C ) for all A ∈ ∧k U , B ∈ ∧ℓ U , C ∈ ∧m U .
(4.17)
96 Chapter 4. Continuum Mechanics
• skew-symmetry:
∧k U ,→ ⊗k U
X
⃗u1 ∧ · · · ∧ ⃗uk 7→ (−1)|σ|⃗uσ(1) ⊗ · · · ⊗ ⃗uσ(k ) (4.19)
σ∈Sk
For example Tϕ W becomes a bundle over M ; the fibers are (Tϕ W )x = Tϕ(x ) W .
Using pullback bundle, we can characterize the tensor types of derivatives of ϕ:
Theorem 4.2 (U ⊗ V )∗ ∼
= U ∗ ⊗ V ∗ . The dual pairing between U ∗ ⊗ V ∗ and U ⊗ V
is given by
for α ∈ U ∗ , β ∈ V ∗ , ⃗u ∈ U , and ⃗v ∈ V .
Combining Theorem 4.1 and Theorem 4.2 gives:
Theorem 4.3 Hom(U ; V )∗ ∼
= Hom(U ∗ ; V ∗ ). The dual pairing between a linear
operator B ∈ Hom(U ∗ ; V ∗ ) and A ∈ Hom(U ; V ) is given by
Note that in (4.25) the pairing ⟨S |X ⟩ is a pointwise dual pairing between fibers of E ∗
and fibers of E , leaving ⟨S |X ⟩ ∈ Γ(∧n T ∗ M ) = Ωn (M ) that can still be integrated
over M . That is why the dual space of the space scalar functions are measures:
(Ω0 (M ))∗ ∼
= Ωn (M ). (4.26)
The dual space of the space of vector fields is the space of covector-valued measures.
Γ(TM )∗ ∼= Γ(T ∗ M ⊗ ∧n T ∗ M ). (4.27)
U ⊗ ∧n U ∗ ∼
= ∧n−1 U ∗ . (4.28)
⃗u ⊗ µ 7→ i⃗u µ ⃗u ∈ U , µ ∈ ∧n U ∗ . (4.29)
Proof. One can check that (4.36) is non-degenerate, and that U ⊗ ∧n U ∗ and ∧n−1 U ∗
share the same dimension (note that dim(∧n U ∗ ) = 1). One can also construct an
explicit inverse map for (4.36). For each ω ∈ ∧n−1 U ∗ , pick a µ ∈ ∧n U ∗ and our goal
is to reconstruct ⃗u ∈ U so that i⃗u µ = ω. (Note that a different choice of µ will only
lead to rescaled ⃗u , and still resulting in the same i⃗u µ and ⃗u ⊗ µ using (4.6).) The
reconstruction goes as picking an arbitrary basis ⃗e1 , . . . , ⃗en for U and
n
X ωJ⃗e1 , . . . , ⃗ebk , . . . , ⃗en K
⃗u = u k ⃗ek , u k = (−1)k (4.30)
k =1
µJ⃗e1 , . . . , ⃗en K
where (·)
c means skipping over the term.
98 Chapter 4. Continuum Mechanics
linear
■ Example 4.4 — Cramer’s rule. Let A : U −−−→ U be a linear map. Given ⃗b ∈ U ,
find ⃗x ∈ U such that A⃗x = ⃗b.
Pick an arbitrary basis ⃗e1 , . . . , ⃗en for U and an arbitrary volume form µ ∈ ∧n U ∗ .
Note that det(A) = ( A∗ µ)/µ, which is independent of the choice of µ. We may
n-form
linear
assume µJ⃗e1 , . . . , ⃗en K = 1. Now, A : U −−−→ U induces a pullback on (n −1)-forms:
linear
A∗ : ∧n−1 U ∗ −−−→ ∧n−1 U ∗ . (4.31)
(n − 1)-form
Note that
1
xk = (−1)k (A∗ i⃗b µ)J⃗e1 , . . . , ⃗ebk , . . . , ⃗en K (4.33)
det(A)
1 ⃗b , . . . , ⃗an K
= µJ⃗a1 , . . . , |{z} (4.34)
det(A)
k -th
slot
(⊗k U ) ⊗ ∧n U ∗ ∼
= ∧n−k U ∗ . (4.35)
Using Theorem 4.6 and 4.4 we can reason the dual space of the space of k -form
fields:
Ωk (M )∗ = Γ(∧k T ∗ M )∗ ∼
= Γ(∧k TM ⊗ ∧n T ∗ M ) ∼
= Γ(∧n−k T ∗ M ) = Ωn−k (M ).
(4.37)
Theorem 4.7 Ωk (M )∗ ∼
= Ωn−k (M ). The dual pairing between α ∈ Ωn−k (M ) and
β ∈ Ωk (M ) is given by
ˆ
⟪α|β⟫ = α ∧ β. (4.38)
M
F := d ϕ ∈ Γ(T ∗ M ⊗ Tϕ W ) ∼
= Γ(Hom(TM ; Tϕ W )). (4.40)
The deformation is the pushforward operator given from the flow map ϕ. Each
displacement as a vector in the material is mapped to a displacement as a tangent
vector in the world.
■ Example 4.5 Under a Cartesian coordinate in R3 , if we write
1
x ϕ (X , Y , Z )
y = ϕ(X , Y , Z ) = ϕ2 (X , Y , Z ) (4.41)
z ϕ3 (X , Y , Z )
100 Chapter 4. Continuum Mechanics
then the deformation gradient has a matrix representation given by
1 1 1
∂ϕ ∂ϕ ∂ϕ
∂X2 ∂Y
∂ϕ2
∂Z
∂ϕ2
F = d ϕ = ∂ϕ
∂X ∂Y ∂Z
(4.42)
∂ϕ3 ∂ϕ3 ∂ϕ3
∂X ∂Y ∂Z
♭W ∈ Γ(⊙2 T ∗ W ) ∼
= Γ(Homsym (TW ; T ∗ W )) (4.43)
denote the metric on the world space W . Now, with the deformation gradient F
and its adjoint, we find a diagram
TM
F / TW (4.44)
♭W
T ∗M o F∗
T ∗W
By composing these arrows, we obtain a symmetric bilinear form that can serve as a
metric on M .
Definition 4.10 — Pullback metric. Define
ϕ∗ : ⊙2 T ∗ W → ⊙2 T ∗ M , ϕ∗ ♭W := F ∗ ♭W F (4.45)
⊙2 T ∗ W ⊙2 T ∗ W
We call
C := F ∗ ♭W F ∈ Γ(⊙2 T ∗ M ) (4.47)
TM F / TW (4.48)
C ♭W
o
T ∗M o F∗
T ∗W
The physical meaning of the pullback metric is best understood by (4.46). The
pullback metric gives the following inner product structure: The inner product
between two vectors ⃗a , ⃗b in the material is evaluated by taking their world-space
4.4 Postulates of Elasticity 101
inner product; the deformation gradient F = d ϕ first realizes these material vectors
as world vectors before taking the world-space inner product.
Note that the inner product structure encodes the notion of lengths and angles.
In particular, it encodes how much the material is stretched and sheared (after
comparing it with a fixed reference material metric).
Definition 4.11 — Cauchy–Green constructor. Define
■ Example 4.6 Continuing Example 4.5 in the Cartesian 3D space, where the
metric tensor for ♭W is represented by the identity matrix, the right Cauchy–Green
tensor is given by
C = F⊺ F. (4.51)
It is the core material property. The value Ψ(C ) describes how much energy is stored
(as an n-form) for a given pullback metric C . The function Ψp : ⊙2 Tp∗ M → ∧n Tp∗ M
can depend on p ∈ M for an inhomogeneous material.
Definition 4.12 — Derivative of Ψ. For each point p ∈ M , the differential d (Ψp ) of
the function Ψp : ⊙2 Tp∗ M → ∧n Tp∗ M over the domain ⊙2 Tp∗ M is a ∧n Tp∗ M -valued
covector of ⊙2 Tp∗ M ; that is,
∂Ψ
: Γ(⊙2 T ∗ M ) → Γ (⊙2 TM ) ⊗ ∧n T ∗ M (4.55)
∂C
102 Chapter 4. Continuum Mechanics
is called a stress–strain relation.
For a general hyperelastic model, we do not need to make any further assumption.
For whichever Ψ that is modeled, there is a derived ∂C
∂Ψ
. We will only need to know
∂Ψ
∂C
∈ Γ(⊙ TM ⊗ ∧ T M ) to derive d U (Section 4.5).
2 n ∗
More discussion about special models and physical designs for Ψ will be given in
Section 4.7.
Here, the variation of the first map d requires the Levi-Civita connection ∇W for
♭W on W :
∂
∂ϵ ϵ=0
ϕϵ = ϕ̊ ∈ Γ(Tϕ W ) =⇒ ∂
( d ϕ)
∂ϵ ϵ=0 0-form ϵ
= d ∇ ϕ̊. (4.58)
TW -valued
0-form
Using the duality theorems in Section 4.3.4, we find the dual spaces of the sequence
of vector spaces in (4.57) and connect them by the adjoint maps:
´
d∇ dC|F dΨ|C
Γ(Tϕ W ) / ∗
Γ(T M ⊗ Tϕ W ) / Γ(⊙ T M )2 ∗ / n
Γ(∧ T M )∗ M / R
´
(d ∇ )∗ (dCF )∗ (dΨC )∗ ( M )∗
Γ( ∧ T M o
n ∗
Γ( ∧ T M o
n−1 ∗
Γ( ⊙ TM 2 o Ω (M ) o
0
R∗
⊗ Tϕ∗ W ) ∗
⊗ Tϕ W ) n ∗
⊗ ∧ T M)
(4.59)
Take 1 ∈ R∗ as the seed and back-propagate it using these adjoint maps. The
intermediate variables during the back-propagation are known as the stress tensors
of various kinds.
The adjoint of integration distributes 1 into the constant function
´
1 = ( M )∗ (1) ∈ Ω0 (M ). (4.60)
4.5 Derivation of Elasticity 103
∂Ψ
= (d Ψ|C )∗ (1) ∈ Γ(⊙2 TM ⊗ ∧n T ∗ M ), (4.61)
∂C
which we assume can be looked up (Section 4.4.3) while further discussions about its
evaluation can be found in Section 4.7.
Definition 4.13 — 2nd Piola–Kirchhoff stress tensor. The 2nd Piola–Kirchhoff stress
tensor (PK2) S ∈ Γ(⊙2 TM ⊗ ∧n T ∗ M ) is defined by
S ∂Ψ
:= = (d Ψ|C )∗ (1). (4.62)
2 ∂C
The next adjoint map (d C)∗ gives us:
Definition 4.14 — 1st Piola–Kirchhoff stress tensor.
∂Ψ
P := (d C|F )∗ = (d C|F )∗ (d Ψ|C )∗ (1) ∈ Γ(∧n−1 T ∗ M ⊗ Tϕ∗ W ). (4.63)
∂C
called the 1st Piola–Kirchhoff stress tensor (PK1).
Finally,
∂U
= (d ∇ )∗ P = (d ∇ )∗ (d C|F )∗ (d Ψ|C )∗ (1) ∈ Γ(∧n T ∗ M ⊗ Tϕ∗ W ). (4.64)
∂ϕ
To complete the calculation, we derive explicit formulas for the adjoints (d ∇ )∗ and
(d C|F )∗ .
Theorem 4.8 Represent the domain Γ(⊙2 TM ⊗ ∧n T ∗ M ) and the target space
Γ(∧n−1 T ∗ M ⊗ Tϕ∗ W ) of (d C|F )∗ as spaces of linear maps Γ(Homsym (T ∗ M ; TM ) ⊗
∧n T ∗ M ) and Γ(Hom(T ∗ M ; Tϕ∗ W ) ⊗ ∧n T ∗ M ) respectively using Theorem 4.1 and
Theorem 4.5. Then the linear map
linear
d C|∗F : Γ(Homsym (T ∗ M ; TM ) ⊗ ∧n T ∗ M ) −−−→ Γ(Hom(T ∗ M ; Tϕ∗ W ) ⊗ ∧n T ∗ M )
(4.65)
is explicitly given by
Since this is a pointwise linear operation, we may focus on its pointwise adjoint as in
104 Chapter 4. Continuum Mechanics
F̊ dC|F F̊ ∗ ♭W F +F ∗ ♭W F̊
Hom(TM ; Tϕ W ) / Homsym (TM ; T ∗ M ) (4.68)
dC|∗F
Hom(T ∗ M ; Tϕ∗ W ) o Homsym (T ∗ M ; TM )
H
Using the dual pairing between linear maps (Theorem 4.3) the adjoint d CF∗ must
satisfy
def’n of
adjoint
and (4.67)
∗ ∗
tr (d C|F JH K) F̊ = tr(H ∗ (F̊ ∗ ♭W F + F ∗ ♭W F̊ )) (4.69)
= tr(H ∗ F̊ ∗ ♭W F ) + tr(H ∗ F ∗ ♭W F̊ ) (4.70)
= 2 tr(H ∗ F ∗ ♭W F̊ ) (4.71)
where the last step uses invariance of trace under cyclic permutations (tr(ABCD) =
tr(BCDA)) and adjoints tr(A) = tr(A∗ ), and that H ∗ = H for H ∈ Homsym (TM ∗ ; TM ).
Therefore, d C|∗F JH K = 2♭W FH .
d∇
Γ(Tϕ W )
0-form
/ Γ(T ∗ M ⊗ Tϕ W ) (4.72)
(d ∇ )∗
Γ(∧n T ∗ M ⊗ Tϕ∗ W ) o Γ(∧n−1 T ∗ M ⊗ Tϕ∗ W )
= −d ∇
(n − 1)-form
⟪d ∇ ϕ̊|P ⟫
= ⟨ϕ̊|P ⟩
{z }
∂M
⟪ϕ̊|d ∇ P ⟫
The following diagram shows the forward nonlinear evaluations (upper row) and the
linear back-propagation (lower row).
ϕ F = dϕ C = F ∗ ♭W F Ψ(C ) U(ϕ)
flow deformation Cauchy–Green energy total
map gradient tensor density ´ energy
C ∞ (M ; W )
d / ∗
Γ(T M ⊗ Tϕ W )
C / Γ(⊙
2 ∗
T M)
Ψ / n ∗
Γ(∧ T M )
M
/ R
´ ∗
∇ ∗ ∗ ∗ ( M)
n
Γ( ∧ T M ∗ o (d ) Γ( ∧ n−1
T M ∗ o (dCF ) 2
Γ( ⊙ TM o (dΨC ) Ω 0
(M ) o R∗
⊗ Tϕ∗ W ) ∗
⊗ Tϕ W ) ⊗ ∧n T ∗ M )
−d ∇ P P = ♭W FS S
2
= ∂C∂Ψ
1 1
(n − 1)-form 1st Piola– constant seed
2nd Piola– “one” function
Kirchhoff stress Kirchhoff stress
(minus)
force
(4.74)
The equation of motion for the flow map is given by substituting the result of the
derivative computation into (4.39)
∇
ρM ϕ̈ = d∇ P + fext . (4.75)
(n − 1)-form
■ Example 4.7 — Summary in 3D. We can translate the tensors in (4.74) into
matrices under the 3D Cartesian coordinate, continuing Example 4.5 (F = ∇ϕ)
and Example 4.6 (C = F⊺ F).
The 1st (P) and 2nd (S) Piola–Kirchhoff stress tensors are 3-by-3 matrices
given by
∂Ψ ∂Ψ(C)
S=2 Sij = 2 , P = FS. (4.76)
∂C ∂Cij
The elastic force is given by taking the divergence of the 1st Piola–Kirchhoff stress
tensor on the 2nd index:
!
∂U X ∂
fM = − =∇·P fi = Pij . (4.77)
∂ϕ j
∂X j
By a change of coordinate of the same object, we have the Cauchy stress tensor.
The Cauchy stress tensor assigns a world force covector on each codimension-
1 plane in the world.
Definition 4.15 — Cauchy stress tensor. Given a 1st Piola–Kirchhoff stress tensor
P ∈ Γ(∧n−1 T ∗ M ⊗ Tϕ∗ W ), the Cauchy stress tensor is a covector-valued (n − 1)-
form
σ ∈ Γ(∧n−1 T ∗ W ⊗ T ∗ W ) (4.78)
P= ϕ∗ σ. (4.79)
(n − 1)-form
The multiplication by F−1 in (4.80) is from the right with a transpose because it
is the 2nd index of P and σ that corresponds to being a 2-form. ■
d∇ P = ϕ∗ f . (4.82)
(n − 1)-form n-form
Then
d∇ σ = f. (4.83)
(n − 1)-form
ϕ∗ d∇ σ= d∇ ϕ∗ σ= d∇ P = ϕ∗ f . (4.84)
n-form(n − 1)-form (n − 1)-form(n − 1)-form (n − 1)-form n-form
■ Example 4.9 In the 3D Cartesian setup, if fW represents the force density per
world-space volume and fM represents the force density per material-space volume.
4.7 More on the strain energy density function 107
Then
fM = J fW ◦ ϕ, ∇ · σ = fW , ∇ · P = fM . (4.85)
Next, we show that the Cauchy stress tensor is symmetric. In contrast to physical
arguments about angular momentum conservation (many versions of which apply
only to W being Euclidean or under the assumption of equilibrium), we show the
symmetry by type checking.
First, consider a version of the Cauchy stress so that its force-covector is converted
into a vector using the inner product structure of the world:
σ̃ := ♯W σ ∈ Γ(∧n−1 T ∗ W ⊗ TW ) (4.86)
∼
= Γ(TW ⊗ TW ⊗ ∧n T ∗ W ). (4.87)
Note that in the 3D Cartesian representation σ̃ and σ share the same matrix
representation. Now, in the type of (4.87) it is sensible to ask whether σ̃ belong to
the symmetric sub-type
?
σ̃ ∈ Γ(TW ⊙ TW ⊗ ∧n T ∗ W ). (4.88)
σ̃ ∈ Γ(TW ⊙ TW ⊗ ∧n T ∗ W ). (4.89)
σ̃ ∈ Γ(Hom(T ∗ W ; TW ) ⊗ ∧n T ∗ W ) (4.90)
we have
Ĉ := ♯M C = ♭−1
M C ∈ Γ(Hom(TM ; TM )) (4.94)
TM F / TW TMO F / TW (4.95)
C ♭W ♭M Ĉ ♭W
o
T ∗M o F∗
T ∗W T ∗M o F∗
T ∗W
and Ψ̂ attains its minimum at Ĉ = idTM . The value of Ψ̂ is called the internal
energy or Helmholtz’s free energy.
The endomorphism Ĉ indicates how much itself deviates from the identity, as a
measurement of relative stretching. When the internal energy is only a function of
Ĉ and not on other “latent variables” such as entropy or temperature, then internal
energy is equivalent to Helmholtz’s free energy.
4.7.1 Strains
A strain is an expression of Ĉ that measures its deviation from identity.
All these strains agree with each other to first order when Ĉ ≈ I .
In many scenario for large deformations, it is natural to consider Hencky’s
logarithmic strain as our main measurement for the deviation from identity. By a
4.7 More on the strain energy density function 109
mere change of variable, one may also model the internal energy as a function of the
Hencky strain:
Ψ(C ) = Ψ̂(Ĉ )ρM = Ψ̂log (Ĥ )ρM , 0 ∈ argmin Ψ̂log (Ĥ ) (4.97)
Ĥ ∈End(TM )
λ̂
Ψ̂StVK (Ĉ ) = tr(E )2 + µ̂ tr(E 2 ). (4.98)
2
∂Ψ(C ) ∂ Ψ̂(Ĉ )
S =2 = ♯M ρM = λ̂ tr(E )♯M + 2µ̂♯M E ρM (4.99)
∂C ∂ Ĉ
= λ tr(E )♯M + 2µ♯M E (4.100)
are called the principal invariants of Ĉ . The trace of the first n powers of Ĉ
Jk := tr(Ĉ k ), k = 1, . . . , n (4.104)
are called the main invariants of Ĉ . When the Hencky strain Ĥ = 12 ln(Ĉ ) (4.97) is
our main variable for material modeling, we also consider the principal invariants
and the main invariants of Ĥ . They are denoted by lower case letters:
The following example demonstrates that one can perform change of variables to
convert any functions of tr(Ĉ k ) (even when k > n) into an expression of the principal
invariants.
■ Example 4.12 In 3D, the 3 principal invariants of the Cauchy–Green endomor-
phism Ĉ are
I1 = λ1 + λ2 + λ3 = tr(Ĉ ) (4.108)
I2 = λ1 λ2 + λ1 λ3 + λ2 λ3 = 21 (tr(Ĉ )2 − tr(Ĉ 2 )) (4.109)
I3 = λ1 λ2 λ3 = det(Ĉ ). (4.110)
4.7 More on the strain energy density function 111
Conversely,
tr(Ĉ ) = I1 (4.111)
tr(Ĉ 2 ) = I12 − 2I2 (4.112)
3
tr(Ĉ ) = I13 − 3I1 I2 + 3I3 (4.113)
Ĉ 3 − I1 Ĉ 2 + I2 Ĉ − I3 I = 0. (4.114)
In general,
k
0 1 0 1
tr(Ĉ k ) = 1 0 0 0 (4.117)
0 1 I1 .
I3 −I2 I1 I12 − 2I2
Using power series, any expression tr(f (Ĉ )), for any analytic function f , can be
written as an analytic function of I1 , I2 , I3 . ■
A useful tip about taking the derivative of the determinant of a matrix with
respect to a matrix (endomorphism) is
∂ det(A)
= cof(A) = det(A)A∗−1 . (4.118)
∂A
Applying this identity to our characteristic polynomial we get
∂PĈ (z )
= −PĈ (z )(zI − Ĉ )∗−1 (4.119)
∂ Ĉ
and
∂Ik 1 dk ∂PĈ (z ) 1 dk
= =− PĈ (z )(zI − Ĉ )∗−1 . (4.120)
∂ Ĉ k ! dz k z =0 ∂ Ĉ k ! dz k z =0
This allows us to compute the 2nd Piola–Kirchhoff stress for a general function
w (I1 , . . . , In ) of the invariants:
n
∂Ψ(C ) ∂ Ψ̂(Ĉ ) ∂ Ψ̂(Ĉ ) X ∂Ik ∂w
= ♯M ρM , = . (4.121)
∂C ∂ Ĉ ∂ Ĉ k =1
∂ Ĉ ∂Ik
112 Chapter 4. Continuum Mechanics
µ̂ λ̂ p
Ψ̂(Ĉ ) = w (I1 , . . . , In ) = (I1 − n − ln In ) + ( In − 1)2 . (4.122)
2 2
■
The following are special model one can consider in the framework of hyperelas-
ticity models. They are used in conformal mappings in geometry processing and
fluid simulations. Although they are usually not discussed together with elastic
solid simulation, we can describe them in our current discussion about the effects of
stress–strain energy designs.
■ Example 4.14 — Conformal energy. In 2D (n = 2), an energy that only penalizes
conformal distortion but not area distortion takes the form
√ √
In terms of the singular values s1 = λ1 , s2 = λ2 of the deformation gradient F
with respect to ♭M and ♭W ,
s1
Q= i12 − 2i2 = ln (4.124)
s2
volume change but on any other mode of deformation takes the form
4.8 Conclusion
Exterior calculus naturally arises in continuum mechanics when we derive the equa-
tions of motion from first principle and keeping track of the types of objects. The
back-propagation method that we employed for the derivation demands the distinction
between vectors and their duals. The result is that we obtain stress tensors (1st
Piola–Kirchhoff stress or cauchy stress) as covector-valued (n − 1)-forms. This fits
very well with the original physical intuition of a stress tensor: there is an assignment
of force on every infinitesimal surface. The language of exterior calculus allows us to
accurately describe this delicate tensor type and distinguish it from other matrices
of the same array size. Moreover, changes of coordinates between the material space
and world space use only one unified concept: pullback. Using the commutativity
between pullbacks and exterior derivatives, we immediately obtain Theorem 4.10
without using any vector identity.
Overall, there is much less assumption and identities, and there is a more fine-
grained understanding of formulas in elasticity and symmetry of stress tensor revealed
by the exterior calculus language.
5. Fluid Dynamics
In this chapter, we study the motion of fluids. Similar to the philosophy of Chapter 4,
we can characterize Newtonian fluids from a minimalistic set of postulates, and
subsequently derive and study the equations of motion based on first principles. Our
study will primarily concentrate on non-dissipative (inviscid) fluids. Hence, we only
need to look at the kinetic and potential energy of the physical system.
The following postulates follows Example 4.15.
Postulate 5.1 — Inviscid barotropic fluid. An inviscid barotropic fluid is an isotropic
hyperelastic body (Postulates 4.1–4.4) whose internal energy Ψ̂(Ĉ ) is only a function
of the volume change Ψ̂(Ĉ ) = w (det(Ĉ )).
In the limit that the internal energy in response to a volume change is infinitely stiff,
the deformable body becomes volumetrically rigid for every material element. In
that case, a barotropic fluid becomes incompressible.
Postulate 5.2 — Inviscid incompressible fluid. An inviscid incompressible fluid is a
volume-constrained (det(Ĉ ) is time-independent) barotropic fluid (Postulate 5.1).
R “Barotropic” means the compressible fluid has its internal energy, and conse-
quently the pressure, depend only on the change of fluid density (or the change
of specific volume). A more general compressible fluid, such as an isentropic
fluid governing gas dynamics, will have its internal energy depending on other
hidden variables such as entropy.
R For fluids, Postulate 4.3 can be simplified to that the material space has a rest
volume form µM , instead of a full-blown rest metric tensor ♭M .
116 Chapter 5. Fluid Dynamics
We first derive the equations of motion for these systems, known as Euler equa-
tions. These classical equations describe the motion of fluid’s velocity as a vector-
valued 0-form. Then, we move on to looking at the same equations in their covector-
based variants, i.e. they describe the motion of fluid’s velocity as a 1-form. We can
arrive at the covector-based Euler equation either by changes of variables at the
PDE level, or from first principles. We show how this covector-based fluid equation
provides visuals and computational efficiency advantages for fluid simulations.
d ∂K ∂U
=− . (5.1)
dt ∂ ϕ̇ ∂ϕ
Using (4.75), and assuming no external forces, the equation simplifies to:
∇
ρM ϕ̈ = d∇ P (5.2)
(n − 1)-form
where P = FS, S = ∂C ∂Ψ
, F = ∇ϕ, and C = F⊺ F.
Now let us substitute the assumptions of Postulate 5.1 (Example 4.15) for fluids.
Specifically, the potential energy only depends on its top-dimensional principal
invariant, or equivalently Ψ̂(Ĉ ) = w (I3 ) = w (J 2 ) in 3D, where J = det(F). In the
∗
coordinate-free language, J = det(F ) = ϕµµMW where µW and µM are the volume
forms on W and M respectively.
Definition 5.1 We denote the mass form in the world coordinate as ρ ∈ Ωn (W ),
which given by the relation
ρM =: ϕ∗ ρ. (5.4)
n-form
5.1 Euler equations 117
Define the material-space and world-space mass density 0-forms by
ρM ρ
qM := ∈ Ω0 (M ), q := ∈ Ω0 (W ). (5.5)
µM µW
One can check that
qM
ϕ∗ q = q ◦ ϕ = . (5.6)
0-form J
Theorem 5.1 Under the assumption of Postulate 5.1, the Cauchy stress tensor
takes the form of a scalar times identity
σ = −pI ⊗ µW , p ∈ Ω0 (W ) (5.7)
Proof. Using (4.118), the derivative of Ψ̂(Ĉ ) = w (I3 ) with respect to Ĉ is given by
∂ Ψ̂
∂ Ĉ
= w ′ (I3 )cof(Ĉ ) = w ′ (J 2 )J 2 Ĉ ∗−1 = w ′ (J 2 )J 2 ♭M C −1 . Then, by (4.121) we have
the 2nd Piola stress tensor given by
∂Ψ(C )
S =2 = 2♯M w ′ (J 2 )J 2 ♭M C −1 ρM (5.8)
∂C
= 2w ′ (J 2 )J 2 C −1 ρM (5.9)
= 2w ′ (J 2 )J 2 F −1 ♯W F ∗−1 ρM (5.10)
Transforming the 2nd Piola–Kirchhoff stress tensor to the 1st Piola–Kirchhoff and
subsequently Cauchy stress tensor, we get
P = ♭W FS = 2w ′ (J 2 )J 2 F ∗−1 ρM (5.11)
P = ϕ∗ σ =⇒ σ = 2w ′ (J 2 )J (I ⊗ ρ) (5.12)
2-form
ϕ̇ = u ◦ ϕ = ϕ∗ u (5.14)
0-form
We use the notation u and ⃗u interchangeably, both of which represent the vector
type or the vector-valued 0-form type.
Also define
η := ♭W u ∈ Ω1 (W ) (5.15)
118 Chapter 5. Fluid Dynamics
as the fluid velocity covector.
Theorem 5.2 — Barotropic Euler equation. Under the general equation of motion
(5.2), the velocity field u satisfies
∂q
+ div(qu) = 0, (5.16)
∂t
∂u grad p
+ ∇u u = − , (5.17)
∂t q
R The formulation of the Euler equation through the above process describes
the conservation law on linear momentum.
For the remainder of this chapter, we assume that q = 1 to reduce the system
into an incompressible fluid system.
5.1 Euler equations 119
Corollary 5.3 — Incompressible Euler equation. Under Postulate 5.2, the velocity
field u satisfies
Here, ψ is the inverse flow map given by ψ ◦ ϕ = ϕ∗ ψ = id. The first constraint,
0-form
referred to as Lin’s Constraint, comes from the Lie material derivative for the 0-form
backward flow map ψ̇ + Lu ψ = 0, and the second constraint enforces incom-
0-form
pressibility for the fluid. Rewriting the action using Lagrange multipliers we get
to:
ˆ
1 2
S (u, ψ) = |u| µW − ⟨η0 |ψ̇ + Lu ψ⟩µW − ⟨λ| Lu µW ⟩, (5.26)
W 2
where λ ∈ Ω0 (W ) and η0 ∈ Γ(Tψ∗ M ) are the Lagrange multipliers for the incompress-
ibility and Lin’s constraint, respectively. By taking variations in terms of u and ψ
we can find the following equations of motion:
η = ψ ∗ η0 − d λ, (5.27)
1-form
∂η0
= 0. (5.28)
∂t
where η = u♭ . Using Theorem 2.28, we can take the time derivative of the above to
the covector-based Euler equations:
η̇ + Lu η = −d λ. (5.29)
1-form
∂η ∂u ♭
+ Lu η = + u · ∇u + (∇u)⊺ u . (5.30)
∂t 1-form ∂t
To get to the Euler equation for fluid dynamics, we can add a modified gradient
pressure term λ = p − 12 iu η = p − 12 |u|2 to both sides.
∂η ∂u ♭
+ Lu η + d λ = + u · ∇u + (∇u)⊺ u + ∇λ (5.31)
∂t 1-form ∂t
∂u ♭
= + u · ∇u + ∇p = 0. (5.32)
∂t
ω̇ + Lu ω = 0, (5.33)
2-form
where
ω = dη (5.34)
η̇ + Lv η = 0. (5.35)
1-form
u̇ + v · ∇u = 0. (5.36)
5.2 Advantages of Covector Euler Equation 121
u̇ + v · ∇u = −(∇v) · u. (5.37)
This form reveals how the covector-based Euler equation involves a stretching term
that was not present in the vector-based transport (5.36).
This equation is also the basis for the impulse methods [Buttke(1993), Cortez(1995),
Feng et al.(2022)]. In the literature, (5.35) is treated as a non-trivial dynamical sys-
tem for each flowing particle Du Dt
= −(∇v) · u. The standard method for solving
this PDE is to further split the transport equation which brings about additional
instability due to the right-hand side stretching term.
ηt = e − Lv t η0 , (5.38)
= ψt∗ η0 . (5.39)
ut = (∇ψt )⊺ u ◦ ψt . (5.40)
Note the difference to the solution of vector-based Euler equation which is the
component-wise Lie-material derivative of a vector-valued 0-form u̇ + Lv u = 0
0-form
given by:
ut = u0 ◦ ψt . (5.41)
As opposed to the Impulse methods, the advection through the pullback operator
does not need the splitting of the stretching term, which allows for a more stable
transport equation.
Conservation of Circulation
Kelvin’s conservation¸ of circulation [Thomson(1868),
¸ Frisch and Villone(2014)] states
that the circulation C u · d l or equivalently C ηt , around every closed loop is con-
served. Since the solution to the covector-based transport is simply the pullback
of the 1-form field ηt = ψt∗ η0 , this conservation law follows naturally according to
Theorem 2.1. Concretely:
˛ ˛
∗
ψt η0 = η0 . (5.42)
C ψ(C )
ψ(x)
∂
∂t
w + v · ∇w − w · ∇v = ⟨∇u × ∇v⟩. (5.43)
This modified vorticity equation deviates from the correct vorticity equation by a
term ⟨∇u × ∇v⟩.
a
In index notation ⟨∇u × ∇v⟩i = ϵijk ∂j u ℓ ∂k v ℓ .
d and Lv , we obtain ∂t
∂
ω + Lv ω = 0 for the vorticity 2-form ω = d η. In 3D, the
relationship between the 2-form ω = d u♭ and the vector field w = curl u is given by
ω = iw µ where µ ∈ Ω3 (M ) is the volume form. Using this relationship we obtain
∂ ∂
0 = ∂t ω + Lv ω = ∂t (iw µ) + Lv (iw µ)
= i∂w/∂t µ + i[v,w] µ + iw Lv µ (Lv µ = 0 since div v = 0)
| {z }
= i(∂w/∂t +[v,w]) µ, =0
where in the second line we used the identity of Lie derivative on contraction
Lv (iw α) = i[v,w] α + iw (Lv α). Therefore, ∂t
∂
w + [v, w] = 0. Finally, we arrive at
(5.44) by substituting [v, w] = ∇v w − ∇w v under Theorem 2.27.
By advancing u via the covector transportation (5.35) or (5.37), we implicitly solve
the vorticity equation (5.44), which is the modeling equation for vortex methods.
The ability to solve (5.44) at the velocity level without using the vorticity variable is
significant. Previous vortex methods which solve (5.44) have to include an expensive
integration that converts vorticity back to velocity.
Commutativity between covector transportation and pressure projection
In a traditional fluid solver, the splitting error between traditional advection and
the projection arises because two operations do not commute. Here we show that
advection and projection commute in CF. This property of CF fundamentally removes
the splitting error of these two operations.
Consider the equivalence classes of Ω1 (M ) where [ξ] = [η] whenever ξ −η = d φ for
some function φ. This is a natural abstraction for our discussion since two covector
fields are equivalent if and only if they share the same pressure projection result.
124 Chapter 5. Fluid Dynamics
and apply Theorem 2.11 so that the pullback of an exact differential is still exact.
Therefore, whether one first projects then advects, advects then projects, or inserts a
projection (or reflection [Zehnder et al.(2018)]) at the halfway point of the advection,
one will obtain covector fields all in the same equivalence class and hence the same
divergence-free representative.
Note that the same argument does not apply to the traditional advections. The
transportation with a simple value look-up (5.41) generally turns an exact gradient
vector field into a non-gradient field.
Then the velocity covector field at the current time t is the pressure projection of
ηt = ψt∗ η0 . (5.48)
R CF+MCM is subtly different from the traditional MCM. The latter requires
an accumulation of the pressure gradient over time whereas the former does
not. In the traditional MCM [Qu et al.(2019)], one evaluates ut by (5.24)
integrating over time along particle trajectories:
´t
ut (x) = u0 (ψt (x)) + 0 (∇pτ )(ϕτ (ψt (x))) d τ. (5.49)
5.3 Conclusion 125
As omitted in (5.48), the second terms in (5.50) and (5.51) can be absorbed
in a single pressure projection as they are exact differentials. This is possible
since d (resp. ∇) in (5.50) (resp. (5.51)) can be pulled out of the integral by the
commutativity property (cf. Theorem 2.11) between d and pullback operators.
By contrast in (5.49), the ∇ in the pressure term cannot be pulled out of the
´t
time integral. The accumulated pressure 0 (∇pτ ) ◦ ϕτ ◦ ψt d τ is generally not
an exact gradient. Therefore, a traditional MCM must carefully record the
accumulated pressure. This procedure is entirely removed in CF+MCM.
5.3 Conclusion
One can write the equations of motion of fluid mechanics following the same process
established in the previous chapter. While this gets us to a vector-based Euler
equation following the conservation of linear momentum, with a modified procedure
of minimizing action in the Lagrangian frame, one can write the same equations of
motion in terms of velocity covector. These equation reveal multiple benefits when
it comes to simulating incompressible ideal fluids, since the formulation naturally
guarantees the preservation of circulation while involving a simple modification by
multiplying the looked up velocity with the inverse transpose of the flow map’s
jacobian (i.e. u ← (∇ψt )⊺ u ◦ ψt as opposed to u ← u ◦ ψt ). Additionally, this
formulation completely removes the splitting error between the pressure projection
and advection steps as it follows the commutativity between exterior derivative
and the pullback operator. The method emulates a vorticity-based Euler equation,
which is preferable in vortex-dominated flows, without incurring instability due to
the stretching term as the pullback operator is exact solution to the Lie-material
derivative for 1-form velocity field. This natural solution also allows for using long-
term method of characteristics mapping since the pullback operator remains the
exact solution regardless of the duration of the timesteps.
III
Appendix
Bibliography . . . . . . . . . . . . . . . . . . . . . 129
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Bibliography
[Frisch and Villone(2014)] Uriel Frisch and Barbara Villone. 2014. Cauchy’s almost
forgotten Lagrangian formulation of the Euler equation for 3D incompressible
flow. The European Physical Journal H 39, 3 (2014), 325–351.
[Nicolet et al.(2021)] Baptiste Nicolet, Alec Jacobson, and Wenzel Jakob. 2021. Large
steps in inverse rendering of geometry. ACM Transactions on Graphics (TOG)
40, 6 (2021), 1–13.
[Qu et al.(2019)] Ziyin Qu, Xinxin Zhang, Ming Gao, Chenfanfu Jiang, and Baoquan
Chen. 2019. Efficient and conservative fluids using bidirectional mapping. ACM
Transactions on Graphics (TOG) 38, 4 (2019), 1–12.
[Sato et al.(2018)] Takahiro Sato, Christopher Batty, Takeo Igarashi, and Ryoichi
Ando. 2018. Spatially adaptive long-term semi-Lagrangian method for accurate
velocity advection. Computational Visual Media 4, 3 (2018), 223–230.
[Sellán et al.(2021)] Silvia Sellán, Jack Luong, Leticia Mattos Da Silva, Aravind
Ramakrishnan, Yuchuan Yang, and Alec Jacobson. 2021. Breaking Good:
Fracture Modes for Realtime Destruction. arXiv preprint arXiv:2111.05249
(2021).
[Soliman et al.(2021)] Yousuf Soliman, Albert Chern, Olga Diamanti, Felix Knöppel,
Ulrich Pinkall, and Peter Schröder. 2021. Constrained Willmore surfaces. ACM
Transactions on Graphics (TOG) 40, 4 (2021), 1–17.
[Tessendorf and Pelfrey(2011)] Jerry Tessendorf and Brandon Pelfrey. 2011. The
characteristic map for fast and efficient vfx fluid simulations. In Computer
Graphics International Workshop on VFX, Computer Animation, and Stereo
Movies. Ottawa, Canada.
[Wang and Chern(2021)] Stephanie Wang and Albert Chern. 2021. Computing
minimal surfaces with differential forms. ACM Transactions on Graphics (TOG)
40, 4 (2021), 1–14.
BIBLIOGRAPHY 131
[Yang et al.(2021)] Shuqi Yang, Shiying Xiong, Yaorui Zhang, Fan Feng, Jinyuan
Liu, and Bo Zhu. 2021. Clebsch gauge fluid. ACM Transactions on Graphics
(TOG) 40, 4 (2021), 1–11.
[Yin et al.(2023)] Hang Yin, Mohammad Sina Nabizadeh, Baichuan Wu, Stephanie
Wang, and Albert Chern. 2023. Fluid cohomology. ACM Transactions on
Graphics (TOG) 42, 4 (2023), 1–24.
[Zhang et al.(2015)] Xinxin Zhang, Robert Bridson, and Chen Greif. 2015. Restoring
the missing vorticity in advection-projection fluid solvers. ACM Transactions
on Graphics (TOG) 34, 4 (2015), 1–8.
[Zhao et al.(2020a)] Shuang Zhao, Wenzel Jakob, and Tzu-Mao Li. 2020a. Physics-
based differentiable rendering: from theory to implementation. In ACM SIG-
GRAPH 2020 Courses. 1–30.
[Zhao et al.(2020b)] Shuang Zhao, Wenzel Jakob, and Tzu-Mao Li. 2020b. Physics-
based differentiable rendering: from theory to implementation. In ACM siggraph
2020 courses. 1–30.
Index
exterior derivative, 44
function, 28
interior product, 43
metric, 100
vector field, 58
wedge product, 43
Pullback bundle, 96
Pushforward, 26
Quadratic form, 19
Section, 25
Sharp, 21
Singular value decomposition, 24
St. Venant–Kirchhoff model, 109
Stokes theorem, 45
Strain, 108
Strain energy density function, 101, 107
Stress–strain relation, 102
Tangent bundle, 24
Tangent space, 24
Tangent vector, 24
Tensor, 93
Tensor power, 94
skew-symmetric, 95
symmetric, 95
Tensor product, 93
Tensor product bundle, 94
Traction force, 92
Unitary, 23
Vector, 16
Vector fields, 24
Vector quadruple product, 42
Vector triple product, 42
Vorticity, 120