You are on page 1of 59

Course 4BY368

Finite Element Method 2

Lecture 1:
• FE formulation of two-
dimensional vector problems
• C-matrix method
• CALFEM impl.
• Exercise 1

Linnæus University 2023 1


Example of 2D structures

A thin panel loaded in in-plane action


(plane stress problem)
Linnæus University 2023 2
Example of 2D structures

A long dam loaded in in-plane action


(plane strain problem)
Linnæus University 2023 3
Example of axisymmetric structures
General plain strain element

Axisymmetric radial
tree growth See a paper at MyMoodle
Linnæus University 2023 4
Numerical example (1D)

Implemented in CALFEM
Linnæus University 2023 5
Radial stress variation during tree growth

Pith Bark

Linnæus University 2023 6


Two-dimensional vector problems

t n

𝑏𝑧 = 𝑡𝑧 = 𝑛𝑧 = 𝑢𝑧 = 0
u
b

𝑡𝑥
t= 𝑡
t: traction vector 𝑦
𝑛𝑥
n: unit normal vector to the boundary surface n= 𝑛
𝑦

𝑏𝑥
b: body force vector b=
𝑏𝑦
u: displacement vector 𝑢𝑥
u= 𝑢
𝑦
Linnæus University 2023 7
Plane stress problem

A thin panel loaded in in-plane action

Linnæus University 2023 8


Plane stress problem (stresses)
Plane stress (xy-plane):

Stress tensor: 𝜎𝑥𝑥 𝜎𝑥𝑦


S= 𝜎 𝜎𝑦𝑦
𝑦𝑥

Traction vector:
𝑡𝑥
t = 𝑡 = S𝒏
𝑦
Stress vector:
𝜎𝑥𝑥
𝝈 = 𝜎𝑦𝑦
𝜎𝑥𝑦

Linnæus University 2023 9


Plane stress problem (balance principle)
𝑡𝑥
t = 𝑡 = S𝒏
𝑦

෩𝑇𝝈 + 𝒃 = 𝟎
The differential equation of equilibrium: 𝛁

where
𝜕 𝜕
𝜎𝑥𝑥 0
𝑏𝑥 𝜕𝑥 𝜕𝑦
𝝈 = 𝜎𝑦𝑦 ; b=
𝑏𝑦
; ෩𝑇 =
𝛁
𝜎𝑥𝑦 𝜕 𝜕
0
𝜕𝑦 𝜕𝑥
See pages 240-241
Linnæus University 2023 10
Plane stress problem (strains)
Out-of-plane shear strains:

Total strain vector


(in-plane strains):
𝑒
𝜀𝑥𝑥 𝜀𝑥𝑥 1
𝑒
𝜺 = 𝜀𝑦𝑦 = 𝜺𝑒 + 𝜺0 = 𝜀𝑦𝑦 + 𝛼∆𝑇 1
𝛾𝑥𝑦 𝑒
𝛾𝑥𝑦 0

Total strain vector 𝜀𝑥𝑥


(in and out-of-plane strains): 𝜀𝑦𝑦
𝜺2 = 𝜀
𝑧𝑧 Out-of-plane normal strain
𝛾𝑥𝑦
Linnæus University 2023 11
Plane stress problem (kinematic relations)
In-plane displacement vector:

𝑢𝑥
u= 𝑢
𝑦

Total in-plane strain vector:


𝜕
0
𝜀𝑥𝑥 𝜕𝑥
𝜕 𝑢𝑥
𝜺 = 𝜀𝑦𝑦 = 𝛁
෩𝒖 = 0
𝛾𝑥𝑦 𝜕𝑦 𝑢𝑦
𝜕 𝜕
𝜕𝑦 𝜕𝑥

Linnæus University 2023 12


Plane stress problem (constitutive relation)
In-plane stresses: 𝝈 = D(𝜺 − 𝜺0 )

For isotropic material:


𝜎𝑥𝑥 1 𝑣 0 𝜀𝑥𝑥 1
𝜎 𝐸 𝑣 1 0 𝜀𝑦𝑦 − 𝛼∆𝑇 1
𝝈 = 𝑦𝑦 = D(𝜺 − 𝜺0 ) =
1−𝑣 2 1−𝑣
𝜎𝑥𝑦 0 0 𝛾𝑥𝑦 0
2

Total in-plane strains: 𝜺 = C𝝈 + 𝜺0


