elasticity & discretization - university of waterlooc2batty/courses/cs888_2014/lecture3.pdfย ยท...
TRANSCRIPT
Elasticity & DiscretizationJan 14, 2014
Schedule
โข First round schedule is almost completeโ if you havenโt picked a paper yet, email me ASAP!
โข Weโll have two round of presentations.
โข For final third of the course, longer group discussions instead.
Elasticity
Elasticity
An elastic object is one that, when deformed, seeks to return to some reference of rest configuration.
Previously: discrete mass/spring models.Today: more principled, โcontinuum mechanicsโ approach.
Generalize 1D elasticity (springs) to 3D objects.
Will roughly follow Sifakisโ SIGGRAPH course: http://run.usc.edu/femdefo/sifakis-courseNotes-TheoryAndDiscretization.pdf
Continuum Mechanics
View the material under consideration as a continuous mass, rather than a collection of particles/atoms.
Useful model for both solids and fluids.
Not always applicable: e.g., at tiny scales, during some kinds of fracture, etc.
v.s.
Elasticity - Springs
Recall: (Linear) spring force is dictated by displacement, โ๐ฅ = ๐ฟ โ ๐ฟ0, away from rest length (Hookeโs law).
๐น = โ๐โ๐ฅ
This follows from its potential energy:
U =1
2๐(โ๐ฅ)2
i.e., force acts to drive potential energy towards zero.
Conservative Forces
A spring force is an example of a conservative force โ it depends only on the current state (path-independent).
For such forces, given potential energy ๐, the force is ๐น = โ๐ป๐.
Thus, we seek a potential energy that is zero when our 3D object is undeformed.
Elasticity โ 3D
How can we generalize these notions to three-dimensional volumes of material?
First, need a way to describe 3D deformations.
Deformation Map
A function ๐ that maps points from the reference configuration ( ๐) to current position in world space ( ๐ฅ).
๐: โ3 โ โ3
Similar to the state/transform of a rigid body, except points in the body may all have different transformations.
Deformation Map, ๐
๐: โ3 โ โ3
๐ ๐ฅ
Reference/rest/undeformedconfiguration:
World/deformed configuration:
Deformation Gradient, ๐น =๐๐
๐๐
๐
๐ฅ
Reference/rest/undeformedconfiguration:
World/deformed configuration:
๐ + ๐๐ ๐ฅ + ๐๐ฅ
๐: โ3 โ โ3
Deformation Gradient
Shape changes are indicated by local differences in the deformation map, ๐.
This is reflected in the deformation gradient (wrt. reference configuration X.)
๐ญ =๐๐
๐ ๐=
๐๐1๐๐1
๐๐1๐๐2
๐๐1๐๐3
๐๐2
๐๐1
๐๐2
๐๐2
๐๐2
๐๐3๐๐3
๐๐1
๐๐3
๐๐2
๐๐3
๐๐3
Deformation Gradient
For some offset position from ๐, say ๐ + ๐๐, what is the corresponding world position?
๐ฅ + ๐๐ฅ = ๐ ๐ + ๐๐ โ ๐ ๐ +๐๐
๐ ๐๐๐ = ๐ฅ + ๐ญ๐๐
Deformation gradient describes how particle positions have changed relative to one another.
Translation
Relative deformation
Taylor expandโฆ
Deformation Gradient
Examples of deformations:
Translation: ๐ฅ = ๐( ๐) = ๐ก + ๐ implies ๐น = ๐ผ.
Uniform Scaling: ๐ฅ = ๐ ๐ = ๐ ๐ implies ๐น = ๐ ๐ผ.
Rotation: ๐ฅ = ๐ ๐ = ๐ ๐ implies ๐น = ๐ .
One Possible Potential Energy
What if we use ๐น directly to construct a potential energy?
U ๐น =๐
2๐น โ ๐ผ ๐น
2
Resulting forces will drive ๐น towards ๐ผ, i.e., a deformation that is (just) a translation.
Whatโs wrong with this?
Strain Measures
Want a deformation measure that ignores rotation (and translation), but captures other deformations.
Can we extract this from ๐น?
Recall: Rotation matrices are orthogonal, ๐ ๐๐ = ๐ผ.
So a useful measure is Green/Lagrange strain tensor, E =1
2(๐น๐๐น โ ๐ผ).
Ignores translation and rotation, retains shear/stretch/compression.
Strain Measures
But, Green strain is nonlinear (quadratic), so more costly.
For small deformations, use small/infinitesimal/Cauchy strain:
๐ =1
2(๐น๐ + ๐น) โ ๐ผ
(A linearization of Green strain.)
Many other strain tensors exist (and these two have many names)โฆ
Equations of Motion
Consider F=ma for a small, continuous blob of material.
ฮฉ
๐น๐๐๐๐ฆ๐๐ + ๐ฮฉ
๐๐๐ = ฮฉ
๐ ๐ฅ๐๐
F: body forces that act throughout the material (e.g. gravity, magnetism, etc.) force per unit volume (i.e., force density).
๐: tractions, i.e., force per unit area acting on a surface.
ฮฉ is the region of material being considered.
Traction
Traction T is the force (vector) per unit area on a small piece of surface.
๐( ๐, ๐) = lim๐ดโ0
๐น
๐ด
Cauchyโs postulate:
Traction is a function of position ๐ and normal ๐.
i.e., doesnโt depend on curvature or other properties.
Consists of normal/pressure component along ๐, and tangential/shear components perpendicular to it.
๐ ๐
Traction
Consider the internal traction on any slice through a volume of material.
This describes the forces acting on this plane between the two โsidesโ.
Note: T(x,n) = -T(x,-n)
Traction
We can characterize internal forces by considering tractions on 3 perpendicular slices (i.e., normals along x, y, z directions).
3 components per traction along 3 axes gives us 9 components.
This gives us the Cauchy stress tensor, ๐.
Traction on any plane can be recovered with: ๐ = ๐๐
Stress
The 3x3 stress tensor describes the forces acting within a material.
๐ =
๐๐ฅ๐ฅ ๐๐ฅ๐ฆ ๐๐ฅ๐ง๐๐ฆ๐ฅ ๐๐ฆ๐ฆ ๐๐ฆ๐ง๐๐ง๐ฅ ๐๐ง๐ฆ ๐๐ง๐ง
๐ can be shown to be symmetric, i.e., ๐๐ฆ๐ฅ = ๐๐ฅ๐ฆ, etc. (from conservation of angular momentum.)
Stress โ Meaning?
Diagonal components correspond to compression/extension.
Off-diagonal components correspond to shears.
Equations of motion
ฮฉ
๐น๐๐๐๐ฆ๐๐ + ๐ฮฉ
๐๐๐ = ฮฉ
๐ ๐ฅ๐๐
โข Plug in ๐ = ๐๐โฆ
ฮฉ
๐น๐๐๐๐ฆ๐๐ + ๐ฮฉ
๐๐๐๐ = ฮฉ
๐ ๐ฅ๐๐
โข Integrate by parts (divergence theorem) to eliminate surface integral:
ฮฉ
๐น๐๐๐๐ฆ๐๐ + ฮฉ
๐ป โ ๐๐๐ = ฮฉ
๐ ๐ฅ๐๐
In the limit, ๐น๐๐๐๐ฆ + ๐ป โ ๐ = ๐ ๐ฅ, for every infinitesimal point.
Big Picture โ So Far
โข Deformation map ๐ describes map from rest to world state
โข Deformation gradient ๐น describes deformations (minus translation)
โข Strains ๐ or E describe deformation (minus rotation)
โข Stress ๐ describes forces in material
โข PDE ๐น๐๐๐๐ฆ + ๐ป โ ๐ = ๐ ๐ฅ describes how to apply stress to get motion
โข (Later, will discretize the PDE to get discrete equations to solve.)
Missing step!
Constitutive models
Strain E/ ๐ describes deformations of a body.
Stress ๐ describes (resulting) forces within a body.
Constitutive models dictate the stress-strain relationship in a material. (Why rubber responds differently than concrete.)
i.e., Given some deformation, what stresses (forces) does it induce?
(e.g., linear spring force, F=-kx. )
Linear elasticity - simplest isotropic model
Hookeโs law in 3D, for small strain, ๐.
Potential Energy:
๐ ๐น = ๐๐: ๐ +๐
2tr2(๐)
Stress:๐ = 2๐๐ + ๐tr(๐)๐ผ
๐, ๐ are the Lamรฉ parameters, one choice of โelastic moduliโ.
โtrโ is the trace operator (sum of diagonals)
โ:โ is a tensor double dot product, where ๐ด:๐ต = tr(๐ด๐๐ต)
Linear Elasticity
โข Can see it is linear by expressing in matrix/vector form
โข Flatten 3x3 tensors ๐ and ๐ into vectors.
โข Isotropy and symmetry of ๐/๐ reduce 81 coeffs down to 2 independent parameters.
๐๐ฅ๐ฅ๐๐ฅ๐ฆ๐๐ฅ๐ง๐๐ฆ๐ฅ๐๐ฆ๐ฆ๐๐ฆ๐ง๐๐ง๐ฅ๐๐ง๐ฆ๐๐ง๐ง
= 9๐ฅ9 ๐๐๐๐๐๐๐๐๐๐๐ก ๐๐๐ก๐๐๐ฅ
๐๐ฅ๐ฅ๐๐ฅ๐ฆ๐๐ฅ๐ง๐๐ฆ๐ฅ๐๐ฆ๐ฆ๐๐ฆ๐ง๐๐ง๐ฅ๐๐ง๐ฆ๐๐ง๐ง
Other Elastic moduli
More common/intuitive (but interconvertible) parameter pair is Poissonโs ratio, ๐, and Youngโs modulus, E, or Y. (Careful overloading E).
๐ =๐
2(1 + ๐)
andโฆ
๐ =๐๐
(1 + ๐)(1 โ 2๐)
Elastic Moduli โ Youngโs modulus
Youngโs modulus:
โข Ratio of stress-to-strain along an axis.
โข Should be consistent with linear spring.
Elastic moduli โ Poissonโs ratio
โข Poissonโs ratio is negative ratio of transverse to axial strain.โข If stretched in one direction, how much does it compress in the others?
โข Expresses tendency to preserve volume.
โข 0.5 = incompressible (e.g., rubber)
โข 0 = no compression (e.g., cork)
โข Negative is possible, though weird...
The โlinearโ in linear elasticity
โข Describes the stress-strain relationship.
โข But, strain itself could still be either linear (small strain, ๐) or nonlinear (Green strain, E) in the deformation.
Use E instead of ๐ with the same equations gives:
๐ ๐น = ๐๐ธ: ๐ธ +๐
2tr2(๐ธ)
Better for larger deformations/rotations. (AKA St. Venant Kirchhoff model)
Other models
โข Corotational linear elasticity:โข Try to factor out the rotational part of strain, treat the remainder with linear
elasticity.
โข Weโll see this idea in the โInteractive Virtual Materialsโ paper
โข Neo-Hookean elasticity:โข St.V-K breaks down under large compression (stops resisting)
โข Neo-Hookean is a nonlinear model that corrects this
Common Discretization
Methods
Discretization
Need to turn our continuous modelโฆ
๐น๐๐๐๐ฆ + ๐ป โ ๐ = ๐ ๐ฅ
โฆinto a discrete model that approximates it (and thus can be computed).
Common choices: Finite difference (FDM), finite volume (FVM), and finite element methods (FEM).
Iโll give a brief flavour, butโฆ โข Thereโs a truly vast literature. (See e.g. Numerical PDE course, CS778.)
Discretization
โข Notice: Time integration schemes (FE, RK2, BE, etc.) are just discretizations of time derivatives, along the 1D time axis.
โข We will distinguish time discretization from spatial discretization.
Finite differences
Dice the domain into a grid of sample points
holding the relevant data.
Replace all (continuous) derivatives with finite approximations.
e.g., ๐๐ฆ
๐๐ฅโ๐ฆ ๐ฅ + โ๐ฅ โ ๐ฆ ๐ฅ
โ๐ฅ
Finite differences
Quite common for fluidsโฆ less so for elastic solids.
Some graphics papers use FDM for solids: e.g., โAn efficient multigrid method for the simulation of high-resolution elastic solidsโ
Advantages: maybe simpler, grid structure offers various optimizations, cache coherent memory accessesโฆDisadvantages: trickier for irregular shapes, boundary conditions
Finite volume
โข Divide the domain up into a set of non-overlapping โcontrol volumes.โ
โข Could be irregular, tetrahedra, hexahedra, general polyhedral, etc.
โข Apply the relevant equations to each discrete control volume.
Figure from the DistMesh gallery:http://persson.berkeley.edu/distmesh/gallery_images.html
Finite volume
Instead of differential/strong form, return to the integral form of equationsโฆ
ฮฉ
๐น๐๐๐๐ฆ๐๐ + ฮฉ
๐ป โ ๐๐๐ = ฮฉ
๐ ๐ฅ๐๐
Convert divergence terms into surface integrals by divergence thโm.
e.g. ฮฉ ๐ป โ ๐๐๐ = ๐ฮฉ๐ โ ๐๐๐
โ
๐๐๐๐๐ ๐
(๐๐โ ๐๐)๐ฟ๐
Integrate remaining terms to get volume-averaged quantities per cell.
๐๐ฟ
Finite volume
Convenient for conserved quantities: โข Exact โflowโ leaving one cell enters the next.
โข E.g. liquid volume,
Easily applied to irregular shapes.โข โฆIF you have a mesh of the domain.
Particularly common in fluids/CFD.
See e.g., โFinite Volume Methods. for the Simulation of Skeletal Muscleโ for a nice step by step description of FVM applied to elasticity in graphics.
Finite element methods
Core idea: Canโt solve the infinite dimensional, continuous problem โinstead find a solution that we can represent, in some finite dimensional subspace.
Concretely, choose a representation of functions on a discrete mesh, and weโll try to find the โbestโ solution that it can describe.
Finite elements โ basis functions
In 1D, consider the space of functions representable by (piecewise) linear interpolation on a set of grid points.
Just a linear combination of scaled and translated โhatโ functions at each gridpoint, called a basis function.
Many others bases possible (e.g. higher order polynomials).
Finite elements
Then, any function ๐ข in this space can be described by:
๐ข ๐ฅ =
๐=1
๐
๐ข๐๐ฃ๐(๐ฅ)
where ๐ข๐ are the coefficients, and ๐ฃ๐ ๐ฅ are the basis functions, (โhatsโ in our case.)
To find a solution to a problem, want to find the discrete set of coefficients, ๐ข๐. (Recover the actual shape by interpolation.)
Higher dimensional spaces
This generalizes to higher dimensions.
e.g., two dimensions:
2D mesh with numbered nodes. 2D linear basis function.
Finite elements
1D model problem: ๐2๐ข
๐๐ฅ2= ๐ on [0,1], with ๐ข 0 = 0, ๐ข 1 =0.
For given ๐, find ๐ข.
For a proper solution, it will also be true that
๐2๐ข
๐๐ฅ2๐ฃ๐๐ฅ = ๐๐ฃ๐๐ฅ
for โtest functionsโ ๐ฃ (that are smooth and satisfy the BC).
Finite elements
Integrate LHS by parts to get:
๐๐ข
๐๐ฅ
๐๐ฃ
๐๐ฅ๐๐ฅ = ๐๐ฃ ๐๐ฅ
This is called the weak form of the PDE.
Now, we will replace ๐ข, ๐, and ๐ฃ with our space of discrete, piece-wise linear functions.
Finite elements
Specifically:
โข ๐ข ๐ฅ = ๐=1๐ ๐ข๐๐ฃ๐(๐ฅ)
โข ๐ ๐ฅ = ๐=1๐ ๐๐๐ฃ๐(๐ฅ)
โข ๐ฃ ๐ฅ = ๐ฃ๐ ๐ฅ for j = 1 to n
From our simple (hat) basis functions, we can exactly find the inner products:
๐ฃ๐ , ๐ฃ๐ = ๐ฃ๐๐ฃ๐ ๐๐ฅ
๐(๐ฃ๐๐ฃ๐) = ๐๐ฃ๐๐๐ฅ
๐๐ฃ๐๐๐ฅ
๐๐ฅ
Finite elements
Plug in, do some manipulation, and ๐๐ข
๐๐ฅ
๐๐ฃ
๐๐ฅ= ๐๐ฃ becomes a set of n
discrete equations of the form:
Unknown coefficients
Known inner products
Known inner products
๐=1
๐
๐ข๐ ๐ ๐ฃ๐ , ๐ฃ๐ =
๐=1
๐
๐๐ ๐ฃ๐ , ๐ฃ๐
Known input data
Final system
Letting ๐ฎ be the vector of unknown coefficients, and ๐ the RHS vector, this becomes a matrix equation:
L๐ฎ = ๐
where the entries of L are just the ๐ ๐ฃ๐ , ๐ฃ๐ โs we defined.
See paper โGraphical Modeling and Animation of Brittle Fractureโ for details of an early application of FEM to elasticity in graphics.
Example
Discretization
โข For FDM/FVM/FEM, much like mass springs, we get a (possibly nonlinear) system of equations to solve for data stored on a discrete mesh/grid.
โข However: โข we can use physically meaningful parameters.
โข as the mesh resolution increases, we can approach a true/real solution.
โข behaviour is independent of the mesh structure (under refinement!)