Sunteți pe pagina 1din 12

FEM MATLAB Code for Geometrical Nonlinear Analysis of Membranes

Amit Patil (KTH Mechanics, Stockholm) aspatil07@gmail.com

References:
1] A. Patil and S. S. Kolukula, FEM Matlab Code for Linear and Nonlinear Bending Analysis of plates.
2] S. S. Kolukula, MATLAB FEM Program for Linear Bending Analysis of plates.
3]A.J.M. Ferreira, MATLAB Codes for Finite Element Analysis, Springer Publications,
2008.
4] H. G. Allen and H. H. Al-Qarra., Geometrically Nonlinear Analysis of Structural
Membranes, Computers and Structures, 25(6), 871–876, 1987.
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 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 mis-
take, 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 sym-
bols, 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-geometric-
nonlinear-analysis-of-membranes

1
Geometrically Nonlinear Analysis of Membranes

1. Theory and assumptions


1. The non-linear static analysis is considered. Only geometric non-linearity is con-
sidered. Material is considered to homogeneous, isotropic and linear elastic. Dy-
namical effects are neglected.
2. Deformations are large to use finite deformation theory (Geometric non-linearity).
3. The membrane is a planer two dimensional elastic continuum that does not resits
or transmits bending moment. The thickness of membrane is very small compare
to other dimensions.

Figure 1: Undeformed and deformed membrane geometry

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 (1)

For nonlinear problems, the virtual work principal is written as


Z Z
dǫ σ̂dA = daT P dA
T
(2)
A A

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
 + + +
 ∂x 2 ∂x2 2  ∂x 
2
2 ∂x 
2 
ǫ =  ǫy  =  ∂v 1 ∂u 1 ∂v 1 ∂w (3)
+
 ∂y 2 ∂y + 2 ∂y + 2 ∂y


γxy ∂u
+ ∂v + ∂u ∂u + ∂v ∂v + ∂w ∂w
∂y ∂x ∂x ∂y ∂x ∂y ∂x ∂y

 
ǫx
ǫ =  ǫy  = ǫ0i + ǫL
   
i (4)
γxy
where the linear inplane strains are
 
∂u
∂x
∂v
ǫ0i =  (5)
 
∂y 
∂u ∂v
∂y + ∂x

and the nonlinear inplane strains are


∂u 2 ∂v 2
2
+ ∂w
   
∂x + ∂x ∂x
 2  2  2
1 ∂u ∂v
ǫL + ∂w

i = 
∂y + ∂y  (6)
2    ∂y  
2 ∂u .
∂x ∂y
∂u
+ 2 ∂v ∂v
.
∂x ∂y + 2 ∂w ∂w
.
∂x ∂y

For a membrane the stress resultant vector is written as


 
σ̂ = σ̂i (7)
where
 T
Zh/2
σ̂i = [Nx , Ny , Nxy ]T =  (σx , σy , σxy )dz  (8)
 

−h/2

The virtual work is re-written as


Z Z
dǫTi σ̂i dA = daT P dA (9)
A A

where ǫi is inplane strains , σi is inplane stress resultant. The stress (stress resultants)-
strain relationship for membrane is given by
σi = Dǫi ,
   Eh Ehν
0
  
Nx (1−ν 2 ) (1−ν 2 ) ǫx
Ehν Eh
 Ny  =   (1−ν 2 ) (1−ν 2 )
0  
 ǫy  (10)
Nxy Eh γxy
0 0 2(1+ν)

3
2. 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
X4
v= Ni (ξ, η)vi
i=1
X4
w= Ni (ξ, η)wi (11)
i=1

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
(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)
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 (14)

4
The variation of strain energy of the membrane is written as
Z
δU = dǫTi σ̂i dA (15)
A

where
1
ǫi = (Bi0 + BiL )a, dǫi = (Bi0 + BiL )da, (16)
2
dǫi = Bi da, Bi = (Bi0 + BiL ) (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
Z
R= BiT σ̂i dA − F = 0 (18)
A

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
KS = ((Bi0 )T DBi0 + 1/2(Bi0 )T DBiL + (BiL )T DBi0 + 1/2(BiL )T DBiL )dA (19)
A

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)

where KT is assembled tangent stiffness matrix and given by