𝜀𝑥𝑥 1 −𝑣 0 𝜎𝑥𝑥 1
1 𝜎𝑦𝑦 + 𝛼∆𝑇 1
𝜺 = 𝜀𝑦𝑦 = C𝝈 + 𝜺0 = −𝑣 1 0
𝐸
𝛾𝑥𝑦 0 0 2(1 + 𝑣) 𝜎𝑥𝑦 0

D = C−1
Linnæus University 2023 13
Plane stress problem (constitutive relation)
Total strain vector (for in- and out-of-plane strains):
𝜀𝑥𝑥 −𝑣 0 1
1 𝜎𝑥𝑥
𝜀𝑦𝑦 1 −𝑣 1 0 1
𝜺2 = 𝜀 = 𝜎𝑦𝑦 + 𝛼∆𝑇
𝑧𝑧 𝐸 −𝑣 −𝑣 0 𝜎𝑥𝑦 1
𝛾𝑥𝑦 0 0 2(1 + 𝑣) 0

Linnæus University 2023 14


Plane strain problem

A long dam loaded in in-plane action


𝑢𝑧 = 0
Linnæus University 2023 15
Plane strain problem (strains)
Out-of-plane shear strains:
Total strains 𝜀𝑧𝑧 = 0,

Total in-plane strain vector:


𝑒
𝜀𝑥𝑥
𝜀𝑥𝑥 1
𝑒
𝜺 = 𝜀𝑦𝑦 = 𝜺𝑒 + 𝜺0 = 𝜀𝑦𝑦 + 𝛼∆𝑇 1
𝛾𝑥𝑦 𝑒
𝛾𝑥𝑦 0

Linnæus University 2023 16


Plane strain problem (kinematic relations)
In-plane displacement vector:

𝑢𝑥
u= 𝑢
𝑦

Total in-plane strain vector:


𝜕
0
𝜀𝑥𝑥 𝜕𝑥
𝜕 𝑢𝑥
𝜺 = 𝜀𝑦𝑦 = 𝛁
෩𝒖 = 0
𝛾𝑥𝑦 𝜕𝑦 𝑢𝑦
𝜕 𝜕
𝜕𝑦 𝜕𝑥

Linnæus University 2023 17


Plane strain problem (stresses)
Stresses = 0

Stress tensor (in-plane):


𝜎𝑥𝑥 𝜎𝑥𝑦
S= 𝜎 𝜎𝑦𝑦
𝑦𝑥

Traction vector: 𝑡𝑥
t = 𝑡 = S𝒏
𝑦

Stress vectors (in-plane):


𝜎𝑥𝑥 𝜎𝑥𝑥
𝜎𝑦𝑦
𝝈 = 𝜎𝑦𝑦 𝝈2 = 𝜎
𝜎𝑥𝑦 𝑧𝑧
𝜎𝑥𝑦
Linnæus University 2023 18
Plane strain problem (balance principle)

෩𝑇𝝈 + 𝒃 = 𝟎
The differential equation of equilibrium: 𝛁

where
𝜕 𝜕
𝜎𝑥𝑥 0
𝑏𝑥 𝜕𝑥 𝜕𝑦
𝝈 = 𝜎𝑦𝑦 ; b=
𝑏𝑦
; ෩𝑇 =
𝛁
𝜎𝑥𝑦 𝜕 𝜕
0
𝜕𝑦 𝜕𝑥
Linnæus University 2023 19
Plane strain problem (constitutive relation)
In-plane strains: 𝜺 = C𝝈 + 𝜺0

For isotropic material:


𝜀𝑥𝑥 1−𝑣 −𝑣 0 𝜎𝑥𝑥 1
1+𝑣
𝜺 = 𝜀𝑦𝑦 = C𝝈 + 𝜺0 =
𝐸
−𝑣 1−𝑣 0 𝜎𝑦𝑦 + (1 + 𝑣)𝛼∆𝑇 1
𝛾𝑥𝑦 0 0 2 𝜎𝑥𝑦 0

In-plane stress: 𝝈 = D(𝜺 − 𝜺0 )

𝜎𝑥𝑥 1−𝑣 𝑣 0 𝜀𝑥𝑥 1


𝐸 𝑣 1−𝑣 0
𝝈 = 𝜎𝑦𝑦 = D(𝜺 − 𝜺0 ) = (1+𝑣)(1−2𝑣) 𝜀𝑦𝑦 − (1 + 𝑣)𝛼∆𝑇 1
(1−2𝑣)
𝜎𝑥𝑦 0 0 𝛾𝑥𝑦 0
2

