Computer Implementation 3.2 (Matlab) Solution of Buckling Problem (P. 207)
Computer Implementation 3.2 (Matlab) Solution of Buckling Problem (P. 207)
Computer Implementation 3.2 (Matlab) Solution of Buckling Problem (P. 207)
207)
The buckling problem can be implemented easily in Matlab by defining simple functions returning element
k and kp matrices as follows.
MatlabFiles\Chap3\BucklingLinElement.m
function [ke, kp] = BucklingLinElement(k, coord)
% [ke, kp] = BucklingLinElement(k, coord)
% Generates equations for a linear element for 1D Buckling
% k = bar stiffness (EI)
% coord = coordinates at the element ends
L=coord(2)-coord(1);
ke = k/L*[1, -1; -1, 1];
kp = [L/3, L/6; L/6, L/3];
MatlabFiles\Chap3\BucklingQuadElement.m
function [ke, kp] = BucklingQuadElement(k, coord)
% [ke, kp] = BucklingQuadElement(k, coord)
% Generates equations for a quadratic element for 1D Buckling
% k = bar stiffness (EI)
% coord = coordinates at the element ends
L=coord(3)-coord(1);
ke = [(7*k)/(3*L), -((8*k)/(3*L)), k/(3*L);
-((8*k)/(3*L)), (16*k)/(3*L), -((8*k)/(3*L));
k/(3*L), -((8*k)/(3*L)), (7*k)/(3*L)];
kp = [((2*L)/15), (L/15), -L/30;
(L/15), ((8*L)/15), (L/15);
-L/30, (L/15), ((2*L)/15)];
MatlabFiles\Chap3\BucklingEx.m
% Solution of Euler buckling using quadratic elements
L = 12*10.; EI = 10^6;
nodes = [0:L/8:L];n=length(nodes);
Ke=zeros(n); Kp=zeros(n);
% Generate equations for each element and assemble them.
for i=1:4
lm=[2*(i-1)+1,2*(i-1)+2,2*(i-1)+3];
[ke, kp] = BucklingQuadElement(EI, nodes(lm));
2
>> BucklingEx
Kef =
1.0e+005 *
1.7778 -0.8889 0 0 0 0 0
-0.8889 1.5556 -0.8889 0.1111 0 0 0
0 -0.8889 1.7778 -0.8889 0 0 0
0 0.1111 -0.8889 1.5556 -0.8889 0.1111 0
0 0 0 -0.8889 1.7778 -0.8889 0
0 0 0 0.1111 -0.8889 1.5556 -0.8889
0 0 0 0 0 -0.8889 1.7778
Kep =
16 2 0 0 0 0 0
2 8 2 -1 0 0 0
0 2 16 2 0 0 0
0 -1 2 8 2 -1 0
0 0 0 2 16 2 0
0 0 0 -1 2 8 2
0 0 0 0 0 2 16
0
0.0494
0.0913
0.1193
3
0.1292
0.1193
0.0913
0.0494
0