Sei sulla pagina 1di 3

1 function MAIN(DMMY)

2 close all
3 clc
4 #########################################################
5 # INPUT #
6 #########################################################
7 NNDE=7; % NUMBER OF NODAL POINTS
8 NELE=11; % NUMBER OF STRUCTURAL ELEMENTS
9 % XYCO GIVES THE X & Y COORDINATES OF NODAL POINTS
10 % [ X , Y ]
11 XYCO=[ 0.0 0.0 ; % NODE1
12 15.0 4.0 ; % NODE2
13 18.0 0.0 ; % NODE3
14 9.0 4.0 ; % NODE4
15 3.0 4.0 ; % NODE5
16 6.0 0.0 ; % NODE6
17 12.0 0.0 ]; % NODE7
18 % NMAP EXPLAINS HOW MEMBERS CONNECT TO THE NODES
19 % [ STARTING , ENDING ]
20 NMAP=[ 6 5 ; % ELEMENT01
21 2 4 ; % ELEMENT02
22 6 7 ; % ELEMENT03
23 2 3 ; % ELEMENT04
24 4 7 ; % ELEMENT05
25 5 4 ; % ELEMENT06
26 1 5 ; % ELEMENT07
27 1 6 ; % ELEMENT08
28 6 4 ; % ELEMENT09
29 7 2 ; % ELEMENT10
30 7 3 ]; % ELEMENT11
31 % STRUCTURAL ELEMENT PROPERTIES
32 % [ EA , ALPH (Coefficient of Thermal Expansion) ]
33 EPRP=[ 1.0 1e-5 ; % ELEMENT01
34 3.0 1e-5 ; % ELEMENT02
35 3.0 1e-5 ; % ELEMENT03
36 1.0 1e-5 ; % ELEMENT04
37 1.0 1e-5 ; % ELEMENT05
38 3.0 1e-5 ; % ELEMENT06
39 1.0 1e-5 ; % ELEMENT07
40 3.0 1e-5 ; % ELEMENT08
41 1.0 1e-5 ; % ELEMENT09
42 1.0 1e-5 ; % ELEMENT10
43 3.0 1e-5 ]; % ELEMENT11
44
45 function [KELE]=TRSTIFF(EA,LENG,ORIN)
46 KLOC=zeros(2,2);
47 KLOC(1,1)=1.0;
48 KLOC(1,2)=-1.0;
49 KLOC(2,1)=-1.0;
50 KLOC(2,2)=1.0;
51 KLOC=(EA/LENG)*KLOC;
52 %
53 DCOS=zeros(2,4);
54 DCOS(1,1)=cos(ORIN);
55 DCOS(1,2)=sin(ORIN);
56 DCOS(2,3)=DCOS(1,1);
57 DCOS(2,4)=DCOS(1,2);
58 %
59 KELE=DCOS'*KLOC*DCOS;
60 endfunction
61
62
63 % PLOT THE STRUCTURE (UNDEFORMED SHAPE)
64 if (DMMY == 1)
65 hold on;
66 TEMX=zeros(2,1);
67 TEMY=zeros(2,1);
68 for i=1:NELE
69 TEMX(1,1)=XYCO(NMAP(i,1),1); % X-COORD OF STARTINGG NODE
70 TEMX(2,1)=XYCO(NMAP(i,2),1); % X-COORD OF ENDINGG NODE
71 TEMY(1,1)=XYCO(NMAP(i,1),2); % Y-COORD OF STARTINGG NODE
72 TEMY(2,1)=XYCO(NMAP(i,2),2); % Y-COORD OF ENDINGG NODE
73 plot(TEMX,TEMY,'-b');
74 endfor
75 axis equal;
76 endif
77 % GEOMETRICAL PROPERTIES OF MEMBERS
78 GEOM=zeros(NELE,2);
79 for i=1:NELE
80 DELX=XYCO(NMAP(i,2),1)-XYCO(NMAP(i,1),1);
81 DELY=XYCO(NMAP(i,2),2)-XYCO(NMAP(i,1),2);
82 GEOM(i,1)=sqrt(DELX*DELX+DELY*DELY);
83 if (DELX>=0) && (DELY>=0)
84 GEOM(i,2)=atan(abs(DELY/DELX));
85 elseif ((DELX == 0) && (DELY > 0))
86 GEOM(i,2)=0.5*pi;
87 elseif (DELX < 0) && (DELY > 0)
88 GEOM(i,2)=pi-atan(abs(DELY/DELX));
89 elseif (DELX < 0) && (DELY== 0)
90 GEOM(i,2)=pi;
91 elseif (DELX < 0) && (DELY < 0)
92 GEOM(i,2)=pi+atan(abs(DELY/DELX));
93 elseif (DELX == 0) && (DELY < 0)
94 GEOM(i,2)=1.5*pi;
95 elseif (DELX > 0) && (DELY < 0)
96 GEOM(i,2)=2*pi-atan(abs(DELY/DELX));
97 endif
98 endfor
99 % ESSENTIAL BOUNDARY CONDITIONS
100 % [ DoF , DELTA ]
101 BCND=[ 1 0.0 ; % BC#1
102 2 0.0 ; % BC#2
103 6 0.0 ]; % BC#3
104 NBCN=size(BCND,1);
105 % APPLIED DoF FORCES
106 % [ DoF , FORCE MAGNITUDE (+/-) ]
107 DFRC=[ 10 -10.0 ;
108 8 -10.0 ;
109 4 -10.0 ];
110 NFRC=size(DFRC,1);
111 FSYS=zeros(2*NNDE,1);
112 for i=1:NFRC
113 FSYS(DFRC(i,1),1)=FSYS(DFRC(i,1),1)+DFRC(i,2);
114 endfor
115 %
116 KSYS=zeros(2*NNDE,2*NNDE);
117 %
118 for i=1:NELE
119 [KELE]=TRSTIFF(EPRP(i,1),GEOM(i,1),GEOM(i,2));
120 for j=1:2
121 for k=1:2
122 KSYS(2*NMAP(i,j)-1,2*NMAP(i,k)-1)=...
123 KSYS(2*NMAP(i,j)-1,2*NMAP(i,k)-1)...
124 +KELE(2*j-1,2*k-1); % (1,1)
125 KSYS(2*NMAP(i,j)-1,2*NMAP(i,k))=...
126 KSYS(2*NMAP(i,j)-1,2*NMAP(i,k))...
127 +KELE(2*j-1,2*k); % (1,2)
128 KSYS(2*NMAP(i,j),2*NMAP(i,k)-1)=...
129 KSYS(2*NMAP(i,j),2*NMAP(i,k)-1)...
130 +KELE(2*j,2*k-1); % (2,1)
131 KSYS(2*NMAP(i,j),2*NMAP(i,k))=...
132 KSYS(2*NMAP(i,j),2*NMAP(i,k))...
133 +KELE(2*j,2*k); % (2,2)
134 endfor
135 endfor
136 endfor
137 % MODIFICATION OF THE ORIGINAL SYSTEM ARRAYS FOR BCs
138 FSYS=[FSYS;zeros(NBCN,1)];
139 KSYS=[KSYS;zeros(NBCN,2*NNDE)];
140 KSYS=[KSYS zeros(2*NNDE+NBCN,NBCN)];
141 for i=1:NBCN
142 FSYS(BCND(i,1),1)=0.0;
143 FSYS(2*NNDE+i,1)=-BCND(i,2);
144 KSYS(2*NNDE+i,BCND(i,1))=-1.0;
145 KSYS(BCND(i,1),2*NNDE+i)=-1.0;
146 endfor
147 % SOLUTION
148 DISP=KSYS\FSYS
149 % PLOT DEFORMED SHAPE
150 hold on;
151 TEMX=zeros(2,1);
152 TEMY=zeros(2,1);
153 for i=1:NELE
154 TEMX(1,1)=XYCO(NMAP(i,1),1); % X-COORD OF STARTINGG NODE
155 TEMX(2,1)=XYCO(NMAP(i,2),1); % X-COORD OF ENDINGG NODE
156 TEMY(1,1)=XYCO(NMAP(i,1),2); % Y-COORD OF STARTINGG NODE
157 TEMY(2,1)=XYCO(NMAP(i,2),2); % Y-COORD OF ENDINGG NODE
158 plot(TEMX,TEMY,'--b');
159 endfor
160 EXAG=0.01;
161 for i=1:NELE
162 TEMX(1,1)=XYCO(NMAP(i,1),1)+EXAG*DISP(2*NMAP(i,1)-1,1);
163 TEMX(2,1)=XYCO(NMAP(i,2),1)+EXAG*DISP(2*NMAP(i,2)-1,1);
164 TEMY(1,1)=XYCO(NMAP(i,1),2)+EXAG*DISP(2*NMAP(i,1),1);
165 TEMY(2,1)=XYCO(NMAP(i,2),2)+EXAG*DISP(2*NMAP(i,2),1);
166 plot(TEMX,TEMY,'-r');
167 endfor
168
169
170
171 axis equal;
172
173
174
175 endfunction
176

Potrebbero piacerti anche