C = D−1
Linnæus University 2023 20
Plane strain problem (constitutive relation)
All stresses:
𝜎𝑥𝑥 1−𝑣 𝑣 0
0 1−𝑣 0 𝜀𝑥𝑥 1
𝜎𝑦𝑦 𝐸 𝛼𝐸∆𝑇 1
𝝈2 = 𝜎 = 𝑣 𝑣 0 𝜀𝑦𝑦 −
𝑧𝑧 (1 + 𝑣)(1 − 2𝑣) (1 − 2𝑣) 𝛾𝑥𝑦 (1 − 2𝑣) 1
𝜎𝑥𝑦 0 0 0
2

Linnæus University 2023 21


2D stress problem (Summary)

Linnæus University 2023 22


2D vector problem (derivation of weak form)
Strong form of the balance equation:
Same for plane stress or
plain strain conditions:
෩𝑇𝝈 + 𝒃 = 𝟎
𝛁

𝜕𝜎𝑥𝑥 𝜕𝜎𝑥𝑦
+ + 𝑏𝑥 = 0
2D case:
𝜕𝑥 𝜕𝑦
𝜕𝜎𝑦𝑥 𝜕𝜎𝑦𝑦
+ + 𝑏𝑦 = 0
𝜕𝑥 𝜕𝑦

𝑣𝑥 Multiply by the arbitrary weight functions


Vector v: v= 𝑣 vx and vy through the above balance equations
𝑦
and integrate over the volume region V.

Linnæus University 2023 23


2D vector problem (Weak formulation)
We have:

𝜕𝜎𝑥𝑥 𝜕𝜎𝑥𝑦
න 𝑣𝑥 + 𝑑𝑉 + න 𝑣𝑥 𝑏𝑥 𝑑𝑉 = 0
𝜕𝑥 𝜕𝑦
𝑉 𝑉
2D case:

𝜕𝜎𝑦𝑥 𝜕𝜎𝑦𝑦
න 𝑣𝑦 + 𝑑𝑉 + න 𝑣𝑦 𝑏𝑦 𝑑𝑉 = 0
𝜕𝑥 𝜕𝑦
𝑉 𝑉

𝜕𝑣𝑥
𝑇 𝜕𝑣𝑦 𝜕𝑣𝑥 𝜕𝑣𝑦
For 2D case: ෨
𝛻𝒗 𝝈= 𝜎𝑥𝑥 + 𝜎𝑦𝑦 + + 𝜎𝑥𝑦
𝜕𝑥 𝜕𝑦 𝜕𝑦 𝜕𝑥

Linnæus University 2023 24


2D vector problem (Weak formulation)
• Using Green Gauss theorem, addition of the balance equations, and that displacements,
strains, stresses, traction forces and body forces do not depend on the z-coordinate:

Weak form of equilibrium equations for 2D vector problems is

𝑇

න 𝜵𝒗 𝝈𝑡𝑑𝐴 = ර 𝒗𝑇 𝒕𝑡𝑑ℒ + න 𝒗𝑇 𝒃𝑡𝑑𝐴
𝐴 ℒ 𝐴

where
𝜕
0
𝜕𝑥 𝜎𝑥𝑥
𝜕 𝑣𝑥 𝑡𝑥 𝑏𝑥
෩= 0
𝜵 ; v= 𝑣 ; 𝝈 = 𝜎𝑦𝑦 ; t= 𝑡 b=
𝜕𝑦 𝑦
𝜎𝑥𝑦 𝑦 𝑏𝑦
𝜕 𝜕
𝜕𝑦 𝜕𝑥

Linnæus University 2023 25


2D vector problem (FE-formulation)
The weak form is:

𝑇

න 𝜵𝒗 𝝈𝑡𝑑𝐴 = ර 𝒗𝑇 𝒕𝑡𝑑ℒ + න 𝒗𝑇 𝒃𝑡𝑑𝐴
𝐴 ℒ 𝐴

The approximation of
𝑢𝑥
u = 𝑢 = Na;
the displacement vector is: 𝑦

According to Galarkin, 𝑣𝑥
v = 𝑣 = Nc; ෩ v = Bc
𝜵 where ෩ N;
B=𝜵
the weight vector is: 𝑦

