isoparametric elements element stiffness matrices
DESCRIPTION
Isoparametric Elements Element Stiffness Matrices. Structural Mechanics Displacement-based Formulations. General Approach – Specific Example. We will look at manipulation of the mechanics quantities (displacement, strain, stress) using shape functions - PowerPoint PPT PresentationTRANSCRIPT
Isoparametric ElementsElement Stiffness Matrices
Structural MechanicsDisplacement-based Formulations
General Approach – Specific Example
• We will look at manipulation of the mechanics quantities (displacement, strain, stress) using shape functions
• The approach is quite general, and is used to formulate a number of different elements
• We will use a specific example to make the development more concrete (Q4)
• We will start from the nodal displacement representation, work toward strain and stress, and finally element stiffness
• There is a lot going on here, pay attention to both the overall themes and the detailed steps …
Master Element Mapping• Note: we will use a for x and b for h because I can’t remember,
pronounce, or legibly write “xi” and “eta”
master elementactual element
Bilinear Quadrilateral (Q4)• Interpolation involves the summation of nodal values
multiplied by corresponding shapes functions
€
xy ⎧ ⎨ ⎩
⎫ ⎬ ⎭=
N ix i∑N iy i∑
⎧ ⎨ ⎪
⎩ ⎪
⎫ ⎬ ⎪
⎭ ⎪= N[ ] c{ }
€
uv ⎧ ⎨ ⎩
⎫ ⎬ ⎭=
N iui∑N iv i∑
⎧ ⎨ ⎪
⎩ ⎪
⎫ ⎬ ⎪
⎭ ⎪= N[ ] d{ }
€
c{ } = x1 y1 x2 y2 x3 y3 x4 y4[ ]T
d{ } = u1 v1 u2 v2 u3 v3 u4 v4[ ]T
N[ ] =N1 0 N2 0 N3 0 N4 00 N1 0 N2 0 N3 0 N4
⎡ ⎣ ⎢
⎤ ⎦ ⎥
- where -geometry interpolation field variable interpolation
nodal coordinates
nodal displacements
shape functions
• Start with the element displacement field• We have to give it some functional form in order to work with it• Let it be defined over the element by our interpolation scheme
{u} = displacements continuously defined (all components) over an element[N] = the element shape functions in master element coordinates{d} = the nodal (discrete) displacement values
Q4 - Displacements
€
u{ } = N[ ] d{ }
€
N1 = 14
1− a( ) 1− b( )
€
N2 = 14
1+ a( ) 1− b( )€
N3 = 14
1+ a( ) 1+ b( )
€
N4 = 14
1− a( ) 1+ b( )
• Now calculate element strains from the displacement field
• This is just the usual strain-displacement relationship written in compact form with an operator matrix
Strain from {u}
€
ε{ } = ∂[ ] u{ }
€
∂[ ] =
∂∂x
0
0 ∂∂y
∂∂y
∂∂x
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
€
εx
εy
γ xy
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
∂∂x
0
0 ∂∂y
∂∂y
∂∂x
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
u
v
⎧ ⎨ ⎩
⎫ ⎬ ⎭
• Let’s now work toward an expression for element strain
• We have a bit of a difficulty here with direct substitution– The shape functions (N1, N2, N3, N4) are defined in terms of the master
element coordinates (a,b)– But we need to differentiate in terms of the global coordinates (x,y)
Q4 – Strain from {d}
€
ε{ } = ∂[ ] N[ ] d{ }
€
εx
εy
γ xy
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
∂∂x
0
0 ∂∂y
∂∂y
∂∂x
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥ ⎥
N1 0 N2 0 N3 0 N4 0
0 N1 0 N2 0 N3 0 N4
⎡
⎣ ⎢
⎤
⎦ ⎥
u1
v1
u2
v2
u3
v3
u4
v4
⎧
⎨
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎩
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎫
⎬
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎭
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
€
ε{ } = B[ ] d{ }
- or -
this operation cannot be done directly
Coordinate Transformation• Given any function of the master element coordinates (a,b):
• We can find derivatives with respect to global (x,y) by using the chain rule:
• We can combine and rearrange these relationships to get our derivatives:
€
f = f a,b( )
€
∂f∂a
= ∂f∂x
∂x∂a
+ ∂f∂y
∂y∂a
∂f∂b
= ∂f∂x
∂x∂b
+ ∂f∂y
∂y∂b
€
f ,a
f ,b
⎧ ⎨ ⎩
⎫ ⎬ ⎭= J[ ]
f ,x
f ,y
⎧ ⎨ ⎪ ⎩ ⎪
⎫ ⎬ ⎪ ⎭ ⎪
f ,x
f ,y
⎧ ⎨ ⎪ ⎩ ⎪
⎫ ⎬ ⎪ ⎭ ⎪= J[ ]
−1 f ,a
f ,b
⎧ ⎨ ⎩
⎫ ⎬ ⎭
The Jacobian• The Jacobian matrix is an important part of element formulation:
• For the Q4 element this becomes:
€
J[ ] =x,a y,a
x,b y,b
⎡
⎣ ⎢
⎤
⎦ ⎥=
N i,a x i∑ N i,a y i∑N i,b x i∑ N i,b y i∑
⎡
⎣ ⎢ ⎢
⎤
⎦ ⎥ ⎥
€
J[ ] = 14
− 1− b( ) 1− b( ) 1+ b( ) − 1+ b( )
− 1− a( ) − 1+ a( ) 1+ a( ) 1− a( )
⎡
⎣ ⎢ ⎢
⎤
⎦ ⎥ ⎥
x1 y1
x2 y2
x3 y3
x4 y4
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
local coordinate derivatives of the shape functions
global coordinate locations of the element
nodes
note the Jacobian matrix is a function of location within the master element
Jacobian Interpretation• The Jacobian contains information about element size and shape
• The Jacobian determinant (j) is a scaling factor that relates the differential area of the actual element to the differential area of the master element
• The Jacobian inverse (G) relates global coordinate system (x,y) function derivatives to master element coordinate system (a,b) function derivatives
€
J[ ] =J11 J12
J21 J22
⎡
⎣ ⎢
⎤
⎦ ⎥
€
j = det J[ ] = J11J22 − J21J22
€
G[ ] = J[ ]−1 = 1
j
J22 −J12
−J21 J11
⎡
⎣ ⎢
⎤
⎦ ⎥=
Γ11 Γ12
Γ21 Γ22
⎡
⎣ ⎢
⎤
⎦ ⎥
Jacobian (determinant) Ratio• This is one measure of element quality (which affects element accuracy)• Ratio of the highest to lowest quadrature point Jacobian determinant• It is 1.0 for any square or rectangular element (same j throughout element)• It increases as element distortion increases
Strain/Displacement for Q4• Start with the usual strain-displacement relationship in a slightly different
form:
• Now add the Jacobian approach to master/global coordinate derivative transformation:
€
ε{ } =
εx
εy
γ xy
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
1 0 0 0
0 0 0 1
0 1 1 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
u,x
u,y
v,x
v,y
⎧
⎨ ⎪ ⎪
⎩ ⎪ ⎪
⎫
⎬ ⎪ ⎪
⎭ ⎪ ⎪
€
u,x
u,y
v,x
v,y
⎧
⎨ ⎪ ⎪
⎩ ⎪ ⎪
⎫
⎬ ⎪ ⎪
⎭ ⎪ ⎪
=
Γ11 Γ12 0 0
Γ21 Γ22 0 0
0 0 Γ11 Γ12
0 0 Γ21 Γ22
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
u,a
u,b
v,a
v,b
⎧
⎨ ⎪ ⎪
⎩ ⎪ ⎪
⎫
⎬ ⎪ ⎪
⎭ ⎪ ⎪
Strain/Displacement cont.• Now represent the displacement field master element derivatives in terms
of the shape functions:
€
u,a
u,b
v,a
v,b
⎧
⎨ ⎪ ⎪
⎩ ⎪ ⎪
⎫
⎬ ⎪ ⎪
⎭ ⎪ ⎪
=
N1,a 0 N2,a 0 N3,a 0 N4,a 0
N1,b 0 N2,b 0 N3,b 0 N4,b 0
0 N1,a 0 N2,a 0 N3,a 0 N4,a
0 N1,b 0 N2,b 0 N3,b 0 N4,b
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
u1
v1
u2
v2
u3
v3
u4
v4
⎧
⎨
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎩
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎫
⎬
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎭
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
All Together Now …
€
εx
εy
γ xy
⎧
⎨ ⎪
⎩ ⎪
⎫
⎬ ⎪
⎭ ⎪=
1 0 0 0
0 0 0 1
0 1 1 0
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
Γ11 Γ12 0 0
Γ21 Γ22 0 0
0 0 Γ11 Γ12
0 0 Γ21 Γ22
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
N1,a 0 N2,a 0 N3,a 0 N4,a 0
N1,b 0 N2,b 0 N3,b 0 N4,b 0
0 N1,a 0 N2,a 0 N3,a 0 N4,a
0 N1,b 0 N2,b 0 N3,b 0 N4,b
⎡
⎣
⎢ ⎢ ⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ ⎥ ⎥
u1
v1
u2
v2
u3
v3
u4
v4
⎧
⎨
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎩
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎫
⎬
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
⎭
⎪ ⎪ ⎪ ⎪ ⎪ ⎪
€
ε{ } = B[ ] d{ }
- or -nodal
displacements, global
coordinates
shape function derivatives,
master coordinates
Jacobian inverse terms, master to global coordinate
transformation
organization
[B]
Stress• If we have strain, we can get to stress by bringing in material properties
• We have to be a little careful here, this simple expression assumes:– No initial (residual, assembly) stresses present– Linear elastic behavior– The general form above does accommodate anisotropic behavior
• If we further limit ourselves to 2D, isotropic, plane stress, we can write:
€
σ{ } = E[ ] ε{ } = E[ ] B[ ] d{ }
€
E[ ] = E1−ν 2
1 ν 0ν 1 00 0 1−ν( )
2
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
€
E[ ]−1 =
1E
−νE 0
−νE
1E 0
0 0 1G
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥ G = E
2 1+ ν( )
Element Stiffness Matrix• Recall where the element stiffness matrix fits into the finite element
formulation:
• Take it as a given for the present that the element stiffness matrix [k] is:
• An integral over the element area in global coordinates (t = thickness)• Why is integration required?
– Think about what [k] does– For displacements applied to the element nodes, it determines the required force– If one element is larger than another, the force required ought to be greater for the
same nodal displacements– If an element has a rotated orientation, a coordinate axis displacement can produce
forces with multiple coordinate components
€
k[ ] = B[ ]T∫ E[ ] B[ ] t dA€
k[ ] d{ } = r{ }
Integration in Master Coordinates• It is not easy to integrate for the terms in [k] using the global coordinate
system (elements are generally distorted and not aligned with global axes)• But we can do this instead (matrix dimensions for a Q4 element):
• Integrate over the master element• It is undistorted and aligned with the coordinate system• Adjust for the change in coordinates by bringing in the Jacobian
determinant j
€
k[ ]8x 8symm
= B[ ]8x3
T
−1
1
∫−1
1
∫ E[ ]3x3
B[ ]3x8
t j da db
Quadrature• Read “quadrature” as “numerical integration”• Why do we want to numerically integrate to establish [k]?
• To integrate directly is still computationally expensive, even with the change to local coordinates
• Quadrature involves sampling at discrete points, multiplying by a weighting factor, and summing to get an estimate of the integral
€
k[ ]8x 8symm
= B[ ]8x3
T
−1
1
∫−1
1
∫ E[ ]3x3
B[ ]3x8
t j da db
this varies point-by-point too …these contain Jacobian
inverse terms which vary point-by-point within
the element
Gauss Points• Gauss quadrature is a method of numerical integration that has optimal
characteristics when the underlying functions have polynomial form• The figure shows Gauss points for 2nd order and 3rd order quadrature
– For (a), all four points have a weight of 1.0 (total = 4.0)– For (b): 1,3,7,9 weight = .3086; 2,4,6,8 weight = .4938; 5 weight = .7901 (total = 4.0)
• Note: the quadrature rule is independent of element order (Q4, Q8, Q9)
Computational Procedure- Clear the array that will contain [k]- Loop over integration points in the a direction (i=1 to ni)
– Set sampling point location ai and the weight factor Wi (i.e. +/- 0.577, 1.0)– Loop over integration points in the b direction (j=1 to nk)
- Set sampling point location bk and the weight factor Wk (i.e. +/- 0.577, 1.0)
- Call shape function subroutine, return [B] and j=det[J] at the point (ai, bk)- Calculate [B]T[E][B]tjWiWk, and add into [k]
- End loop k- End loop i
- Shape function subroutine- Input is the local Gauss point coordinates (a,b)- Access database for element global node coordinates (i.e. x1,y1,x2,y2,x3,y3,x4,y4)- Calculate [J], j = det[J], [G] = [J]-1 and [B]
Efficiency• One-time element calculations
– The shape function local derivatives are the same for a given element type and integration scheme
– They are only calculated once and stored each time the shape function subroutine is called
• File vs. DRAM storage– If you had to access a hard drive file each time a node location was
required, the shape function subroutine calculations could be slow– But you need enough DRAM to store the locations, along with all the
other information required during the analysis
Element Distortion
• One of the reasons a distorted element is less than ideal:– The integral is estimated by discrete sampling at specific locations
within the element– If the element is not distorted, the sampled points are highly
representative of the un-sampled near by regions of the element– If the element is highly distorted, the sampled points are not
representative of the un-sampled regions of the element
Intra-Element Jacobian Variation • Here is a single Q4 element (highly-distorted, not recommended)• For integration purposes, element characteristics are sampled at the discrete Gauss
points shown• How well does the point represent the region around it?
Gauss point
approx area represented by the point
Geometric Nonlinearity• The configuration of the element changes as soon as it deforms.• The global locations of the nodes is different at each load increment.• Since global node locations enters into the element stiffness calculation …• The element stiffness evolves during a high-deformation sequence• A single load step is often broken up into a series of increments …• And the element stiffness is updated at each increment.
original element load increment 1 load increment 2 …