∂R
KT = (21)
∂a
Z
ˆ i + (dBi )T σ̂i )dA
KT = ((Bi )T dσ (22)
A

ˆ i = Ddǫi = D(B 0 + B L )da. So tangent stiffness matrix KT is written as


here dσ i i
Z Z
KT = ((Bi0 )T DBi0 + (Bi0 )T DBiL + (BiL )T DBi0 + (BiL )T DBiL )dA + (dBi )T σ̂i dA
A A
KT = K0 + KL + Kσ (23)

5
The linear inplane stiffness matrix is given by
Z
K0 = (Bi0 )T DBi0 dA (24)
A

The nonlinear inplane-bending stiffness matrix can be written as


Z
KL = ((Bi0 )T DBiL + (BiL )T DBi0 + (BiL )T DBiL )dA (25)
A

The initial stress matrix or geometric matrix is written as


Z
Kσ = (dBi )T σ̂i dA
A
Z
= (dBiL )T σ̂i dA
A
Z
= GT dC T σ̂i dA
A
Z
= GT SGdA (26)
A

The mathematical property of matrix C insures that dC T σ̂i = SG.


 
Nx I3 Nxy I3
S= (27)
Nxy I3 Ny I3 6×6

where I3 is 3 × 3 identity matrix.


 ∂N1
− − − − − − − − − − − − − − − ∂N

∂x 0 0 ∂x
4
0 0
 ∂N1 0 0 ∂N4
− − − − − − − − − − − − − − − ∂y 0 0 
 ∂y 
 0 ∂N1 ∂N4
∂x 0 − − − − − − − − − − − − − − −0 ∂x 0 
G=
 
∂N1 ∂N4
0 0 − − − − − − − − − − − − − − −0 0

 ∂y ∂y 

 0 ∂N ∂N4 
0 ∂x
1
− − − − − − − − − − − − − − −0 0 ∂x

∂N1 ∂N4
0 0 ∂y − − − − − − − − − − − − − − −0 0 ∂y 6×12

6
The inplane strain can be written as

{ǫ} = {ǫ0i } + {ǫL


i }
∂u 2 ∂v 2 ∂w 2
    
+ +
 
∂u
∂x  ∂x2  ∂x 2 ∂x 2
∂v 1 ∂u ∂v
+ ∂w

{ǫ} = 

∂y  + 

∂y + ∂y
 ∂y

∂u ∂v 2 
+
  
∂y ∂x 2 ∂u . ∂u
∂x ∂y + 2 ∂v ∂v
.
∂x ∂y + 2 ∂w ∂w
.
∂x ∂y

dǫ = (Bi0 + BiL )da


∂u
 
∂x
   ∂u 
∂u ∂v ∂w ∂y
∂x 0 ∂x 0 ∂x 0 
∂v

1 ∂u ∂v ∂u

∂x

ǫL =  0 0 0   
∂y ∂y ∂y ∂v
2
  
∂u ∂u ∂v ∂v ∂w ∂w  ∂y 
∂y ∂x ∂y ∂x ∂y ∂x
 ∂w 
∂x
 
∂w
∂y
1
ǫL
i = Cθ
2
1
dǫL
i = (dCθ + Cdθ)
2
dǫL
i = CGda
BiL = CG

here G is derivative of shape functions.


The kinematic stiffness matrix Bi0 can be written as
 
∂N1
∂x 0 0 − − − − − − − − − − ∂N ∂x
4
0 0
∂N ∂N4
Bi0 =  0 1
0 −−−−−−−−−− 0 0 

∂y ∂y 
∂N1 ∂N1
∂y ∂x 0 − − − − − − − − − − ∂N
∂y
4 ∂N4
∂x 0
3×12

The kinematic stiffness matrix BiL can be written as


 
∂u ∂N1 ∂v ∂N1 ∂w ∂N1
∂x ∂x ∂x ∂x ∂x ∂x −−−−−−−
∂u ∂N1 ∂v ∂N1 ∂w ∂N1
BiL =  −−−−−−−−− 

∂y ∂y ∂y ∂y ∂y ∂y 
∂u ∂N1 ∂u ∂N1 ∂v ∂N1 ∂v ∂N1 ∂w ∂N1 ∂w ∂N1
∂y ∂x + ∂x ∂y ∂y ∂x + ∂x ∂y ∂y ∂x + ∂x ∂y − − − − − − − − −−
3×12

converting above all equations into natural coordinates as,

Z Z1 Z1
dA = |J| dξdη (28)
A −1 −1

7
where J is Jacobian and written as
" #
∂x ∂y
∂ξ ∂ξ
J= ∂x ∂y
∂η ∂η
" #
 ∂N  ∂N
∂x −1 ∂ξ
∂N =J ∂N
∂y ∂η

The pressure work is written as


Z
W = P wdA (29)
A

The force vector is written as


Z1 Z1
F = P N |J| dξdη (30)
−1 −1

where N is vector of shape functions.


 
N = 0 0 N1 − − − − − − − − − − − − − − −0 0 N4 1×12

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 Guass-
quadrature 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 non-
linear system either force or displacement can be a controlling parameter. To circum-
vent 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

KT dain+1 = −Rn+1
i

8
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 for-
mulate internal forces, while KT used for solution process by Newton-Raphson method.
The first order approximation of residual 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

The series of successive approximation gives

ai+1 i i
n+1 = an+1 + dan+1

where n + 1 is a equilibrium solution number and i is a Newton iteration number at


specific equilibrium point. The Newton iterations at each force level is continued until
residual becomes less than tolerance level. (approximately zero,say 10−4 ).
One point must be noted here, membrane must be pre-stretched before application of
load because membrane initially don’t have stiffness so when we try to find solution
without initial stress it will not give solutions as all entries in the rows of stiffness
matrix, corresponding to dof ”w” are zero, so we will not get a solution. So membrane
must have initial stress (any value) which make it taught before application of loads, so
add some pre-stress S0 in initial stress matrix, eq. (27). This also true for membrane
analysis using commercial FEM softwares, we have to provide initial stress/strain values.

6. Results and verification

Here we will show results of clamped square and rectangular membrane, using a 10
× 10 Q4 mesh. The following non-dimensional parameter are chosen for the study. For
square membrane; length L = 1, breadth B = 1, thickness h = 0.01, Young Modulus
E = 10920, Poisson’s ratio ν = 0.3. For rectangular membrane; length is taken as
L = 1.5 and thickness h = 0.001 by keeping all other parameters same. For verifications
of the results COMSOL Multiphysics software is used.

9
Equilibrium path
0.35

0.3

0.25

0.2
−w

0.15

0.1

0.05

0
0 20 40 60 80 100 120
−P

(a) MATLAB Results (b) COMSOL Results

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.75E−002
+2.51E−002
+2.27E−002
+2.03E−002
+1.80E−002
+1.56E−002
+1.32E−002
+1.08E−002
+8.38E−003
+5.98E−003
+3.59E−003
+1.20E−003
−1.20E−003
−3.59E−003
−5.98E−003
−8.38E−003
−1.08E−002
−1.32E−002
−1.56E−002
−1.80E−002
−2.03E−002
−2.27E−002
−2.51E−002
−2.75E−002

(a) MATLAB Results (b) COMSOL Results

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.75E−002
+2.51E−002
+2.27E−002
+2.03E−002
+1.80E−002
+1.56E−002
+1.32E−002
+1.08E−002
+8.38E−003
+5.99E−003
+3.59E−003
+1.20E−003
−1.20E−003
−3.59E−003
−5.99E−003
−8.38E−003
−1.08E−002
−1.32E−002
−1.56E−002
−1.80E−002
−2.03E−002
−2.27E−002
−2.51E−002
−2.75E−002

(a) MATLAB Results (b) COMSOL Results

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.23E−002
−2.45E−002
−3.68E−002
−4.91E−002
−6.14E−002
−7.36E−002
−8.59E−002
−9.82E−002
−1.10E−001
−1.23E−001
−1.35E−001
−1.47E−001
−1.60E−001
−1.72E−001
−1.84E−001
−1.96E−001
−2.09E−001
−2.21E−001
−2.33E−001
−2.45E−001
−2.58E−001
−2.70E−001
−2.82E−001

(a) MATLAB Results (b) COMSOL Results

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
−w

0.4

0.3

0.2

0.1

0
0 20 40 60 80 100 120
−P

(a) MATLAB Results (b) COMSOL Results

Figure 6: Variation of maximum transverse displacement −w with pressure −P for clammed rectangular
membrane with thickness h = 0.001

12

S-ar putea să vă placă și