It’s a way to find a numerical solution to a set of partial differential equations.
Here are the basics steps in the finite element method. 1. Notice that instead of viewing the object as a set of segments, FEM views it as a set of sample points. 3. It’s easiest to apply finite differences if the nodes are square, so that the mesh forms a grid. 4. Nodal values include position, temperature, and force.
6. There are two ways to apply FEM: to model static or dynamic problems. In a static problem, we find the values at the nodes at equilibrium, or after an infinite amount of time. In a dynamic problem, we find the values at the nodes at the next time step. 7. The interpolation equations are applied after the values at the nodes have been found. They are a way of applying the solution, but they usually are not used to find the solution. However, in the Galerkin method, which we’ll discuss briefly later, the form of the interpolation equations do hel p determine the form of the equation used to find the solution.
Of course, since we don’t just display a mesh, we’ll interpolate points between the elements and cover them with a patch.
Now I’ll discuss some interpolation equations.
I’ll start with 1D cubic Hermite splines as an example. We assume two forms of the function governing the value r(u) of a node u. The first form assumes that r is a cubic equation. The second form assumes that r can be written as a weighted sum of the nodes within the element. The values of the weights are not constant -- they themselves are functions of u. In FEM terminology, these weights are called shape functions. In spline terminology, these weights are called blending functions. People from our COMP 236 class will be familiar with the following discussion.
To get a generalized form of the Hermite functions, we’ll apply a transformation to normalize the nodes of an element to [0,1]. After we interpolate, we can then apply the inverse transformation to put the nodes back into the original space. We can write the cubic equation as a matrix equation of the 4 nodes taken at 1/3 intervals.
Plugging the coefficients into the cubic equation and writing in terms of the shape functions N is equivalent to simply changing the associativity of the matrix multiplication. The vector of N’s is the set of values of the shape functions at a particular u-value. Since the shape functions are weights, they are guaranteed to be in [0,1].
If we plot these values of the shape functions (where are called H’s here) vs. u (which is called t here), we find the following. The green curve represents the cubic Hermite curve that results from multipling these shape functions by the values at their corresponding nodes and summing up the results.
Here are more examples of 1D interpolating equations. Here, alpha represents the shape functions, and T represents the value at a node.
In the variational method, we start with an integral and attempt to find the function that minimizes it. This method is valid only if the function satisfies the governing differential equation. This variational function was given in my Schaum’s Outlines book, using generic variables. Here, I use position w, force f, density mu, and damping density gamma. If we minimize this function with respect to w under the conditions that the elastic potential energy density has this form and the coefficients have these forms, then we get Lagrange’s equation. This is very magical, indeed.
The Galerkin method goes in reverse: We start with a differential equation and attempt to find the equation that satisfies it. This is where the shape functions actually help determine the solution.
We have a tapered beam of these dimensions, and we apply a force at one end. We want to approximate the resulting stretch.
The infinitessimal stretch can be computed as PL/AE. The total stretch is the integral over the entire length of the infinitessimal stretch. Since the beam is tapered, the height varies, so we cannot pull the 1/h out of the integral and compute the result directly.
If we wanted to, we could integrate to find the solution analytically. But as an illustration, we will not do that. Instead, we’ll apply a very simple version of FEM to approximate the solution numerically.
Divide the object into four elements in one dimension. Vary their heights to approximate the slope of the beam.
As a simple example, set up a local model rather than a global model. Use Hooke’s Law, rather than a differential equation paired with one of the methods discussed earlier.
Rewrite Hooke’s Law as a matrix equation. This matrix is called a stiffness marix, because it incorporates constants that characterize material properties. This is a local stiffness matrix because it applies to just one element. The set of local stiffness matrices will be assembled into a global matrix that applies to all the elements in the object.
Do the same for all elements.
Set up the global stiffness matrix by padding the element stiffness matrices with zeros and summing them up.
Here’s the resulting global stiffness matrix. Notice that nodes that border two elements have two k-values that multiply them. If all the k-values are the same, then the material is homogeneous; otherwise, the material is heterogeneous.
The preceding example was for a simple elastic case. Materials behave elastically only under certain conditions.
If these conditions aren’t met, then the material behaves inelastically. When I say that a material is “elastic,” what I mean is that it is currently behaving elastically. But remember that the behavior is determined by not only the behavior, but also the conditions.
Next I’ll show examples of elasticity and inelasticity to provide some intuition.
Next I’ll show some graphs of stress and strain that illustrate the behavior of elastic vs. inelastica materials.
The graph on the left shows that the stretch is linearly proportional to the applied force, just as predicted by Hooke’s Law. The graph on the right shows exactly the same thing in the forward direction, and it also shows that the identical behavior exists in the reverse direction, as the force is removed.
The damped elastic case is almost exactly the same, except the graphs are raised by some constant times the velocity of the stretch. Here, I am assuming that the velocity of the stretch is constant, which is not really realistic.
In viscoelastic deformation, the velocity of stretch is linearly proportional to the stretch. The equation shows even more complication. Further, the graph on the right shows that if a constant force is applied and let sit on the spring for a length of time, the spring stretches the most in the beginning and the least at the end. Think of the silly putty example: If the silly putty is thrown against a wall, it deforms the most in the beginning of its hit and the least at the end, until it bounces back.
In elastoplastic deformation, a threshold force that causes any amount of stretch causes an infinite amount of stretch, at a faster and faster rate, and hence eventual breakage. Initial force causes elastic deformation, but additional force at or beyond the threshold causes plastic deformation. Think of the taffy example: A threshold pull will make the taffy stretch faster and faster, until it eventually breaks.
There are two types of coordinates to which I’ll refer: world and object (called material in the papers). In the inelastic deformation paper, the position of a node is modeled as the sum of a reference position plus an elastic deformation. The reference position can be modified over time to incorporate inelastic deformations.
Previously, I showed a lot of equations for specific cases. We want a general equation that will fit all these cases. We could perhaps use the equation with the most terms, but instead…
…We use Lagrange’s equation for force. It seems that we could discretize the object and use a similar time-update approach as we used in our homework assignments. I’m not sure how the papers incorporated the FEM methods discussed earlier: Rayleigh-Ritz or Galerkin.
Here are the givens and the unknnowns. Remember that in general, we can compute any quantity associated with the nodes, not just position. Temperature and force are other common examples.
The last term in Lagrange’s equation is elastic potential energy density. Here I introduce a new squiggle because I’m running out of variables that look like “e” for energy.
The two papers model elastic potential energy density two different ways: tensors and splines. Coefficients reflecting material properties are incorporated into both. Tensors are measures of some quantity. When we learned about rigid-body dynamics, we saw an inertia tensor that measured the distribution of mass.
There are various types of norms, and each is a measure of the “magnitude” of a matrix. For instance, the Euclidean normis the sum of squares of components of the matrix. I’m not sure what a weighted norm is, but the material properties determine the weights.
Now I’ll show an overview of the derivation of the metric tensor.
This is in 2D.
We’ll subtract tensors and take the weighted norm to measure the magnitude of change in shape, or deformation.
On the other hand, elastic potential energy can be modeled as a controlled-continuity splin.e. This is best illustrated by staring or by looking at an example. But since we don’t have time to stare, we’ll look at an example.
For p = 2, d = 3, we have:
So that we don’t lose sight of the path we’ve followed, let’s recap. We started with Lagrange’s equation, rewrote the potential energy term in a general form, and used two different techniques for modeling the potential energy: tensors and splines.
Continuing on, we’ll simplify the integral for the tensors the approximate the elastic potential energy density. You know how it is -- if the math is too hard, throw out some terms.
On the other side, take the derivative of the elastic potential energy with respect to stretch. The paper does not describe what they do with this term -- perhaps they minimize it with respect to stretch? Don’t know.
Now we’ve modeled the basic elastic deformation. We must combine this with rigid body motion and inelastic deformation. This provdes a very general framework to model lots of things. Terzopoulos brags about this in his ‘88 paper.
Here are a bunch of equations that the paper throws out at the very end, like the grand finale of 100 fireworks in the timespan of 2 minutes at the end of the 4th of July. How they’re used exactly, I don’t know. Center of mass is defined as: … We like center of mass because we can apply translations to it as if it’s simply a point mass. It serves as the origin of the object coordinate system. The velocity of a point in the world is… We saw a similar equation when we studied rigid-body dynamics. Split the force into three components: translational, rotational, and elastic.
The velocity of a point in the world is the sum of the velocity of the center of mass, the rotational velocity, and the elastic velocity. The rotational velocity is computed as the cross product of angular velocity and radius, which is the same as the scalar product of angular velocity and radius because they are at right angles.
Here’s the inergia tensor used in the rotational force component.
The cross product of radius and elastic velocity indicates the angle between those things, so the derivative indicates a changing angle, which (I think) indicates rotation. I won’t hazard to guess the meaning of the 3rd term.
Here’s a whirlwind overview of the elastic term. These labels came from the paper. Since I can’t explain all these terms, let’s look at simple cases.
For no translation, rotation, or elastic acceleration, we have elastic behavior, just as we saw intuitively earlier from the graphs.
Now that we’ve gathered all these equations, hopefully we can put them to good use. We discretize and write as a matrix equation.
Here’s the discrete form of Lagrange’s equation.
The discretization of the elastic case is given in the paper. The derivation is not given. I won’ t go through it. The final result is a stiffness matrix times an unknown position vector (at the next timestep) is equal to some vector (evaluated at the previous timesteps).
Finally, we get to see some pretty pictures. Unfortunately, I couldn’t find animations from these papers. There is a collision force propelling this rug away from the cylinder.
In the Schaum’s Outlines FEM book, they tried to combine all the equations for an element into a single equation, so that a matrix for 3D elements was always 3N x 3N. So I’m not sure why there are so many equations here.
<ul><li>The finite element method is the formulation of a global model to simulate static or dynamic response to applied forces. </li></ul><ul><li>Models: energy, force, volume,… </li></ul><ul><li>This differs from a mass spring system , which is a local model . </li></ul>Definition of FEM
1. Set up a global model in terms of the world coordinates of mass points of the object. These equations will be continuous . 2. Discretize the object into a nodal mesh. 3. Discretize the equations using finite differences and summations (rather than derivatives and integrals). 4. Use (2) and (3) to write the global equations as a stiffness matrix times a vector of (unknown) nodal values. Top-Down: Steps in FEM
Top-Down: Steps in FEM <ul><li>6. Solve for the nodal values. </li></ul><ul><li>Static – nodal values at equilibrium </li></ul><ul><li>Dynamic – nodal values at next time step </li></ul><ul><li>7. Interpolate values between nodal coordinates. </li></ul>discretize interpolate + global model object nodal mesh interpolate values between nodes + local model 5 2 3 1 4 6 7 8 u
Bottom-Up: Steps in FEM Nodes are point masses connected with springs. A continuum equation is solved for the nodes, and intermediate points are interpolated. A collection of nodes forms an element . A collection of elements forms the object. 5 2 3 1 4 6 7 8 u
Elements and Interpolations Interpolating equations for an element are determined by the number and distribution of nodes within the element. More nodes mean higher degree, for smoother simulation.
Example: Hermite as 1D Cubic Interpolation Equation 1. Assume cubic equation equation using shape (blending) functions and u r
Example: Hermite as 1D Cubic Interpolation Equation 2. Normalize the element to [0,1] and rewrite as a matrix equation or
Example: Hermite as 1D Cubic Interpolation Equation 3. Solve for the coefficients Q 4. Plug the coefficients into the cubic equation 5. Rewrite the cubic equation in the form
Example: Hermite as 1D Cubic Interpolation Equation 4 + 5. are equivalent to the steps values at the 4 nodes of the element shape (blending) functions
Example: Hermite as 1D Cubic Interpolation Equation shape (blending) functions within one element Let u r
Static analysis is good for engineering, to find just the end result. Dynamic analysis is good for simulation, to find all intermediate steps. Static vs. Dynamic FEM
Types of Global Models  Variational - Find the position function, w ( t ) that minimizes the some variational integral. This method is valid only if the position computed satisfies the governing differential equations. Rayleigh-Ritz - Use the variational method assuming some specific form of w ( t ) and boundary conditions. Find the coefficients and exponents of this assumed form of w ( t ).
Example of Variational Method  Minimizing the variation w.r.t. w of the variational function under the conditions satisfies the governing equation, Lagrange’s Equation
Galerkin ( weighted residual ) - Minimize the residual of the governing differential equation, F ( w,w’,w’’,…,t ) = 0. The residual is the form of F that results by plugging a specific form of the position function w ( t ) into F . Find the coefficients and exponents of this assumed form of w ( t ). Types of Global Models 
We can approximate w ( t ) using Hooke’s Law Example of Galerkin Method  If we use that equation to compute the 1st and 2nd time derivatives of w , then we can compute the residual as
Example of Static, Elastic FEM Problem : If you apply the pressure shown, what is the resulting change in length? Object
<ul><li>First step . Set up a continuum model: </li></ul><ul><li>F = force </li></ul><ul><li>P = pressure </li></ul><ul><li>A = area </li></ul><ul><li>L = initial length </li></ul><ul><li>E = Young’s modulus </li></ul>Entire length: Infinitessimal length: Example of Static, Elastic FEM
Since the shape is regular, we can integrate to find the solution analytically. But suppose we want to find the solution numerically. Next step . Discretize the object. Example of Static, Elastic FEM
Example of Static, Elastic FEM Discretization of object into linear elements bounded by nodes 1 2 3 4 n 1 n 2 n 3 n 4 n 5
Example of Static, Elastic FEM Next step . Set up a local model. Stress-Strain Relationship (like Hooke’s Law) Young’s modulus distance between adjacent nodes stress (elastic force)
Example of Static, Elastic FEM Next step . Set up a local (element) stiffness matrix. Rewrite the above as a matrix equation. Same for the adjacent element. element stiffness matrix nodal stresses nodal coordinates
Example of Static, Elastic FEM Now, all of the element stiffness matrices are as follows. r i is the x -coordinate of node u i 1 2 3 4 n 1 n 2 n 3 n 4 n 5
Example of Static, Elastic FEM Next step . Set up a global stiffness matrix. Pad the element stiffness matrices with zeros and sum them up. Example:
Example of Static, Elastic FEM Final step . Solve the matrix equation for the nodal coordinates. Global stiffness matrix. Captures material properties. Nodal coordinates. Solve for these! Applied forces
Elastic FEM <ul><li>A material is elastic if its behavior depends only on its state during the previous time step. </li></ul><ul><ul><li>Think: Finite state machine </li></ul></ul><ul><li>The conditions under which an “elastic” material behaves elastically are: </li></ul><ul><li>Force is small. </li></ul><ul><li>Force is applied slowly and steadily. </li></ul>
Inelastic FEM <ul><li>A material is inelastic if its behavior depends on all of its previous states. </li></ul><ul><li>A material may behave inelastically if: </li></ul><ul><li>Force is large - fracture, plasticity. </li></ul><ul><li>Force is applied suddenly and released, i.e., is transient - viscoelasticity. </li></ul><ul><li>Conditions for elastic vs. inelastic depend on the material. </li></ul>
Examples of Elasticity <ul><li>Elasticity </li></ul><ul><ul><li>Springs, rubber, elastic, with small, slowly-applied forces </li></ul></ul>
Examples of Inelasticity <ul><li>Inelasticity </li></ul><ul><li>Viscoelasticity </li></ul><ul><ul><li>Silly putty bounces under transient force (but flows like fluid under steady force) </li></ul></ul><ul><li>Plasticity </li></ul><ul><ul><li>Taffy pulls apart much more easily under more force (material prop.) </li></ul></ul><ul><li>Fracture </li></ul><ul><ul><li>Lever fractures under heavy load </li></ul></ul>
Linear and Nonlinear FEM Similarly to elasticity vs. inelasticity, there are conditions for linear vs. nonlinear deformation. Often these coincide, as in elastoplastic . = e
<ul><li>Hooke’s Law </li></ul><ul><li>Describes spring without damping </li></ul><ul><li>Linear range of preceding stress vs. strain graph </li></ul>Elastic Deformation Elastic vs. Inelastic FEM e e t loading unloading or stress strain Young’s modulus
Elastic vs. Inelastic FEM Damped Elastic Deformation e e t loading unloading viscous linear stress Rate of deformation is constant. a 1 e . a 1 e .
Viscoelastic Deformation Elastic vs. Inelastic FEM e e t loading unloading . viscous new term! This graph is actually viscous, but viscoelastic is probably similar Rate of deformation is greatest immediately after starting loading or unloading. depends on time t linear stress
Elastoplastic Deformation Elastic vs. Inelastic FEM e This graph is actually plastic, but viscoelastic is probably similar f e x x compare loading unloading loading x elastic plastic depends on force f e
Elastic vs. Inelastic FEM Fracture <ul><li>Force response is locally discontinuous </li></ul><ul><li>Fracture will propogate if energy release rate is greater than a threshold </li></ul>e x x loading unloading depends on force f
1. World coordinates w in inertial frame (a frame with constant velocity) 2. Object (material) coordinates r in non-inertial frame r(w,t) = r ref (w,t) + e(w,t) Elastic vs. Inelastic FEM 4,5 world, or inertial frame ref r object, or non-inertial frame origin of = center of mass in
<ul><li>Transform </li></ul><ul><li>reference component r ref </li></ul><ul><li>elastic component e </li></ul><ul><li>object frame w.r.t. world frame </li></ul>r(w,t) = r ref (w,t) + e(w,t) Elastic vs. Inelastic FEM 4,5 ref r
Elastic vs. Inelastic FEM <ul><li>All these equations are specific for: </li></ul><ul><li>Elasticity </li></ul><ul><li>Viscosity </li></ul><ul><li>Viscoelasticity </li></ul><ul><li>Plasticity </li></ul><ul><li>Elastoplasticity </li></ul><ul><li>Fracture </li></ul><ul><li>( not mentioned ) “Elastoviscoplasticity” </li></ul><ul><li>Ideally : We want a general equation that will fit all these cases. </li></ul>
Elastic vs. Inelastic FEM 4,5 A More General Approach To simulate dynamics we can use Lagrange ’s equation of strain force . At each timestep, the force is calculated and used to update the object’s state (including deformation). stress component of force mass density damping density elastic potential energy Lagrange’s Equation
Elastic vs. Inelastic FEM 4,5 Given : Mass density and damping density are known. Elastic potential energy derivative w.r.t. r can be approximated using one of various equations. The current position w t of all nodes of the object are known. Unknown : The new position w t + dt of nodes is solved for at each timestep. vector vector matrices Lagrange’s Equation next slide
Elastic vs. Inelastic FEM 4,5 For both elastic and inelastic deformation, express elastic potential energy as an integral in terms of elastic potential energy density . elastic potential energy density elastic potential energy
Elastic vs. Inelastic FEM 4,5 <ul><li>Elastic potential energy density can be approximated using one of various equations which incorporate material properties. </li></ul><ul><li>Elastic deformation : Use tensors called metric (1D, 2D, 3D stretch), curvature (1D, 2D bend), and “ twist ” (1D twist). </li></ul><ul><li>Inelastic deformation : Use controlled-continuity splines . </li></ul>
Elastic FEM 4 <ul><li>For elastic potential energy density in 2D, use </li></ul><ul><li>metric tensors G (for stretch) </li></ul><ul><li>curvature tensors B (for bend) </li></ul>|| M || = weighted norm of matrix M
Elastic FEM 4 Overview of derivation of metric tensor Since the metric tensor G represents stretch, it incorporates distances between adjacent points. world coordinates object coordinates
Elastic FEM 4 Overview of metric and curvature tensors . From the previous slides, we found: Similarly: represents stretch represents bend Theorem . G and B together determine shape.
Elastic FEM 4 For elastic FEM, e lastic potential energy density in 2D incorporates changes in the metric tensor G and the curvature tensor B . || M || = weighted norm of matrix M weights = material properties
Inelastic FEM 5 For inelastic FEM, elastic potential energy density is represented as a controlled-continuity spline . For some degree p , dimensionality d , compute the sum of sums of all combinations of weighted 1 st , 2 nd ,…, m th derivatives of strain e w.r.t. node location r , where m <= p . weighting function = material property
Inelastic FEM 5 Then the elastic potential energy density derivative w.r.t. strain e is: weighting function = material property Example : p = 2, d = 3
Elastic vs. Inelastic FEM 4,5 Inelastic Elastic Recap Lagrange’s Eq’n total force (includes stress) elastic potential energy elastic potential energy density 4 5 5 material properties How it has been expanded and is continuing to be expanded...
Elastic FEM 4 Continuing elastic potential energy >0: surface wants to shrink <0: surface wants to expand >0: surface wants to flatten <0: surface wants to bend
Inelastic FEM 5 Continuing Deformation has been modeled by approximating elastic potential energy. elastic potential energy elastic potential energy density strain
Inelastic FEM 5 Continuing Now rigid-body motion and other aspects of deformation must be computed using physics equations of motion. In this way, both (in)elastic deformation and rigid-body motion can be modeled, providing a very general framework. r(w,t) = r ref (w,t) + e(w,t)
Inelastic FEM 5 Motion of object (non-inertial) frame w.r.t. world (inertial) frame Combines dynamics of deformable and rigid bodies elastic rot trans
Inelastic FEM 5 Velocity of node of object (non-inertial) frame w.r.t. world (inertial) frame (radians / sec) x (radius) Identically, in another coordinate system, r(w,t) = r ref (w,t) + e(w,t) w.r.t. object velocity of reference component velocity of elastic component w.r.t. world
Inelastic FEM 5 rot angular momentum inertia tensor Angular momentum is conserved in the absense of force. So a time-varying angular momentum indicates the presence of foce.
Inelastic FEM 5 rot indicates changing angle between position and direction of stretch
Inelastic FEM 5 If the reference component has no translation or rotation, then Furthermore, if the elastic component has no acceleration, then elastic inertial centripetal Coriolis transverse damping elastic potential energy strain restoring
Inelastic FEM 5 Recall that non-elastic behavior is characterized by acceleration of the elastic component (strain)... And elastic behavior is characterized by constant velocity of strain. loading x e
<ul><li>Now Lagrange’s equation has been expanded. </li></ul><ul><li>Final Steps </li></ul><ul><li>Discretize using finite differences (rather than derivatives). </li></ul><ul><li>Write as a matrix times a vector of nodal coordinates (rather than a single mass point). </li></ul><ul><li>Solve for the object’s new set of positions of all nodes. </li></ul>Elastic vs. Inelastic FEM 4,5
Discretization of FEM 4,5 Discretize Lagrange’s equation over all nodes Procedure described in  but not 
3D plasticine bust of Victor Hugo. 180 x 127 mesh; 68,580 equations. Results of Inelastic FEM 5
Results of Inelastic FEM 5 Sphere pushing through 2D mesh. 23 x 23 mesh; 1,587 equations. Yield limit is uniform, causing linear tears.
Results of Inelastic FEM 5 2D paper tearing by opposing forces. 30 x 30 mesh; 2,700 equations. Yield limit is perturbed stochastically, causing randomly-propogating tears.
References 0. David Baraff. Rigid Body Simulation. Physically Based Modeling, SIGGRAPH Course Notes, August 2001. 1. George Buchanan. Schaum’s Outlines: Finite Element Analysis. McGraw-Hill, 1995. 2. Peter Hunter and Andrew Pullan. FEM/BEM Notes . The University of Auckland, New Zealand, February 21 2001.
References 3. Tom Lassanske. [Slides from class lecture] 4. Demetri Terzopoulost, John Platt, Alan Barr, and Kurt Fleischert. Elastically Deformable Models . Computer Graphics, Volume 21, Number 4, July 1987. 5. Demetri Terzopoulos and Kurrt Fleiseher. Modeling Inelastic Deformation: Viscoelasticity, Plasticity, Fracture. Computer Graphics, Volume 22, Number 4, August 1988