Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Prof C.Steeves
x
0
0.2500
0.5000
0.7500
1.0000
1.2500
1.5000
1.7500
2.0000
2.2500
2.5000
2.7500
3.0000
3.2500
3.5000
3.7500
4.0000
4.0000
3.7500
3.5000
3.2500
3.0000
2.7500
2.5000
2.2500
2.0000
1.7500
1.5000
1.2500
1.0000
0.7500
0.5000
0.2500
0
y
0
0.0156
0.0313
0.0469
0.0625
0.0781
0.0938
0.1094
0.1250
0.1406
0.1563
0.1719
0.1875
0.2031
0.2188
0.2344
0.2500
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
0.5000
iii) Displacement of the nodes along the right edge of the beam:
U=
x
-0.0000
0.0002
y
-0.0023
-0.0023
(bottom)
(top)
Figure 1: x direction strain is shown to vary across the height of the beam
Figure 2: y direction strain is shown to vary along the length of the beam
Figure 4: xy-direction strain has an oscillatory effect along the length of the beam
Figure 5: von-Mises equivalent stress varies across the length of the beam
Figure 6: mesh plot of the von-Mises equivalent stress showing the variation along the rest of the beam
MATLAB Code
%% Advanced Aerospace Structures
% Assignment 4: Finite Element Solution to Tapered Cantilever Beam
% Isoparametric Element (15 QuadralateralElemets)
% Victor Shih
clc;
clearall;
closeall;
% assume plane stress
t = 0.1;
E = 75e9;
nu = 0.3;
D = (E/(1-nu^2))*[1 nu 0;...
nu 1 0;...
0 0 (1-nu)/2];
%% FORMING NODES xg
elems = 16;
nodes = 2*(elems+1);
cx = 0:4/elems:4;
cyt = zeros(1,elems+1) + 0.5;
cyb = zeros(1,elems+1);
fori = 1:elems+1
cyb(i) = 0.25/4*cx(i);
end
xg = horzcat([cx;cyb],[cx(elems+1:-1:1);cyt])'
figure(1)
plot(xg(:,1),xg(:,2), '-ob')
holdon
axis([-0.05 4.05 -0.05 0.55])
gridon
% view(2)
%% FORM GLOBAL STIFFNESS MATRIX and GLOBAL FORCE VECTOR
Kg = zeros(2*nodes);
fg = zeros(2*nodes,1);
%element loop
fori = 1:elems
x = form_x(i,elems,nodes,xg);
K = form_K(D,x,t);
L = form_fetch(i,nodes);
Kg = Kg + L'*K*L;
ifi> 12
load = [0, -1e3];
N = [1 0 0 0 0 0 1 0;...
0 1 0 0 0 0 0 1];
f = (load*N)';
fg = fg + L'*f;
end
end
%% CALCULATE DISPLACEMTN dg
%remove boundary nodes
K = Kg(3:2*nodes-2,3:2*nodes-2);
f = fg(3:2*nodes-2);
%calculate displacement
d = K\f;
xi2, x);
xi2, x);
xi2, x);
xi2, x);
L = form_fetch(i,nodes);
d = L*dg;
e_a
e_b
e_c
e_d
s_av
s_bv
s_cv
s_dv
=
=
=
=
sqrt(
sqrt(
sqrt(
sqrt(
s_a(1)^2
s_b(1)^2
s_c(1)^2
s_d(1)^2
s_a(1)*s_a(2)
s_b(1)*s_b(2)
s_c(1)*s_c(2)
s_d(1)*s_d(2)
+
+
+
+
s_a(2)^2
s_b(2)^2
s_c(2)^2
s_d(2)^2
+
+
+
+
3*s_a(3)^2
3*s_b(3)^2
3*s_c(3)^2
3*s_d(3)^2
);
);
);
);
% %exy-gauss pt plot
figure(4)
plot(xg(:,1),xg(:,2), '-ob')
hold on
grid on
[C,h] = contour(x_gauss,y_gauss,e_xy);
clabel(C,h);
axis([0 4 0 0.5])
hold off
node
node
node
node
a
b
c
d
x = L*xg;
end
=
=
=
=
detJ1*H1'*D*H1;
detJ2*H2'*D*H2;
detJ3*H3'*D*H3;
detJ4*H4'*D*H4;
K = t*(K1+K2+K3+K4);
function N = form_shape(xi1,xi2)
Na
Nb
Nc
Nd
=
=
=
=
1/4*(1-xi1)*(1-xi2);
1/4*(1+xi1)*(1-xi2);
1/4*(1+xi1)*(1+xi2);
1/4*(1-xi1)*(1+xi2);
N = [Na;Nb;Nc;Nd];
function L = form_fetch(i,nodes)
L = zeros(8, nodes*2);
%fetch node a
L(1,2*nodes-2*i+1) = 1;
L(2,2*nodes-2*i+2) = 1;
%fetch node b
L(3,2*i-1) = 1;
L(4,2*i) = 1;
%fetch node c
L(5,2*i+1) = 1;
L(6,2*i+2) = 1;
%fetch node d
L(7,2*nodes-2*i-1) = 1;
L(8,2*nodes-2*i) = 1;
end