0% found this document useful (0 votes)
5 views

Tutorial 5

The document provides tutorials on Finite Element Method (MSTR 515) focusing on Isoparametric Elements, Axisymmetric Solid Elements, and Three-Dimensional Elements. It includes exercises for calculating coordinates, displacements, stress distributions, and deformations for various structural scenarios. The content is structured with figures and mathematical formulations to guide students through the application of finite element analysis in structural engineering.

Uploaded by

Tulsi R. Khanal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Tutorial 5

The document provides tutorials on Finite Element Method (MSTR 515) focusing on Isoparametric Elements, Axisymmetric Solid Elements, and Three-Dimensional Elements. It includes exercises for calculating coordinates, displacements, stress distributions, and deformations for various structural scenarios. The content is structured with figures and mathematical formulations to guide students through the application of finite element analysis in structural engineering.

Uploaded by

Tulsi R. Khanal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Department of Civil Engineering, Kathmandu University

ME in Structural Engineering
Finite Element Method (MSTR 515)

Tutorials on Isoparametric Elements, Axi-symmetric Solid Elements and Three-Dimensional


Elements (Module 5)
Isoparametric Elements

1. Figure 1 shows a four-node quadrilateral. The (x, y) coordinates of each node are given in the figure. The
element displacement vector q is given as q = [0,0,0.20,0,0.15,0.10,0, 0.05]T

Find the following:


(a) the x-, y-coordinates of a point P whose location in the
master element is given by ξ = 0.5 and η= 0.5 and
(b) the u, v displacements of the point P.

2. In Figure 2, a half-symmetry model of a culvert is shown. The pavement load is a uniformly distributed load of 5000
N/m2. Determine the location and magnitude of maximum principal stress. (hint: develop a finite element mesh with
four-node quadrilateral elements)
Axisymmetric Solid Elements

1. An axisymmetric body with a linearly distributed load on the -conical surface is shown in Figure 1. Determine the
equivalent point loads at nodes 2, 4, and 6.

2. In Figure 2, a long cylinder of inside diameter 80 mm and outside diameter 120 mm snugly fits in a hole over its full
length. The cylinder is then subjected to an internal pressure of 2 MPa. Using two elements on the 10-mm length shown,
find the displacements at the inner radius.

3. The steel water tank shown in Figure 3 is bolted to a 5-m circular support. If the water is at a height of 3 m as shown,
find the defamed shape and stress distribution. (Note: Pressure = pgh, water density p = 1 Mg/m]. and g = 9.8m/s2.)

4. Find the deformed configuration and the stress distribution in the walls of the closed cylinder shown in Figure 4.
5. Determine the diameters after deformations and distribution of principal stresses along the radius of the infinite
cylinder subjected to the internal pressure as shown Figure 5.
Three-Dimensional Element

1. Figure 1 shows a four-node tetrahedral object. The coordinate dimensions shown are in inches. The material
is steel with E =' 30 X 106 psi and" = 0.3, Nodes 2, 3, and 4 are fixed, and a 1000 lb load is applied at node 1
as shown. Determine the displacement of node 1 using a single element.

2. Determine the deflections at the corner points of the steel cantilever beam shown in Figure 2.
clear

nodes=[34,100; %node #1 coordinates


42,100;%node #2
50,100;%node #3
34,75;
42,75;
50,75;
34,50;
42,50;
50,50;
34,25;
42,25;
50,25;
34,0;
42,0;
50,0];
%% connectivity of Nodes
conn= [1,2,4;% Element #1
4,2,5;
2,3,5;
5,3,6;
4,5,7;
7,5,8;
5,6,8;
8,6,9;
7,8,10;
10,8,11;
8,9,11;
11,9,12;
10,11,13;
13,11,14;
11,12,14;
14,12,15];

%% generating empty vector, matrices for storing values


% the number of elements in the model
nel=size(conn,1);
% the number of nodes in the model
nnode=length(nodes);
% NDOF in the model, in this case 3 DOF per node
ndof= 2*nnode;
%allocate space for the vector of element lengths;
lengths=zeros(1,nel);

% material matrix
E=200*10^6; % N/mm2
mew=0.3;
E1= E*(1-mew);
E2= (1+mew)*(1-2*mew);
Eb=mew/(1-mew);
Ec=(1-2*mew)/(2*(1-mew));
D=(E1/E2)*[1 Eb 0 Eb;
Eb 1 0 Eb;
0 0 Ec 0;
Eb Eb 0 1];
K=zeros(ndof,ndof); % allocate memory for stiffness matrix
F=zeros(ndof,1);% fpr the right hand side(forces)
Dis=zeros(ndof,1);% and the displacements
%vector and rotation matrix
kel_store=cell(nel,1);
index_store=cell(nel,1);

