Finite Elements

advertisement
Finite Elements
A Theory-lite Intro
Jeremy Wendt
April 2005
The University of North Carolina – Chapel Hill
COMP259-2005
Overview
• Numerical Integration
• Finite Differences
• Finite Elements
– Terminology
– 1D FEM
– 2D FEM 1D output
– 2D FEM 2D output
– Dynamic Problem
The University of North Carolina – Chapel Hill
COMP259-2005
Numerical Integration
• You’ve already seen simple integration
schemes: particle dynamics
– In that case, you are trying to solve for
position given initial data, a set of forces and
masses, etc.
– Simple Euler  rectangle rule
– Midpoint Euler  trapezoid rule
– Runge-Kutta 4  Simpson’s rule
The University of North Carolina – Chapel Hill
COMP259-2005
Numerical Integration II
• However, those techniques really only
work for the simplest of problems
• Note that particles were only influenced by
a fixed set of forces and not by other
particles, etc.
• Rigid body dynamics is a step harder, but
still quite an easy problem
– Calculus shows that you can consider it a
particle at it’s center of mass for most
calculations
The University of North Carolina – Chapel Hill
COMP259-2005
Numerical Integration III
• Harder problems (where neighborhood
must be considered, etc) require numerical
solvers
– Harder Problems: Heat Equation, Fluid
dynamics, Non-rigid bodies, etc.
– Solver types: Finite Difference, Finite Volume,
Finite Element, Point based (Lagrangian),
Hack (Spring-Mass), Extensive Measurement
The University of North Carolina – Chapel Hill
COMP259-2005
Numerical Integration IV
• What I won’t go over at all:
– How to solve Systems of Equations
• Linear Algebra, MATH 191,192,221,222
The University of North Carolina – Chapel Hill
COMP259-2005
Finite Differences
• This is probably the easiest solution
technique
• Usually computed on a fixed width grid
• Approximate stencils on the grid with
simple differences
The University of North Carolina – Chapel Hill
COMP259-2005
Finite Differences (Example)
• How we can solve Heat Equation on fixed
width grid
– Derive 2nd derivative stencil on white board
• Boundary Conditions
• See Numerical Simulation in Fluid
Dynamics: A Practical Introduction
– By Griebel, Dornseifer and Neunhoeffer
The University of North Carolina – Chapel Hill
COMP259-2005
Finite Elements Terminology
• We want to solve the same problem on a
non-regular grid
• FEM also has some different strengths
than Finite Difference
• Node
• Element
The University of North Carolina – Chapel Hill
COMP259-2005
Problem Statement 1D
• STRONG FORM
– Given f: OMEGA  R1 and constants g and h
– Find u: OMEGA  R1 such that
• uxx + f = 0
• ux(at 0) = h
• u(at 1) = g
– (Write this on the board)
The University of North Carolina – Chapel Hill
COMP259-2005
Problem Statement (cont)
• Weak Form (AKA Equation of Virtual
Work)
– Derived by multiplying both sides by weighting
function w and integrating both sides
• Remember Integration by parts?
• Integral(f*gx) = f*g - Integral(g*fx)
The University of North Carolina – Chapel Hill
COMP259-2005
Galerkin’s Approximation
• Discretize the space
• Integrals  sums
• Weighting Function Choices
– Constant (used by radiosity)
– Linear (used by Mueller, me (easier, faster))
– Non-Linear (I think this is what Fedkiw uses)
The University of North Carolina – Chapel Hill
COMP259-2005
Definitions
•
•
•
•
•
wh = SUM(cA*NA)
uh = SUM(dA*NA) + g*NA
cA, dA, g – defined on the nodes
NA , uh, wh – defined in whole domain
Shape Functions
The University of North Carolina – Chapel Hill
COMP259-2005
Zoom in
• We’ve been considering the whole
domain, but the key to FEM is the element
• Zoom in to “The Element Point of View”
The University of North Carolina – Chapel Hill
COMP259-2005
Element Point of View
• Don’t construct an NxN matrix, just a
matrix for the nodes this element effects
(in 1D it’s 2x2)
– Integral(NAx*NBx)
– Reduces to width*slopeA*slopeB for linear 1D
The University of North Carolina – Chapel Hill
COMP259-2005
Now for RHS
• We are stuck with an integral over varying
data (instead of nice constants from
before)
• Fortunately, these integrals can be solved
by hand once and then input into the
solver for all future problems (at least for
linear shape functions)
The University of North Carolina – Chapel Hill
COMP259-2005
Change of Variables
• Integral(f(y)dy)domain = T =
Integral(f(PHI(x))*PHIx*dx)domain = S
• Write this on the board so it makes some
sense
The University of North Carolina – Chapel Hill
COMP259-2005
Creating Whole Picture
• We have solved these for each element
• Individually number each node
• Add values from element matrix to
corresponding locations in global node
matrix
The University of North Carolina – Chapel Hill
COMP259-2005
Example
• Draw even spaced nodes on board
– dx = h
– Each element matrix = (1/h)*[[1 -1] [-1 1]]
– RHS = (h/6)*[[2 1] [1 2]]
The University of North Carolina – Chapel Hill
COMP259-2005
Show Demo
• 1D FEM
The University of North Carolina – Chapel Hill
COMP259-2005
2D FEM 1D output
• Heat equation is an example here
• Linear shape functions on triangles 
Barycentric coordinates
• Kappa joins the party
– Integral(NAx*Kappa*NBx)
– If we assume isotropic material, Kappa = K*I
The University of North Carolina – Chapel Hill
COMP259-2005
2D Per-Element
• This now becomes a 3x3 matrix on both
sides
– Anyone terribly interested in knowing what it
is/how to get it?
The University of North Carolina – Chapel Hill
COMP259-2005
Demo
• 2D FEM - 1D output
The University of North Carolina – Chapel Hill
COMP259-2005
2D FEM – 2D Out
• Deformation in 2D requires 2D output
– Need an x and y offset
• Doesn’t handle rotation properly
• Each element now has a 6x6 matrix associated
with it
• Equation becomes
– Integral(BAT*D*BB) for Stiffness Matrix
– BA/B – a matrix containing shape function derivatives
– D – A matrix specific to deformation
• Contains Lame` Parameters based on Young’s Modulus and
Poisson’s Ratio (Anyone interested?)
The University of North Carolina – Chapel Hill
COMP259-2005
Demo
• 2D Deformation
The University of North Carolina – Chapel Hill
COMP259-2005
Dynamic Version
• The stiffness matrix (K) only gives you the
final resting position
– Kuxx = f
• Dynamics is a different equation
– Muxx + Cux + Ku = f
• K is still stiffness matrix
• M = diagonal mass matrix
• C = aM + bK (Rayliegh damping)
The University of North Carolina – Chapel Hill
COMP259-2005
Demo
• 2D Dynamic Deformation
The University of North Carolina – Chapel Hill
COMP259-2005
Questions
The University of North Carolina – Chapel Hill
COMP259-2005
Download