Professional Documents
Culture Documents
Contribution
1] The nonlinear FEM code is written by me and based on reference [1], [2] and [3].
2] The nonlinear FEM theory is based on references [4] and [5].
3] 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 mistake, please write me 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 symbols, notations, nomenclatures and definitions.
URL for downloading FEM MATLAB code files
Download all MATLAB and COMSOL Multiphysics files from the URL.
FEM MATLAB Code for Geometrical Nonlinear Analysis of Membranes
http://www.mathworks.com/matlabcentral/fileexchange/54236-fem-matlab-code-for-geometricnonlinear-analysis-of-membranes
The general theory for flat membrane (length L, breadth B and thickness h) fixed at
boundaries and subjected to pressure loading is presented. For geometrically nonlinear
membrane, the displacements at mid-planes are expressed as {u, v, w} at x, y, and z
direction respectively. The displacement field of membrane is taken as
a = {u v w}T
For nonlinear problems, the virtual work principal is written as
Z
Z
T
d
dA = daT P dA
A
(1)
(2)
where ,
, a and P are strains, stress resultants, displacements and external force
vectors respectively.
For membrane, the inplane strain vector is written as
1 u 2
1 v 2
1 w 2
u
+
+
+
x
2 x
2 x
x 2 x2
2
2
v
1 u
1 v
1 w
= y =
(3)
+
+
+
y 2 y
2 y
2 y
xy
u
+ v + u u + v v + w w
y
x y
x y
x y
x
= y = 0i + L
i
xy
(4)
0i =
u
y
u
x
v
y
v
x
(5)
2
u 2
v 2
+ x
+ w
x
x
2 2 2
1
u
v
+ y
+ w
L
=
i
y
y
2
v v
w w
u
+
2
+
2
.
.
.
2 u
x y
x y
x y
For a membrane the stress resultant vector is written as
=
i
(6)
(7)
where
Zh/2
i = [Nx , Ny , Nxy ]T =
h/2
dTi i dA
(x , y , xy )dz
daT P dA
(8)
(9)
where i is inplane strains , i is inplane stress resultant. The stress (stress resultants)strain relationship for membrane is given by
i = Di ,
Eh
Nx
(1 2 )
Eh
Ny =
(1 2 )
Nxy
0
Eh
(1 2 )
Eh
(1 2 )
0
3
0
0
Eh
2(1+)
x
y
xy
(10)
4
X
i=1
4
X
Ni (, )ui
Ni (, )vi
i=1
4
X
Ni (, )wi
4
X
Ni (, )xi
(11)
i=1
The coordinates x and y within element can be obtained by the same shape functions
x=
y=
i=1
4
X
Ni (, )yi
i=1
(12)
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
3. Stiffness and force matrix formulation for each element
The displacement vector a for each element is given by
ae = {u1 v1 w1 u2 v2 w2 u3 v3 w3 u4 v4 w4 }T
(13)
(14)
dTi i dA
(15)
where
1
i = (Bi0 + BiL )a,
di = (Bi0 + BiL )da,
2
di = Bi da,
Bi = (Bi0 + BiL )
(16)
(17)
where Bi0 is linear inplane kinematic matrix, same as in infinitesimal theory, BiL is a
non-linear kinematic matrix depends on displacement a.
For non-linear system, the element equilibrium equation is
R=
BiT i dA F = 0
(18)
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
KS =
(19)
The solution algorithm for the assembled nonlinear equilibrium equations ( 18) is based
on Newton-Raphson method which consist of series of linear equations. So the Taylor
series expansion of residual R(ai+1 ) in the neighbourhood of ai is
R(ai+1 ) R(ai ) + KT a = 0
(20)
(21)
KT =
(22)
(dBi )T i dA
KT = K0 + KL + K
(23)
5
(Bi0 )T DBi0 dA
(24)
(25)
(dBi )T i dA
(dBiL )T i dA
GT dC T i dA
GT SGdA
(26)
x
G=
N1
0
0
0
N
1
0
0
0
x
N1
0
0
0
y
(27)
0
0
N4
x
N4
y
0
0
0
0
0
0
N4
x
N4
y
612
{} =
u
y
u
x
v
y
v
x
+
2
L =
u
x
1
0
2
u
y
0
u
y
u
x
v
x
v
y
0
v
y
v
x
u 2
v 2
w 2
+
+
x2 x 2 x 2
u
v
+ y
+ w
y
y
u
v v
w w
.
.
.
+
2
+
2
2 u
x y
x y
x y
w
x
0
u
y
w
x
w
y
1
C
2
1
dL
(dC + Cd)
i =
2
dL
i = CGda
L
i =
u
x
u
y
v
x
v
y
w
x
w
y
BiL = CG
here G is derivative of shape functions.
The kinematic stiffness matrix Bi0 can be written as
N1
4
0 0 N
x
x
N
1
0
0
Bi0 = 0
y
N1
N1
4
0
N
y
x
y
The kinematic stiffness matrix BiL can be written as
BiL =
u N1
x x
u N1
y y
u N1
u N1
y x + x y
v N1
x x
v N1
y y
v N1
v N1
y x + x y
w N1
x x
w N1
y y
w N1
w N1
y x + x y
dA =
Z1 Z1
1 1
|J| dd
0
N4
y
N4
x
0
0
312
312
(28)
N
x
N
y
"
=J
"
P wdA
(29)
Z1 Z1
P N |J| dd
(30)
1 1
The Guass-quadrature integration rule is used for numerical integration. For linear/nonlinear
inplane stiffness matrix, initial stress stiffness matrix and force vector 2 2 Guassquadrature integration used.
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) of the overall, or global stiffness and
force matrix. This process is called assembly.
5. Newton-Raphson numerical 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 algebraic
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 nonlinear 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 for considered pressure range and geometric
parameters, we are using force as controlling parameter. Here linearized equations are
of the form
i
KT dain+1 = Rn+1
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,KS is used only to formulate internal forces, while KT used for solution process by Newton-Raphson method.
The first order approximation of residual is written as
i
R(ai+1
n+1 ) R(an+1 ) +
R i
dai
=0
a n+1 n+1
R
a
i
= Rn+1
KT =
KTi dain+1
i
dain+1 = (KTi )1 Rn+1
Equilibrium path
0.35
0.3
0.25
0.2
0.15
0.1
0.05
20
40
60
P
80
100
120
Figure 2: Variation of maximum transverse displacement w with pressure P for clammed square
membrane with thickness h = 0.01
COMSOL 5.1.0.234
Profile of u on membrane
+2.75E002
+2.51E002
+2.27E002
+2.03E002
+1.80E002
+1.56E002
+1.32E002
+1.08E002
+8.38E003
+5.98E003
+3.59E003
+1.20E003
1.20E003
3.59E003
5.98E003
8.38E003
1.08E002
1.32E002
1.56E002
1.80E002
2.03E002
2.27E002
2.51E002
2.75E002
Figure 3: Displacement u for clamped square membrane at pressure P = 100 with thickness h = 0.01
10
COMSOL 5.1.0.234
Profile of v on membrane
+2.75E002
+2.51E002
+2.27E002
+2.03E002
+1.80E002
+1.56E002
+1.32E002
+1.08E002
+8.38E003
+5.99E003
+3.59E003
+1.20E003
1.20E003
3.59E003
5.99E003
8.38E003
1.08E002
1.32E002
1.56E002
1.80E002
2.03E002
2.27E002
2.51E002
2.75E002
Figure 4: Displacement v for clamped square membrane at pressure P = 100 with thickness h = 0.01
COMSOL 5.1.0.234
Profile of w on membrane
+0.00E+000
1.23E002
2.45E002
3.68E002
4.91E002
6.14E002
7.36E002
8.59E002
9.82E002
1.10E001
1.23E001
1.35E001
1.47E001
1.60E001
1.72E001
1.84E001
1.96E001
2.09E001
2.21E001
2.33E001
2.45E001
2.58E001
2.70E001
2.82E001
Figure 5: Displacement w for clamped square membrane at pressure P = 100 with thickness h = 0.01
11
Equilibrium path
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
20
40
60
P
80
100
120
Figure 6: Variation of maximum transverse displacement w with pressure P for clammed rectangular
membrane with thickness h = 0.001
12