%% Element node wise DOF number


index_store{1}=[1 2 3 4 7 8];
index_store{2}=[7 8 3 4 9 10];
index_store{3}=[3 4 5 6 9 10];
index_store{4}=[9 10 5 6 11 12];
index_store{5}=[7 8 9 10 13 14];
index_store{6}=[13 14 9 10 15 16];
index_store{7}=[9 10 11 12 15 16];
index_store{8}=[15 16 11 12 17 18];
index_store{9}=[13 14 15 16 19 20];
index_store{10}=[19 20 15 16 21 22];
index_store{11}=[15 16 17 18 21 22];
index_store{12}=[21 22 17 18 23 24];
index_store{13}=[19 20 21 22 25 26];
index_store{14}=[25 26 21 22 27 28];
index_store{15}=[21 22 23 24 27 28];
index_store{16}=[27 28 23 24 29 30];

%% calculation of length and angle of each element


for i=1:nel
n1=conn(i,1)
n2=conn(i,2)
n3=conn(i,3)
x1=nodes(n1,1)
x2=nodes(n2,1)
x3=nodes(n3,1)
y1=nodes(n1,2)
y2=nodes(n2,2)
y3=nodes(n3,2)
x13=x1-x3;
x23=x2-x3;
x21=x2-x1;
y13=y1-y3;
y23=y2-y3;
y21=y2-y1;
det(i)=abs(x13*y23-x23*y13);
Ar(i)=0.5*det(i)
d=det(i);
r_bar(i)=(x1+x2+x3)/3; %r_bar
r_b=r_bar(i);
ind=index_store{i};
Ae=Ar(i);
N=1/3
B=[y23/d 0 -y13/d 0 -y21/d 0;
0 -x23/d 0 x13/d 0 x21/d;
-x23/d y23/d x13/d -y13/d x21/d -y21/d;
N/r_b 0 N/r_b 0 N/r_b 0];
DB{i}=D*B;
%generate the element stiffness matrix in the element local coordinate
kel=2*pi()*r_b*Ae*transpose(B)*D*B; % element stiffness matrix in global
coordinates
% store the stiffness matrix for later use;
kel_store{i}=kel;
% assemble system stifness matrix(add the element matrix in the right
% spot
K(ind,ind)=K(ind,ind)+kel;
end

%% Boundary conditions and displacement vector


f=logical([1 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0;]'); %
free DOFs; 1 means free
s=not(f); % Specified (fixed) DOFs
Dis(s)=0; % specify the displacement of the S dofs

% Load vector assembly

F(1)= 5340.72/2;
F(7)= 5340.72;
F(13)= 5340.72;
F(19)= 5340.72;
F(25)= 5340.72/2;

F_ext_load=F;
%% index vector, used for populating local stiffness matrix into global
matrix
% Global stiffness matrix assembly

% partitioning the system equations


% solve the free displacements
Kff=K(f,f)
Ksf=K(s,f)
% find the unknown displacement where free DOFs are
Ff=F(f);
Dis(f)= Kff\Ff;

% clearing small numbers

% displacement vector at free DOFs


Df=Dis(f)

% find the reaction forces where fixed DOFs are


F(s)=(Ksf*Dis(f)+K(s,s)*Dis(s))-F_ext_load(s)

F_reaction=F(s)
%% Stress in element
for i=1:nel
Db=DB{i};
id=transpose(index_store{i});
dp=Dis(id);
stress{i,1}=Db*dp;
end
for i=1:nel
S=stress{i,1};
S_1(i)=S(1);
S_2(i)=S(2);
S_3(i)=S(3);
S_4(i)=S(4);
Sigma_1(i)=(S_1(i)+S_2(i))/2+sqrt((S_1(i)-S_2(i))^2/4+S_3(i)^2);
Sigma_2(i)=(S_1(i)+S_2(i))/2-sqrt((S_1(i)-S_2(i))^2/4+S_3(i)^2);
Sigma(i)=sqrt((Sigma_1(i))^2+(Sigma_2(i))^2);
end
Sigma_1=transpose(Sigma_1);
Sigma_2=transpose(Sigma_2);
Si(1)=Sigma(1)+Sigma(5)+Sigma(9)+Sigma(13)
Si(2)=Sigma(2)+Sigma(6)+Sigma(10)+Sigma(14)
Si(3)=Sigma(3)+Sigma(7)+Sigma(11)+Sigma(15)
Si(4)=Sigma(4)+Sigma(8)+Sigma(12)+Sigma(16)

Element=[1:16]'
R=transpose(r_bar(1:4));
figure (1)
plot(R,Si)
xlabel('R')
ylabel('Stress')
for i=1:ndof
if(rem(i,2)==0)
Z_dis(i)=Dis(i);
else
R_dis(i)=Dis(i);
end
end
%% for graph
for i=1:5
j=6*i-6+1;
R_displacement(i)=R_dis(j);
k=6*i-6+2;
Z_displacement(i)=Z_dis(k);
end
R_displacement=transpose(R_displacement);
Z_displacement=transpose(Z_displacement);
Node=[1;;4;7;10;13]
T1=table(Node,R_displacement,Z_displacement)

T2=table(Element,Sigma_1,Sigma_2)
5. Determine the diameter after deformations and distribution of principal
stress along the radius of the infinite cylinder subjected to the internal
pressure as shown in fig 5.

Solution:
The area of revolution to be modeled as shown below, after considering a 16mm
long piece of shaft.

clear

nodes=[34,64; %node #1 coordinates


42,64;%node #2
50,64;%node #3
34,48;
42,48;
50,48;
34,32;
42,32;
50,32;
34,16;
42,16;
50,16;
34,0;
42,0;
50,0];
%% connectivity of Nodes
conn= [1,2,4;% Element #1
4,2,5;
2,3,5;
5,3,6;
4,5,7;
7,5,8;
5,6,8;
8,6,9;
7,8,10;
10,8,11;
8,9,11;
11,9,12;
10,11,13;
13,11,14;
11,12,14;
14,12,15];

%% generating empty vector, matrices for storing values


% the number of elements in the model
nel=size(conn,1);
% the number of nodes in the model
nnode=length(nodes);
% NDOF in the model, in this case 3 DOF per node
ndof= 2*nnode;
%allocate space for the vector of element lengths;
lengths=zeros(1,nel);

% material matrix
E=200*10^6; % N/mm2
mew=0.3;
E1= E*(1-mew);
E2= (1+mew)*(1-2*mew);
Eb=mew/(1-mew);
Ec=(1-2*mew)/(2*(1-mew));
D=(E1/E2)*[1 Eb 0 Eb;
Eb 1 0 Eb;
0 0 Ec 0;
Eb Eb 0 1];

K=zeros(ndof,ndof); % allocate memory for stiffness matrix


F=zeros(ndof,1);% fpr the right hand side(forces)
Dis=zeros(ndof,1);% and the displacements
%vector and rotation matrix
kel_store=cell(nel,1);
index_store=cell(nel,1);

%% Element node wise DOF number


index_store{1}=[1 2 3 4 7 8];
index_store{2}=[7 8 3 4 9 10];
index_store{3}=[3 4 5 6 9 10];
index_store{4}=[9 10 5 6 11 12];
index_store{5}=[7 8 9 10 13 14];
index_store{6}=[13 14 9 10 15 16];
index_store{7}=[9 10 11 12 15 16];
index_store{8}=[15 16 11 12 17 18];
index_store{9}=[13 14 15 16 19 20];
index_store{10}=[19 20 15 16 21 22];
index_store{11}=[15 16 17 18 21 22];
index_store{12}=[21 22 17 18 23 24];
index_store{13}=[19 20 21 22 25 26];
index_store{14}=[25 26 21 22 27 28];
index_store{15}=[21 22 23 24 27 28];
index_store{16}=[27 28 23 24 29 30];

%% calculation of length and angle of each element


for i=1:nel
n1=conn(i,1)
n2=conn(i,2)
n3=conn(i,3)
x1=nodes(n1,1)
x2=nodes(n2,1)
x3=nodes(n3,1)
y1=nodes(n1,2)
y2=nodes(n2,2)
y3=nodes(n3,2)
x13=x1-x3;
x23=x2-x3;
x21=x2-x1;
y13=y1-y3;
y23=y2-y3;
y21=y2-y1;
det(i)=abs(x13*y23-x23*y13);
Ar(i)=0.5*det(i)
d=det(i);
r_bar(i)=(x1+x2+x3)/3; %r_bar
r_b=r_bar(i);
ind=index_store{i};
Ae=Ar(i);
N=1/3
B=[y23/d 0 -y13/d 0 -y21/d 0;
0 -x23/d 0 x13/d 0 x21/d;
-x23/d y23/d x13/d -y13/d x21/d -y21/d;
N/r_b 0 N/r_b 0 N/r_b 0];
DB{i}=D*B;
%generate the element stiffness matrix in the element local coordinate
kel=2*pi()*r_b*Ae*transpose(B)*D*B; % element stiffness matrix in global
coordinates
% store the stiffness matrix for later use;
kel_store{i}=kel;
% assemble system stifness matrix(add the element matrix in the right
% spot
K(ind,ind)=K(ind,ind)+kel;
end

%% Boundary conditions and displacement vector


f=logical([1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0;]'); %
free DOFs; 1 means free
s=not(f); % Specified (fixed) DOFs
Dis(s)=0; % specify the displacement of the S dofs
% Load vector assembly

F(1)= 3419.42/2;
F(7)= 3419.42;
F(13)= 3419.42;
F(19)= 3419.42;
F(25)= 3419.42/2;

F_ext_load=F;
%% index vector, used for populating local stiffness matrix into global
matrix
% Global stiffness matrix assembly

% partitioning the system equations


% solve the free displacements
Kff=K(f,f)
Ksf=K(s,f)
% find the unknown displacement where free DOFs are
Ff=F(f);
Dis(f)= Kff\Ff;

% clearing small numbers

% displacement vector at free DOFs


Df=Dis(f)

% find the reaction forces where fixed DOFs are


F(s)=(Ksf*Dis(f)+K(s,s)*Dis(s))-F_ext_load(s)

F_reaction=F(s)
%% Stress in element
for i=1:nel
Db=DB{i};
id=transpose(index_store{i});
dp=Dis(id);
stress{i,1}=Db*dp;
end
for i=1:nel
S=stress{i,1};
S_1(i)=S(1);
S_2(i)=S(2);
S_3(i)=S(3);
S_4(i)=S(4);
Sigma_1(i)=(S_1(i)+S_2(i))/2+sqrt((S_1(i)-S_2(i))^2/4+S_3(i)^2);
Sigma_2(i)=(S_1(i)+S_2(i))/2-sqrt((S_1(i)-S_2(i))^2/4+S_3(i)^2);
Sigma(i)=sqrt((Sigma_1(i))^2+(Sigma_2(i))^2);
end
Sigma_1=transpose(Sigma_1);
Sigma_2=transpose(Sigma_2);
Si(1)=Sigma(1)+Sigma(5)+Sigma(9)+Sigma(13)
Si(2)=Sigma(2)+Sigma(6)+Sigma(10)+Sigma(14)
Si(3)=Sigma(3)+Sigma(7)+Sigma(11)+Sigma(15)
Si(4)=Sigma(4)+Sigma(8)+Sigma(12)+Sigma(16)

Element=[1:16]'
R=transpose(r_bar(1:4));
figure (1)
plot(R,Si)
xlabel('R')
ylabel('Stress')
for i=1:ndof
if(rem(i,2)==0)
Z_dis(i)=Dis(i);
else
R_dis(i)=Dis(i);
end
end
%% for graph
for i=1:5
j=6*i-6+1;
R_displacement(i)=R_dis(j);
k=6*i-6+2;
Z_displacement(i)=Z_dis(k);
end
R_displacement=transpose(R_displacement);
Z_displacement=transpose(Z_displacement);
Node=[1;;4;7;10;13]
T1=table(Node,R_displacement,Z_displacement)

T2=table(Element,Sigma_1,Sigma_2)

Output:
T1 =

Node R_displacement Z_displacement


____ ______________ ______________

1 3.5448e-07 0
4 3.5362e-07 0
7 3.5446e-07 0
10 3.5532e-07 0
13 3.5455e-07 0

T2 =

Element Sigma_1 Sigma_2


_______ _______ _______

1 0.96359 0.74617
2 0.86996 0.61312
3 0.64532 0.21883
4 0.59428 0.14498
5 0.93528 0.67856
6 0.87102 0.61185
7 0.63236 0.18353
8 0.59582 0.14454
9 0.93627 0.67713
10 0.87196 0.61035
11 0.63317 0.18191
12 0.59667 0.14306
13 0.93556 0.67402
14 0.84547 0.54669
15 0.63425 0.18062
16 0.58436 0.10878

Thus the outer diameter is 100mm before deformation and 107.8 mm after
deformation.

You might also like