Anda di halaman 1dari 20

Scanned by CamScanner

Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Problem 1

syms s

Kmid=[1 -1;-1 1];


E=80*10^9; u=[];
ERR=[];

for NELEM=1:40

X=linspace(0,.2,NELEM+1);
Le=X(NELEM+1)-X(NELEM);
GSTIFF=zeros(NELEM+1,NELEM+1);
FE=zeros(NELEM+1,1);

for i=1:NELEM KSTIFF=E*(1/(2*Le))*Kmid*int(0.001*(2-


4.5*(Le*s+X(i)+X(i+1))),-1,1);
RN=[i,i+1];
GSTIFF(RN,RN)=GSTIFF(RN,RN)+KSTIFF;

f=10^3*5*(Le/4)*int((Le*s+X(i)+X(i+1))*[1-s;1+s],-1,1);
FE(RN,1)=FE(RN,1)+f; end %now i have Gstiff and FE
%now implying boundary conditions
FE(NELEM+1,1)=FE(NELEM+1,1)+5*10^3;

%imposing PENALTY to satisfy BC


penalty=10^12; %u(0)=0
GSTIFF(1,1)=GSTIFF(1,1)+penalty;

u=linsolve(GSTIFF,FE); Uact=1.628952867*10^(-5);%@last node exact


solution analytical computation ERR(NELEM)=Uact-u(NELEM+1); %@last node

