Escolar Documentos
Profissional Documentos
Cultura Documentos
STRUCTURAL ANALYSIS
Assignment - 1
Abstract
Explicit FEM Program for stress and strain analysis of 3 bar element
SUBRAMANIAM SREENATH
ID – 28J18103
M1 STUDENT, SHIP DESIGN SUBAREA LAB
NAOE, OSAKA UNIVERSITY
Computational Structural Analysis – Assignment 1
Problem definition
Write a program for the stress and strain analysis of a 3-bar element using Explicit FEM.
Assumptions
t+dt
Calculations
𝜌𝜌 ∗ 𝐴𝐴 ∗ 𝐿𝐿 𝜌𝜌 ∗ 𝐴𝐴 ∗ 𝐿𝐿
𝑁𝑁𝑁𝑁𝑁𝑁𝑁𝑁 𝑀𝑀𝑀𝑀𝑀𝑀𝑀𝑀 𝑀𝑀1 = , 𝑀𝑀2 = 𝜌𝜌 ∗ 𝐴𝐴 ∗ 𝐿𝐿, 𝑀𝑀3 = 𝜌𝜌 ∗ 𝐴𝐴 ∗ 𝐿𝐿, 𝑀𝑀4 =
2 2
−1 1
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 𝜀𝜀 = 𝑢𝑢1 + 𝑢𝑢2 , 𝑤𝑤ℎ𝑒𝑒𝑒𝑒𝑒𝑒 𝐿𝐿 = 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙𝑙ℎ 𝑜𝑜𝑜𝑜 𝑡𝑡ℎ𝑒𝑒 𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒𝑒
𝐿𝐿 𝐿𝐿
𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆, 𝜎𝜎 = 𝐸𝐸𝐸𝐸
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹1 = −𝜎𝜎1 ∗ 𝐴𝐴
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹2 = 𝜎𝜎1 ∗ 𝐴𝐴 − 𝜎𝜎2 ∗ 𝐴𝐴
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹3 = 𝜎𝜎2 ∗ 𝐴𝐴 − 𝜎𝜎3 ∗ 𝐴𝐴
𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹4 = 𝜎𝜎3 ∗ 𝐴𝐴
𝑇𝑇ℎ𝑒𝑒 𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖𝑖 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑎𝑎𝑎𝑎𝑎𝑎 𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐𝑐 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑎𝑎𝑎𝑎𝑎𝑎 𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚𝑚 𝑎𝑎𝑎𝑎𝑎𝑎 𝑖𝑖𝑖𝑖 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡
P.T.O
program FEM_Analysis_Explicit
implicit none
!Units - S.I
!Constants
real*8, PARAMETER :: DT = 0.0001, A = 0.01, L = 1, RHO = 8050, YM = 2.0E+11
!Variables
real*8,dimension(4) :: n_mass
real*8,dimension(4) :: n_cord
real*8,dimension(500,4) :: f_e_node
real*8,dimension(500,4) :: f_int_node
real*8,dimension(500,4) :: f_net_node
real*8,dimension(500,4) :: a_node
real*8,dimension(500,4) :: v_node
real*8,dimension(500,4) :: du_node
real*8,dimension(500,4) :: u_node
real*8,dimension(500,3) :: strain
real*8,dimension(500,3) :: stress
real*8 :: dshape1, dshape2
real*8 :: time
real :: start, finish
integer :: i, t, el
call cpu_time(start)
!Initialisation
!Node Co-ordinates
n_cord(1) = 0
n_cord(2) = L
n_cord(3) = 2*L
n_cord(4) = 3*L
!Calculation
do t=2, 500
time = time+DT
!Node force,acceleration,velocity,displacement calculationss
do i=1,4
f_net_node(t,i) = f_e_node(t,i)-f_int_node(t,i)
a_node(t,i) = f_net_node(t,i)/n_mass(i)
a_node(t,4) = 0 !boundary condition
v_node(t,i) = v_node(t-1,i)+a_node(t,i)*DT
du_node(t,i) = v_node(t,i)*DT
u_node(t,i) = u_node(t-1,i) + du_node(t,i)
n_cord(i)=n_cord(i)+u_node(t,i) !update the co-ordinates
end do
end do
call cpu_time(finish)
print '("Time = ",f6.3," seconds.")',finish-start
close(unit=1)
close(unit=2)
end program FEM_Analysis_Explicit
P.T.O
Results
Strain vs Time Graph
Strain vs Time
0.0000006
0.0000004
0.0000002
0
1
11
21
31
41
51
61
71
81
91
101
111
121
131
141
151
161
171
181
191
201
211
221
231
241
251
261
271
281
291
301
311
321
331
341
351
361
371
381
391
401
411
421
431
441
451
461
471
481
491
-2E-07
-4E-07
Strain
-6E-07
-8E-07
-0.000001
-1.2E-06
-1.4E-06
-1.6E-06
Time (1 unit = 1 x 10-4 sec)
strain_el_1 strain_el_2 strain_el_3 Trend_Strain_el_1 Trend_strain_el_2 Trend_strain_el_3
From the graph we can see that the strain in each element is oscillating, this is due to the dynamic nature of the problem.
The average strain is found out by plotting a linear trendline in the graph.
It is observed that strain at nodes = −5 × 10−7 . The negative sign indicates the strain is compressive in nature.
Stress vs Time
100000
50000
0
1
11
21
31
41
51
61
71
81
91
101
111
121
131
141
151
161
171
181
191
201
211
221
231
241
251
261
271
281
291
301
311
321
331
341
351
361
371
381
391
401
411
421
431
441
451
461
471
481
491
-50000
Stress
-100000
-150000
-200000
-250000
-300000
Time (1unit = 1x10-4)
The stress vs time also has the oscillating values because strain is oscillating. The average stress in all the elements found
out by plotting the trendline comes out to be = −1 × 105 𝑁𝑁/𝑚𝑚2 . The negative sign indicating the compressive nature of the
stress.
Observations
One of the main observations while calculating the problem was the divergence of the solution
when the time step dt , was not selected properly.
𝐿𝐿
In general, 𝑑𝑑𝑑𝑑 < 𝐸𝐸
, which is the length of a member divided by the speed of sound in the medium.
�𝜌𝜌
For the current problem dt was assumed as 0.0001 which is less than the maximum value of 0.0002.
If a larger dt is assumed say 0.001, the solution will diverge.