=> න 𝑩𝑇 𝝈𝑡𝑑𝐴 = ර 𝑵𝑇 𝒕𝑡𝑑ℒ + න 𝑵𝑇 𝒃𝑡𝑑𝐴


𝐴 ℒ 𝐴

Linnæus University 2023 26


2D vector problem (FE-formulation)
න 𝑩𝑇 𝝈𝑡𝑑𝐴 = ර 𝑵𝑇 𝒕𝑡𝑑ℒ + න 𝑵𝑇 𝒃𝑡𝑑𝐴
𝐴 ℒ 𝐴

Using the constitutive equation: 𝝈 = D(𝜺 − 𝜺0 )

and the strain approximation: ෩u = 𝜵


𝜺=𝜵 ෩ Na = Ba where ෩ N;
B=𝜵

The FE formulation for 2D vector problems is

න 𝑩𝑇 𝑫𝑩𝑡𝑑𝐴 𝒂 = ර 𝑵𝑇 𝒕𝑡𝑑ℒ + න 𝑵𝑇 𝒃𝑡𝑑𝐴 + න 𝑩𝑇 𝑫𝜺0 𝑡𝑑𝐴


𝐴 ℒ 𝐴 𝐴

where: 𝒕 = S𝒏 = 𝒉 on ℒℎ and 𝒖 = g on ℒ𝑔

Linnæus University 2023 27


2D vector problem (FE-formulation)
The FE formulation for 2D vector problems

𝑲𝒂 = 𝒇𝑏 + 𝒇𝑙 + 𝒇0
where

𝑲 = න 𝑩𝑇 𝑫𝑩𝑡𝑑𝐴 (stiffness matrix)


𝐴

𝒇𝑏 = ර 𝑵𝑇 𝒉𝑡𝑑ℒ + ර 𝑵𝑇 𝒕𝑡𝑑ℒ (boundary vector)

ℒℎ ℒ𝑔

𝒇𝑙 = න 𝑵𝑇 𝒃𝑡𝑑𝐴 (load vector)


𝐴

𝒇0 = න 𝑩𝑇 𝑫𝜺0 𝑡𝑑𝐴 (initial strain vector)

𝐴
Linnæus University 2023 28
Exercise 1

Linnæus University 2023 29


Exercise 1 (task 1)

Linnæus University 2023 30


Exercise 1 (task 2)

Linnæus University 2023 31


Exercise 1 (results)
F
Displacements
4 5 6

1 2

1 2 3

Linnæus University 2023 32


Exercise 1 (stress results)
Principle stresses

OBS: The stress values shown are


representing the element centre points

-2.3704
-2.0302

1.7518
2.1997
[MPa]

sx= 0.0000 sx= 0.0000


sy= 0.1695 sy= -0.6185
txy= -2.1133 txy= -2.0378

Linnæus University 2023 33


Exercise 1 (C-matrix method)
Procedure of the method for element implementation
𝑢𝑥
• Create the displacement vector u = 𝑢 .
𝑦
• Create approximations for the unknown
components in the displacement vector u, 𝑢𝑥 = 𝛼1 + 𝛼2 𝑥 + 𝛼3 𝑦 +….,
𝑢𝑦 = 𝛽1 + 𝛽2 𝑥 + 𝛽3 𝑦 +….
• Write a matrix formulation 𝒖 = 𝑵ഥ 𝜶 for the

𝛼1
𝛼2
.
𝑢𝑥 1 𝑥 . . 0 0 0 0 .
approximation of the displacement vector. u = 𝑢 =
𝑦 0 0 0 0 1 𝑥 . . 𝛽1
𝛽2

𝑵 .
.
𝜶

Linnæus University 2023 34


Exercise 1 (C-matrix method)
Procedure of the method for element implementation

• Use the above expression to create a relation


(in matrix form) 𝒂𝑒 = 𝑪𝜶 between the nodal
𝑢1 1 𝑥1 𝑦1 𝑥1 𝑦1 0 0 0 0 𝛼1
𝑢2 0 0 0 0 1 𝑥1 𝑦1 𝑥1 𝑦1 𝛼2
𝑢3 1 𝑥2 𝑦2 𝑥2 𝑦2 0 0 0 0 .
. . . . . . . . . .
displacements and the constant vector 𝜶. = . . . . . . . . 𝛽1
.
. . . . . . . . . 𝛽2
. . . . . . . . . .
. . . . . . . . . .
• . 𝒂𝑒 𝑪 𝜶
• Write the vector 𝜶 as a function of the nodal
displacement vector and put the expression in
to the approximation for the displacement
vector 𝒖 = 𝑵ഥ 𝜶.