end disp('displacement
is: ') disp(u) plot(ERR)

displacement is: 1.0e-


04 *

0.0001
0.0017
0.0034
0.0051
0.0069
0.0087
0.0105
0.0124
0.0144
0.0164
0.0184
0.0206
0.0228
0.0250
0.0273
0.0297

Scanned by CamScanner
0.0322
0.0348
0.0374
0.0402
0.0431
0.0461
0.0492
0.0524
0.0558
0.0594
0.0631
0.0671
0.0713
0.0757
0.0805
0.0855
0.0910
0.0969
0.1033
0.1103
0.1182
0.1270
0.1370
0.1487
0.1628

Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner
clear
all clc

%defination of data
E=200*10^9; %elastic constant
A=pi/4*(2*10^(-3))^2; %area of truss element

%nodal coordinates
NodeCoord=[0 0;24 10;36 15;48 20;60 15;72 10;96 0;84 15;72 32;60 37;48 42;
36 37;24 32;12 15];

%connectivity
Con=[1 2;2 3;3 4;4 5;5 6;6 7;7 8;8 9;9 10;10 11;11 12;12 13;13 14;14 1;
2 14;2 13;2 12;3 12;4 12;4 11;4 10;5 10;6 10;6 9;6 8];

FE=zeros(28,1);
Gstiff=zeros(28,28);

for i=1:length(Con)

element=Con(i,:);
%finding element dimensions
y1=NodeCoord(element(1),2);
y2=NodeCoord(element(2),2);
x1=NodeCoord(element(1),1);
x2=NodeCoord(element(2),1);
dy=(y2-y1); dx=(x2-x1);

theta=vpa(atan(dy/dx)); Le=vpa(sqrt(dy^2+dx^2)); c=vpa(cos(theta));


s=vpa(sin(theta)); Le=0.0254*Le; Kelem=E*(A/Le)*[c*c s*c -c*c -s*c;s*c
s*s -s*c -s*s;-c*c -s*c c*c s*c;-s*c -s*s %forming Global stiffness matrix

%finding row number


RN=[2*element(1)-1,2*element(1),2*element(2)-1,2*element(2)];

Gstiff(RN,RN)=Gstiff(RN,RN)+Kelem;
end

%providing boundary conditions


FE(8)=vpa(200*0.453592*9.81)+FE(8);

penalty=[10^30 10^30;10^30 10^30];

Scanned by CamScanner
%node 1 and 7 is having zero
displacement
Gstiff([1 2],[1 2])=Gstiff([1 2],[1 2])+penalty;
Gstiff([13 14],[13 14])=Gstiff([13 14],[13 14])+penalty;

%finding displacement of each node


u=vpa(linsolve(Gstiff,FE))

Warning: Matrix is close to singular or badly scaled. Results may be


inaccu RCOND = 2.016641e-26. u =
0.0000000000010674864189433048803027510484542
-0.0000000000010674864189433042744575758387172
0.0000062503924293070272855056719596423
0.0010473542522755055136918223013254
-0.000016147809394080716086355281602138
0.001505059973595197081452923271172
-0.0000000000049239017804896344873029677396343
0.0018702552798103289077857880329248
0.000016147800427363498859982191002693
0.0015050599757098037483060704033733
-0.0000062504005149379740808733736667779
0.0010473542565047190642385510628287
-0.0000000000073909439508234375667931588059372
0.0000000000073909439508234375667931588059372
0.00021496499258478158982631212037262
0.00054824420290592180537297961606669
0.00010779455993022140226477584290521
0.00085625232391710261355133315674948
0.0002456023738416395407399561712225
0.0015050599757098039651465049004742
-0.0000000000068622913984415729801553403843388
0.0015517520588309672169985420353555
-0.00024560238668513626044895281630431
0.0015050599735951972982933577682729
-0.00010779457189263202433748833897198
0.00085625231968788884616416989814525
-0.0002149650015514991492539959017094
0.00054824419656210039535071398830723

Scanned by CamScanner
clear all

E=200*10^9; I=1; %assuming M.O.I. of


beam to be 1 m4

syms s; NELEM=200; %total no


of elements
Gstiff=zeros(2*(NELEM+1),2*(NELEM+
1)); FE=zeros(2*(NELEM+1),1); for
i=1:NELEM
x=linspace(0,5,NELEM+1); Le=x(NELEM)-x(NELEM-1); Ni=[1-
3*s^2+2*s^3;s*Le-2*s^2*Le+s^3*Le;3*s^2-2*s^3;-Le*s^2+Le*s^3]; %shape function
if i<=NELEM/5
q1=(1-
(Le*s+x(i))*3*10^3+10^3);
Rq=int(q1*Ni*Le,0,1); end

if i>NELEM/5 &&
i<=4*NELEM/5 q2=10^3;
Rq=int(q2*Ni*Le,0,1);
end

if i>4*NELEM/5
q3=(Le*s+x(i)-
4)*3*10^3;
Rq=int(q3*Ni*Le,0,1);
end

Kstiff=E*I/Le^3*[12 6*Le -12 6*Le;6*Le 4*Le^2 -6*Le 2*Le^2;


-12 -6*Le 12 -6*Le;6*Le 2*Le^2 -6*Le 4*Le^2]; RN=[2*i-

1,2*i,2*(i+1)-1,2*(i+1)];

FE(RN,1)=FE(RN,1)+Rq;
Gstiff(RN,RN)=Gstiff(RN,RN)+Kstiff; end

%applying BC FE(2*(NELEM/2)+1,1)=FE(2*(NELEM/2)+1,1)-
100*10^3;

penalty=10^25;
Gstiff(1,1)=Gstiff(1,1)+penalty;
Gstiff(2*(NELEM+1)-1,2*(NELEM+1)-1)=Gstiff(2*(NELEM+1)-1,2*(NELEM+1)-
1)+penalty;
Gstiff(2*(4*NELEM/5+1)-1,2*(4*NELEM/5+1)-1)=Gstiff(2*(4*NELEM/5+1)-
1,2*(4*NELEM/5+1
Gstiff(2*(NELEM/5+1)-1,2*(NELEM/5+1)-1)=Gstiff(2*(NELEM/5+1)-1,2*(NELEM/5+1)-
1)+pen
Gstiff(2*(NELEM/2+1),2*(NELEM/2+1))=Gstiff(2*(NELEM/2+1),2*(NELEM/2+1))+penalty
;

v=vpa(linsolve(Gstiff,FE));
%finding value of deflection
only u=[]; p=1;

Scanned by CamScanner
for
i=1:2*(NELEM+1)
if mod(i,2)==1
u(p,1)=v(i,1);
p=p+1; end
end plot(u)

Scanned by CamScanner
%finding moment values Mom=[];
du=[]; for i=1:NELEM
du(i)=(u(i+1)-u(i))/Le; end
for i=1:(NELEM-1)
Mom(i)=E*I*(du(i+1)-du(i))/Le;
end figure plot(Mom)
ylabel('Moment diagram')

%finding shear force ShrFrs=[];


for i=1:(NELEM-2)
ShrFrs(i)=(Mom(i+1)-Mom(i))/Le;
end figure plot(ShrFrs)
ylabel('shear force diagram')

Scanned by CamScanner
Scanned by CamScanner
Scanned by CamScanner

Anda mungkin juga menyukai