一、 程式設計原理
如圖1-1,所計算結構為4層高,6跨在第3跨布置斜桿,節點為剛接的框架。
圖1-1 框架結構簡圖
(1) 位移編碼
以桿件為單元,將結構拆分,建立整體座標系,並對節點位移按圖1-2所示編碼。
圖1-2 位移編碼圖
(2) 單元分析
所有單元均為平面彎曲式自由單元如圖1-3所示。
圖1-3 自由式單元幹段位移和杆端力
桿件的單元剛度矩陣
其中(3) 建立區域性座標系
分別建立如圖1-4所示的豎向分體系區域性座標系,水平分體系區域性座標系和斜桿分體系座標系。
圖1-4 分體系區域性座標系的建立
(4) 建立分體系剛度
分別建立三個分體系的105×105的剛度矩陣,引入迴圈變數,依次對相應位移剛度賦值。
(5) 座標轉換
對豎向座標系和斜桿體系進行轉置,其座標轉換陣為
其中。(6) 建立整體剛度方程
將三個剛度矩陣相加,得到整體剛度方程。
(7) 建立荷載矩陣
外力的矩陣為單元杆端力與單元等效節點荷載矩陣之和。因本結構只在第一列柱子上有水平均布荷載作用,所以外力矩陣為105×1的0矩陣,與105×1的等效節點荷載疊加後可得荷載矩陣。
(8) 邊界條件處理
因為柱底與大地剛接,所以支座處不發生位移,利用置零置一法對剛度矩陣進行處理,使位移滿足條件。
(9) 聯立方程求解
通過方程求出位移矩陣。則40,61,82,103位移編號所對應的位移值為所求點位移。
(10) 通過位移求解彎矩
將位移帶回到單元方程中,求出對應的力,豎直分體系的位移需進行乙個轉置再代入計算最後的。
二. 程式說明
本程式使用matlab軟體通過矩陣位移法對題目進行程式設計設計,按照提示輸入柱子的抗彎剛度eic;柱子的抗壓剛度eac;梁的抗彎剛度eib;梁的抗壓剛度 eab;斜桿的抗彎剛度eio;斜桿的抗壓剛度eao;側向均布荷載集度q,便可得到最右端節點的位移和彎矩。
在建立剛度矩陣,引入ii和jj作為迴圈變數,根據剛度矩陣特點對節點逐列逐跨進行矩陣塊的迴圈賦值。在建立節點力矩陣的過程中,首先對外力進行化簡,找出等效力的規律,然後進行力的矩陣的賦值。
在整體座標系下,通過力與剛度和位移的關係,聯立方程求解節點的位移矩陣,再將節點位移代回到區域性座標系下的平衡方程中求出桿端力。
該程式借用matlab軟體中大量的矩陣賦值和矩陣運算語句,通過對桿件單元和節點的資料化處理,實現計算機對結構的計算,改程式經過簡單修改後即可按照輸入指令,計算n列n跨任意位置加斜桿的鋼架體系,具有一定的普遍性。
三. 演算法流程
四. 源**
disp('四層,六跨,第三跨有斜桿鋼架求解:');
l=input('跨度l=\n');
h=input('層高h =\n');
eic=input('柱的抗彎剛度eic=\n');
eac=input('柱的抗壓eac=\n');
eib=input('梁的抗彎剛度eib=\n');
eab=input('梁的抗壓eab=\n');
eio=input('斜桿的抗彎剛度eio =\n');
eao=input('斜桿的抗壓剛度eao =\n');
q=input('水平均布荷載集度q =\n');
a=zeros(105,105);
e=zeros(105,105);
x=zeros(105,105);
%豎向分體系剛度矩陣%
s1=eac/h;
s2=12*eic/(h^3);
s3=6*eic/(h^2);
s4=4*eic/h;
s5=2*eic/h;
for jj=1:1:7
a(3*jj-2:3*jj,3*jj-2:3*jj)=[s1 0 0;0 s2 s3;0 s3 s4];
a(21+3*jj-2:21+3*jj,21+3*jj-2:21+3*jj)=[2*s1 0 0;0 2*s2 0;0 0 2*s4 ];
a(3*jj-2:3*jj,21+3*jj-2:21+3*jj)=[-s1 0 0;0 -s2 s3;0 -s3 s5];
a(21+3*jj-2:21+3*jj,3*jj-2:3*jj)=[-s1 0 0;0 -s2 -s3;0 s3 s5];
for ii=1:1:3
a(21*ii+3*jj-2:21*ii+3*jj,21*(ii+1)+3*jj-2:21*(ii+1)+3*jj)=[-s1 0 0;0 -s2 s3;0 -s3 s5];%k12%
a(21*(ii+1)+3*jj-2:21*(ii+1)+3*jj,21*ii+3*jj-2:21*ii+3*jj)=[-s1 0 0;0 -s2 -s3;0 s3 s5];%k21%
a(21*(ii+1)+3*jj-2:21*(ii+1)+3*jj,21*(ii+1)+3*jj-2:21*(ii+1)+3*jj)=[2*s1 0 0;0 2*s2 0;0 0 2*s4 ]%k22%、
end、
a(84+3*jj-2:84+3*jj,84+3*jj-2:84+3*jj)=[s1 0 0;0 s2 -s3;0 -s3 s4];
endt=zeros(105,105);
for ii=1:3:103、
t(ii:ii+2,ii:ii+2)=[0 1 0;-1 0 0;0 0 1];
endk1=t'*a*t;
%水平分體系剛度矩陣%
s1=eab/l;
s2=12*eib/(l^3);
s3=6*eib/(l^2);
s4=4*eib/l;
s5=2*eib/l;
for ii=1:1:4
e(21*ii+1:21*ii+3,21*ii+4:21*ii+6)=[-s1 0 0;0 -s2 s3;0 -s3 s5];
e(21*ii+1:21*ii+3,21*ii+1:21*ii+3)=[s1 0 0;0 s2 s3;0 s3 s4];
e(21*ii+4:21*ii+6,21*ii+4:21*ii+6)=[2*s1 0 0;0 2*s2 0;0 0 2*s4 ];
e(21*ii+4:21*ii+6,21*ii+1:21*ii+3)=[-s1 0 0;0 -s2 -s3;0 s3 s5];
for jj=2:1:6
e(21*ii+3*jj-2:21*ii+3*jj,21*ii+3*(jj+1)-2:21*ii+3*(jj+1))=[-s1 0 0;0 -s2 s3;0 -s3 s5];
e(21*ii+3*(jj+1)-2:21*ii+3*(jj+1),21*ii+3*jj-2:21*ii+3*jj)=[-s1 0 0;0 -s2 -s3;0 s3 s5];
e(21*ii+3*(jj+1)-2:21*ii+3*(jj+1),21*ii+3*(jj+1)-2:21*ii+3*(jj+1))=[2*s1 0 0;0 2*s2 0;0 0 2*s4 ];
ende(21+21*ii-2:21+21*ii,21+21*ii-2:21+21*ii)=[s1 0 0;0 s2 -s3;0 -s3 s4];
endk2=e;
%斜向分體系剛度矩陣%
d=(h^2+l^2)^(1/2);
s1=eao/d;
s2=12*eio/(d^3);
s3=6*eio/(d^2);
s4=4*eio/d;
s5=2*eio/d;
for ii=0:1:3
x(7+21*ii:7+21*ii+2,31+21*ii:31+21*ii+2)=[-s1 0 0;0 -s2 s3;0 -s3 s5];
x(31+21*ii:31+21*ii+2,31+21*ii:31+21*ii+2)=[s1 0 0;0 s2 -s3;0 -s3 s4];
x(31+21*ii:31+21*ii+2,7+21*ii:7+21*ii+2)=[-s1 0 0;0 -s2 -s3;0 s3 s5];
x(7+21*ii:7+21*ii+2,7+21*ii:7+21*ii+2)=[s1 0 0;0 s2 s3;0 s3 s4];
endr=zeros(105,105);
for ii=1:3:103
r(ii:ii+2,ii:ii+2)=[l/d h/d 0;-h/d l/d 0;0 0 1];
endk3=r'*x*r;
k=k1+k2+k3;
%力的矩陣%
f0=zeros(105,1);
z=zeros(105,1);
z(3,1)=-q*(h^2)/12;
z(87,1)=q*(h^2)/12;
z(1,1)=0.5*q*h;
z(85,1)=0.5*q*h;
for ii=1:3
z(1+21*ii,1)=q*h;
endf1=z;
f=f0+f1;
%置零置一%
k(1:21,:)=0;
k(:,1:21)=0;
k(1:21,1:21)=eye(21);
f(1:21,1)=0;
x1=k\f;
disp(x1);
%後處理%
m1=zeros(4,1);
for ii=1:4
m1(ii,1)=[0 6*eib/(l^2) 2*eib/l 0 -6*eib/(l^2) 4*eib/l ]*x1(16+21*ii:21+21*ii,1);
endm2=zeros(4,1);
x2=zeros(6,1);
for ii=0:1:3
x2(1:3,1)=x1(19+21*ii:19+21*ii+2,1);
x2(4:6,1)=x1(40+21*ii:40+21*ii+2,1);
t=zeros(6,6);
for jj=1:3:6
t(jj:jj+2,jj:jj+2)=[0 1 0;-1 0 0;0 0 1];
endx2=t*x2;
m2(ii+1,1)=[0 6*eic/(h^2) 2*eic/h 0 -6*eic/(h^2) 4*eic/h]*x2;
endm3=zeros(4,1);
x3=zeros(6,1);
for ii=0:1:2
x3(1:3,1)=x1(40+21*ii:40+21*ii+2,1);
x3(4:6,1)=x1(61+21*ii:61+21*ii+2,1);
t=zeros(6,6);
for jj=1:3:6
t(jj:jj+2,jj:jj+2)=[0 1 0;-1 0 0;0 0 1];end
結構力學大作業
多層多跨框架結構內力計算 任務書班級 土木工程0903班 姓名 張艷靜 學號 u200910307 指導老師 戴萍 目錄一 題目 1 二 任務 3 三 結構的基本資料 3 四 水平荷載作用下的內力計算 4 五 垂直荷載作用下的內力計算 20 1 計算結構簡圖如圖1所示。2 結構資料 eh 3.0 1...
結構力學作業答案
一 對下列結構分析幾何組成,寫出分析過程。說明 代表二元體規則,代表兩剛片規則,代表三剛片規則 12.地基剛片ab 剛片ce 結論 結論 無多餘約束幾何不變體系 3剛片ade 剛片efb 杆kc 地基 結論 無多餘約束的幾何不變體系 4.杆56 點4 點7 點8 點3 點2 點1 地基 結論 無多餘...
0729 《結構力學》作業答案
西南大學網路與繼續教育學院課程考試答題卷 學號姓名 陳雁層次 類別專業201 6 年 6 月 課程名稱 編號 結構力學 0729卷 橫線以下為答題區 一 1 結構的計算簡圖 實際結構往往是很複雜的,進行力學計算以前,必須加以適當地簡化,忽略次要因素,顯示其基本的特點,用乙個簡化的圖形來代替實際結構,...