𝜶= ⋮ ⋱ ⋮ 𝒂𝑒

Linnæus University 2023 35


Exercise 1 (C-matrix method)
Procedure of the method for element implementation

• The approximations for the unknown displacement vector


can always be written as 𝒖 = 𝑵𝒆 𝒂𝑒
• Based of this expression, define the element

𝒆 ഥ.
shape function matrix 𝑵 as a function of 𝑵 𝒆ഥ ⋮
𝑵 =𝑵 ⋱ ⋮

• Create the element strain matrix 𝑩𝒆 = 𝛁෩ 𝑵𝒆 as a function


ഥ.
of the matrix 𝑩
• In the element routine, use the above expressions
𝑇 𝑇
to calculate the 𝑲𝒆 = ‫ 𝐴𝑑𝑡 𝑒𝑩𝐷 𝑒𝑩 𝐴׬‬and 𝒇𝑒𝑙 = ‫𝐴𝑑𝑡𝒃 𝑒𝑵 𝐴׬‬
• For the element stress routine, calculate 𝜺 = 𝑩𝒆 𝒂𝒆 and 𝝈 = 𝑫𝜺

Linnæus University 2023 36


Exercise 1 (Commands used in the .m-file)
A procedure to create the .m-file for Exercise 1a
• Define the matrices: Coord, Dof, Edof etc.
• Use [Ex,Ey]=coordxtr(Edof,Coord,Dof,nen); %Element coordinates
• Use eldraw2(Ex,Ey,[1 3 0],Edof(:,1)); % Plot the element mesh
• Use D = hooke(ep(1),2.1E11,0.3); % Define the material matrix
• Define different matrices as global stiffness matrix K, global load vector f,
boundary condition matrix bc etc.
• Create a for-loop over all elements to calculate the global element matrix and
the global load vector:
for ii=1:NEL %A loop over all elements
[Ke,fe]=planre(Ex(ii,[1 3]),Ey(ii,[1 3]),ep,D,eq); %Element stiffness matrix
[K,f] = assem(Edof(ii,:),K,Ke,f,fe); %Global stiffness matrix
end %End of loop
• Use solveq(); to solve the equation system
• Use extract(); to eliminate nodal displacements for all elements
• Create a for-loop over all elements and use
[es(jj,:),et(jj,:)]=planrs(Ex(jj,[1 3]),Ey(jj,[1 3]),ep,D,ed(jj,:)); to calculate
the stress and strains for all the elements.
• Use eldisp2(Ex,Ey,ed,[2,4,1],100); to draw the deformed structure
• Use [magnf]=elprinc2(Ex,Ey,es(:,[1 2 3]));
• elprinc2(Ex,Ey,es(:,[1 2 3]),[1 2],magnf); to plot the principle stresses

Linnæus University 2023 37


2D solid elements in CALFEM

Linnæus University 2023 38


Element plante()(impl. with the C-matrix method)

• The C-matrix method is used


to calculate the element stiffness
matrix Ke and the load vector fe
Linnæus University 2023 39
plante() (description)

Linnæus University 2023 40


plante() (input/output variables)

Linnæus University 2023 41


plante() (theory)

Linnæus University 2023 42


plante() (matrices in the C-matrix method)

Linnæus University 2023 43


plante() (B-matrix)

Linnæus University 2023 44


plante() (Evaluation of the integrals)

Linnæus University 2023 45


planre() (purpose)

Linnæus University 2023 46


planre() (description)

Linnæus University 2023 47


planre() (description)

The

The body force vector

Linnæus University 2023 48


planre() (theory)

Linnæus University 2023 49


planre() (theory)

Linnæus University 2023 50


planre() (theory)

Linnæus University 2023 51


planre() (routine)

Linnæus University 2023 52


planre() (routine)

Linnæus University 2023 53


planrs() (purpose)

Linnæus University 2023 54


planrs() (description)

Linnæus University 2023 55


planrs() (theory)

Linnæus University 2023 56


planrs() (routine)

Linnæus University 2023 57


planrs() (routine)

Linnæus University 2023 58


planrs() (routine)

Linnæus University 2023 59

You might also like