Professional Documents
Culture Documents
FEM MATLAB Code For Linear and Nonlinear Bending Analysis of Plates
FEM MATLAB Code For Linear and Nonlinear Bending Analysis of Plates
FEM MATLAB Code For Linear and Nonlinear Bending Analysis of Plates
References:
1] Siva Srinivas Kolukula, MATLAB FEM Program for Linear Bending Analysis of
Plates,
http://www.mathworks.com/matlabcentral/fileexchange/32029-plate-bending
2] A.J.M. Ferreira, MATLAB Codes for Finite Element Analysis, Springer Publications,
2008.
3] A.H. Sheikh and M. Mukhopadhyay, Geometric Nonlinear Analysis of Stiffened Plates
by the Spline Finite Strip Method, Computers and Structures, 76, 765-785, 2000.
4] A. Pica, R.D. Wood, and E. Hinton, Finite Element Analysis of Geometrically Non-
linear Plate Behaviour using a Mindlin Formulation, Computers and Structures, 11,
203–215, 1980.
5] O.C. Zienkiewicz, R.L. Taylor and D.D. Fox, The Finite Element Method for Solid
and Structural Mechanics, Elsvier Publications, 2014.
6] MATLAB R2012b, MathWorks Inc., 2015
7] COMSOL Multiphysics 5, COMSOL AB, 2015
Contribution
1] The linear MATLAB code is taken from first two references, our contribution is lim-
ited to few modifications.
2] The nonlinear FEM code is written by us.
3] The linear FEM theory is based on reference [2] and [5].
4] The nonlinear FEM theory is based on references [3], [4] and [5].
5] The verifications of results is done with help of FEM software, COMSOL Multiphysics.
Notes
1] This open-source code is for FEM and MATLAB beginners. So if you find any mis-
take, please write us an email.
2] Only brief introduction of theory is given here; for detail theory please read books on
Mechanics of Solids, Finite Element Methods.
3] While writing theory it is assumed that student have some basic knowledge of sym-
bols, notations, nomenclatures and definitions etc.
1
Part 1: Linear Bending Analysis of Plates
In linear Mindlin plate theory, the displacements {u, v, w} at (x, y, z) are expressed as
function of mid-plane deformations {w, θx , θy }, where w is transverse deformation, θx
and θy are rotations of normal. These normals are remains straight after deformation
but need not remain perpendicular to mid-plane, this allows shear deformation in the
plates (thick plates particularly).
The displacement field of plate is
a = {w θx θy }T (1)
2
where subscript b is related to bending and subscript s is related to shear part. Here, α
is a shear correction factor and equal to 5/6. The bending stress and strain are written
as
Remember that γxy is engineering component of shear strain, the tensor component of
shear strain is xy and xy = γxy /2.
The assumed displacement field for Mindlin plate is u (along x axis), v (along y axis)
and w (along z axis) written as,
u = −zθx
v = −zθy (5)
w=w
σb = Db b , (7)
1 ν 0
E
where Db = ν 1 0
1 − ν2
0 0 (1 − ν)/2
σs = Ds s , (8)
E 1 0
where Ds =
2(1 + ν) 0 1
3
2. Finite element discretization
The coordinates x and y within element can be obtained by the same shape functions
4
X
x= Ni (ξ, η)xi
i=1
X4
y= Ni (ξ, η)yi
i=1
(10)
where Ni (ξ, η) are shape functions for four noded Q4 element and ξ and η are natural
coordinates.
1
N1 = (1 − ξ)(1 − η)
4
1
N2 = (1 + ξ)(1 − η)
4
1
N3 = (1 + ξ)(1 + η)
4
1
N4 = (1 − ξ)(1 + η)
4
ae = {w1 (θx )1 (θy )1 w2 (θx )2 (θy )2 w3 (θx )3 (θy )3 w4 (θx )4 (θy )4 }T (11)
Zh/2 Z Zh/2 Z
e 1 2 e T α
U = z (a ) (Bbe )T Dbe Bbe ae dAdz + (ae )T (Bse )T Dse Bse ae dAdz (12)
2 2
−h/2 A −h/2 A
4
The element stiffness matrix is written as
h3
Z Z
e
K = (Bb ) Db Bb dA + αh (Bse )T Dse Bse dA
e T e e
(13)
12
A A
converting above equations into natural coordinates,
Z1 Z1 Z1 Z1
h3
e
K = (Bbe )T Dbe Bbe |J| dξdη + αh (Bse )T Dse Bse |J| dξdη (14)
12
−1 −1 −1 −1
where J is Jacobian and written as
" #
∂x ∂y
∂ξ ∂ξ
J= ∂x ∂y
∂η ∂η
" #
∂N ∂N
∂x
∂N = J −1 ∂ξ
∂N
∂y ∂η
The kinematic matrix Bbe and Bse for bending and shear can be written as
0 − ∂N∂x
1
0 0 − ∂N ∂x
2
0 0 − ∂N
∂x
3
0 0 − ∂N
∂x
4
0
∂N1 ∂N2
e
Bb =
0 0 − ∂y 0 0 − ∂y 0 0 − ∂N
∂y
3
0 0 − ∂N 4
∂y
0 − ∂N∂y
1
− ∂N1
∂x 0 − ∂N2
∂y − ∂N2
∂x
∂N3
0 − ∂y − ∂N
∂x
3 ∂N4
0 − ∂x − ∂N
∂x
4
" #
∂N1 ∂N2 ∂N3 ∂N4
−N1 0 −N2 0 −N3 0 −N4 0
Bse = ∂x
∂N1
∂x
∂N2
∂x
∂N3
∂x
∂N4
∂y 0 −N1 ∂y 0 −N2 ∂y 0 −N3 ∂y 0 −N4
The element stiffness matrix found by numerical integration of above shown equations.
The Guass-quadrature integration rule is used for numerical integration. For bending
part in stiffness matrix, 2×2 Guass-quadrature integration used and for shear part, 1×1
Guass-quadrature integration is used (This method is called as lower order integration
for shear part to avoid shear locking). The Guass-quadrature integration is summarized
bellow
Z1 Z1 XX
f (ξ, η)dξdη = f (ξi , ηj )Wij (15)
−1 −1 i j
where f (ξi , ηj ) function values at sample points and Wij are weightage for sample points.
The pressure work is written as
Z
W = P we dA
e
(16)
A
The force vector is written as
Z1 Z1
e
F = P N |J| dξdη (17)
−1 −1
where N is vector of shape functions.
5
4. Assemblage of element stiffness matrix and force vector into global level
Now each element stiffness and force matrix is added to the appropriate location
(based on element position, nodal connectivity) to the global stiffness and force matrix.
This process is called as assembly.
X X
K e ae = Fe (18)
e e
Ka=F (19)
5. Numerical solution
Here we will show results of simply supported and clamped plate, using a 20 ×
20 Q4 mesh. The following non-dimensional parameter are chosen for the study. For
square plate; length a = 1, breadth b = 1, thickness h = 0.1, Young Modulus E =
10920, Poisson’s ratio ν = 0.3. For rectangular plate; only length is taken as a =
1.5 by keeping all other parameters same. For verifications of the results, COMSOL
Multiphysics software used.
6
COMSOL 5.1.0.145
Figure 3: Variation of maximum transverse displacement −w with pressure −P for clammed square
plate
COMSOL 5.1.0.145
COMSOL 5.1.0.145
Figure 5: Variation of maximum transverse displacement −w with pressure −P for simply supported
square plate
7
Equilibrium path
0.09
0.08
0.07
0.06
0.05
−w
0.04
0.03
0.02
0.01
0
0 2 4 6 8 10
−P
Figure 6: Variation of maximum transverse displacement −w with pressure −P for simply supported
rectangular plate
8
Part 2: Non-linear Bending Analysis of Plates
In nonlinear Mindlin plate theory, the displacements {ū, v̄, w̄} at (x, y, z) are expressed
as function of mid-plane translations u, v, w and mid-plane normal rotations θx , θy .So,
ū = u − zθx
v̄ = v − zθy (20)
w̄ = w
where u and v are inplane displacement, w is out of plane displacement, θx and θy are
rotation of transverse normals about Z axis. The displacement field of plate is taken as
a = {u v w θx θy }T (21)
where , σ̂ a and P are strains, stress resultants, displacements and external force vectors
respectively.
For a Mindlin plate, the strain vector is written as
1 ∂ w̄ 2
∂ ū
x
∂x + 2 ∂x
2
y ∂v̄ + 1 ∂ w̄
∂y 2 ∂y
= γxy = ∂∂yū + ∂x ∂v̄
+ ∂∂x w̄ ∂ w̄ (23)
γxz ∂y
∂ ū ∂ w̄
∂z + ∂x
γyz ∂v̄ ∂ w̄
∂z + ∂y
x
y 0 0 L
= i + zb + i
= γxy (24)
0 0s 0
γxz
γyz
9
where the linear inplane strains are
∂u
∂x
∂v
0i = (25)
∂y
∂u ∂v
∂y + ∂x
− ∂θ
x
∂x
∂θy
0b = − ∂y (26)
∂θy
− ∂θ
∂y
x
− ∂x
−h/2
−h/2
−h/2
10
The virtual work is re-written as
Z Z
T
d σ̂dA = daT P dA
A A
Z Z Z
dTib σ̂ib dA + dTs σ̂s dA = daT P dA (33)
A A A
where ib and s are inplane-bending and shear strains , σib and σs are inplane-bending
and shear stress resultants. The stress (stress resultants)-strain relationship for combined
inplane and bending action is
σˆs = Ds s ,
" Eα #
0
Qxz γxz
= 2(1+ν) Eα (35)
Qyz 0 2(1+ν)
γyz
11
8. Finite element discretization
Quadrilateral (Four node Q4) isoparametric element is used for discretization.The
displacement within element domain is given by
4
X
u= Ni (ξ, η)ui
i=1
4
X
v= Ni (ξ, η)vi
i=1
X4
w= Ni (ξ, η)wi
i=1
4
X
θx = Ni (ξ, η)(θx )i (36)
i=1
X4
θy = Ni (ξ, η)(θy )i
i=1
The coordinates x and y within element can be obtained by the same shape functions
4
X
x= Ni (ξ, η)xi
i=1
4
X
y= Ni (ξ, η)yi
i=1
(37)
where Ni (ξ, η) are shape functions for four noded Q4 element and ξ and η are natural
coordinates.
1
N1 = (1 − ξ)(1 − η)
4
1
N2 = (1 + ξ)(1 − η)
4
1
N3 = (1 + ξ)(1 + η)
4
1
N4 = (1 − ξ)(1 + η)
4
12
henceforth to avoid confusions of subscripts and superscripts, we drop superscript e
from all terms derived for a single element. It is assumed that all terms written in this
particular section is only for a single element.
The first variation of potential energy is written as
δΠ = δU − δW = 0
δU = δW (39)
0 1
ib = (Bib + BiL )a, σ̂ib = Dib ib (41)
2
0
dib = (Bib + BiL )da, dib = Bib da (42)
where R is residual and F is a generalized forces comes from variation of external work
done.
The element stiffness matrix KS is written as
Z Z
KS = ((Bib ) Dib Bib + 1/2(Bib ) Dib Bi + (Bi ) Dib Bib + 1/2(Bi ) Dib Bi )dA + (Bs0 )T Ds Bs0 dA
0 T 0 0 T L L T 0 L T L
A A
(46)
The solution algorithm for the assembled nonlinear equilibrium equations ( 45) is based
on Newton-Raphson method which need linearization of equations at equilibrium point.
The Taylor series expansion of residual R(ai+1 ) in the neighbourhood of ai is
13
where KT is assembled tangent stiffness matrix and given by
∂R
KT = (48)
∂a
Z Z
T ˆ ˆ s + (dB 0 )T σ̂s dA
KT = (Bib ) dσib + (dBib ) σ̂ib dA + (Bs0 )T dσ
T
s (49)
A A
A A
(50)
Z
+ (Bs0 )T Ds Bs0 dA
A
KT = K0 + KL + Kσ + Ks (51)
The linear inplane-bending stiffness matrix is given by
Z
0 T 0
K0 = (Bib ) Dib Bib dA (52)
A
The nonlinear inplane-bending stiffness matrix can be written as
Z
0 T
KL = ((Bib ) Dib BiL + (BiL )T Dib Bib
0
+ (BiL )T Dib BiL )dA (53)
A
The linear shear stiffness matrix is given by
Z
Ks = (Bs0 )T Ds Bs0 dA (54)
A
The initial stress matrix or geometric matrix is written as
Z
Kσ = (dBib )T σ̂ib dA
A
Z
= (dBiL )T σ̂ib dA
A
Z
= GT dC T σ̂ib dA
A
Z
= GT SGdA (55)
A
14
The mathematical property of matrix C insures that dC T σ̂ib = SG.
Nx Nxy
S=
Nxy Ny 2×2
" #
∂N1 ∂N4
0 0 ∂x 0 0 − − − − − − − − − − − − − − −0 0 ∂x 0 0
G= ∂N1 ∂N4
0 0 ∂y 0 0 − − − − − − − − − − − − − − −0 0 ∂y 0 0
2×20
The inplane and bending strain can be written as
{} = {0ib } + {L
i }
∂w 2
∂u ∂θx
∂x + ∂x ∂x
2
∂v ∂θy 1 ∂w
{} = ∂y + +
∂x ∂y
∂u ∂v ∂θx ∂θy 2
∂y + ∂x + ∂y + ∂x 2 ∂w ∂w
∂x ∂y
0
d = (Bib + BiL )da
∂w
∂x 0 ∂w
1 ∂w
L
i = 0 ∂y
∂x
∂w
2 ∂w ∂w ∂y
∂x ∂x
1
L
i = Cθ
2
L 1
di = (dCθ + Cdθ)
2
dL
i = CGda
BiL = CG
here G is derivative of shape functions.
0 can be written as
The kinematic stiffness matrix Bib
∂N1
− − − − − − − − − − ∂N
∂x 0 0 0 0 ∂x
4
0 0 0 0
∂N1 ∂N4
0
∂y 0 0 0 −−−−−−−−−− 0 ∂y 0 0 0
∂N1 ∂N1 0 0 0 − − − − − − − − − − ∂N 4 ∂N4
0 0 0
0
Bib = ∂y ∂x ∂y ∂x
0 0 0 − ∂N 1
0 −−−−−−−−−−− 0 0 ∂N4
0 − ∂x 0
∂x
− ∂N − ∂N
−−−−−−−−−−− 0
0 0 0 0 ∂y
1
0 0 0 ∂y
4
∂N1 ∂N1 ∂N4
0 0 0 − ∂y − ∂x −−−−−−−−−− 0 0 0 − ∂y − ∂N
∂x
4
6×20
15
The kinematic stiffness matrix Bs0 can be written as
" #
0 0 ∂N 1
−N1 0 − − − − − − − − − − − − − − −0 0 ∂N4
−N4 0
Bs0 = ∂x
∂N1
∂x
∂N4
0 0 ∂y 0 −N1 − − − − − − − − − − − − − − −0 0 ∂y 0 −N4
2×20
Z Z1 Z1
dA = |J| dξdη (56)
A −1 −1
The Guass-quadrature integration rule is used for numerical integration. For linear/nonlinear
inplane-bending stiffness matrix, initial stress stiffness matrix and force vector 2 × 2
Guass-quadrature integration used and for shear part 1 × 1 Guass-quadrature integra-
tion is used (This method is called as lower order integration for shear part to avoid
shear locking).
10. Assemblage of element stiffness matrix and force vector into global level
Now each element stiffness and force matrix is added to the appropriate location
(based on element position, nodal connectivity ) of the overall, or global stiffness and
force matrix. This process is called assembly.
16
11. Newton-Raphson method
The DOF related to boundary conditions are identified and equations are solved
by Newton-Raphson method for active DOF only. For linear problems we solve al-
gebraic equations of form Ka = F ; but for non-linear systems equations need to be
linearized around equilibrium point and solution must be sought by iterative procedure.
For non-linear system either force or displacement can be a controlling parameter. To
circumvent limit points in non-linear equilibrium paths, displacement control is used, but
here chances of encountering limit point are slim, so we are using force as controlling
parameter. Here linearized equations are of the form
KT dain+1 = Rn+1
i
where R is residual , and i denotes iteration number. The residual can be written as
R = KS a − Fn+1
where F and KS a are external and internal forces respectively. Note that system
stiffness matrix KS and tangent stiffness matrix KT are not same. The increment in
displacement is written as
∂R i
R(ai+1 i
n+1 ) ≈ R(an+1 ) + dai =0
∂a n+1 n+1
∂R
KT =
∂a
KTi dain+1 i
= −Rn+1
dain+1 = −(KTi )−1 Rn+1
i
ai+1 i i
n+1 = an+1 + dan+1
Here we will show results of simply supported and clamped plate, using a 15 × 15
Q4 mesh. The following non-dimensional parameter are chosen for the study. For square
plate; length a = 1, breadth b = 1, thickness h = 0.1 (thick plate) and h = 0.01 (thin
plate), Young Modulus E = 10920, Poisson’s ratio ν = 0.3. For rectangular plate; only
length is taken as a = 1.5 by keeping all other parameters same. For verifications of the
results COMSOL Multiphysics software is used.
17
Equilibrium path
0.1
0.09
0.08
0.07
0.06
−w
0.05
0.04
0.03
0.02
0.01
0
0 20 40 60 80 100
−P
Figure 7: Variation of maximum transverse displacement −w with pressure −P for clammed square
plate with thickness h = 0.1
Equilibrium path
0.14
0.12
0.1
0.08
−w
0.06
0.04
0.02
0
0 20 40 60 80 100
−P
Figure 8: Variation of maximum transverse displacement −w with pressure −P for simply supported
square plate with thickness h = 0.1
18
Equilibrium path
0.35
0.3
0.25
0.2
−w
0.15
0.1
0.05
0
0 20 40 60 80 100
−P
Figure 9: Variation of maximum transverse displacement −w with pressure −P for clammed square
plate with thickness h = 0.01
Equilibrium path
0.35
0.3
0.25
0.2
−w
0.15
0.1
0.05
0
0 20 40 60 80 100
−P
Figure 10: Variation of maximum transverse displacement −w with pressure −P for simply supported
square plate with thickness h = 0.01
19
Equilibrium path
0.35
0.3
0.25
0.2
−w
0.15
0.1
0.05
0
0 20 40 60 80 100
−P
Figure 11: Variation of maximum transverse displacement −w with pressure −P for simply supported
rectangular plate with thickness h = 0.01
Membrane locking: Membrane locking occur in curved shell elements. The term
describes a stiffening effect that occurs from pure bending deformations which are ac-
companied by membrane stresses. As membrane locking is associated with the curvature
of a structure it occurs if the elements are actually curved. The inplane deformations
energy is proportional to thickness but bending energy is proportional to cube of thick-
ness (h3 ) and so when thickness becomes very small, the bending energy contributes less
compare to inplane energy, which is not true and lead towards wrong results.
Shear locking: Shear locking can occur in beam, plate, and shell elements. From
a mathematical point of view, there is no ill-conditioning in corresponding equilibrium
equations. The important parameter in the case of shear locking is the thickness of
the element. This can be understood most easily with the help of following example.
If you consider a plate under combined shear and bending deformations, the portion
of the internal energy associated with the bending deformation is proportional to cube
of thickness (h3 ), but the portion related to shear deformations is proportional with
thickness. Now if we reduce the thickness , the value of h3 approaches zero much faster
than h and as a result, all the strain energy of the plate will come from shear deformation.
This is not correct because for a thin plate, the bending deformations provides most part
of the energy. So the shear deformation beam can lead to wrong results for very thin
plate. This is called shear locking.
20