2.程序设计
程序设计以求解连续梁桥顶推施工法恒载内力为目的,采用MATLAB语言编写,以平面杆系有限元素法为理论基础。
(1)结构交承条件的确定当结构顶推出 i段时,梁体长度区间为L=[0,iX LO],其中 LO为节段长度。设结构各交承点坐标为COD(n),则可按以下程序确定当前结构的支承个数及被支承的节点号。
IT=[0,i*L0];PZ=(COD>=IT(1)&COD<=IT(2));Con=i+1-Pz'/L0;
(2)控制内力的确定为生成结构最终的内力包络图,要通过比较法取出整个顶推过程的最大最小内力序列,其程序如下所列;MAX(MAX<out)=out(MAX<out);MIN(MIN>out)= out(MIN>out);其中MAX-一整个过程中的最大内力序列;MIN-一整个过程中的最小内力序列;out——当前结构的内力输出序列。
(3)单元刚度矩阵的形成function K=dy(EA,EI,L)
K=[ EA/L,0, 0,-EA/L,0, 0;…
0,12*EI/L^3,一6*EI/L^2,0,一12*EI/L^3,一6*EI/L^2;…
0,一6*EI/L^2,4*EI/L,0,6*EI/L^2,2*EI/L;…
一EA/L,0,0,EA/L.0,0;…
0,-12*EI/L^3,6*EI/L^2,0,12*EI/L^3,6*EI/L^2;…
0,一6*EI/L^2,2*EI/L,0,6*EI/L^2,4*EI/L;];
(4)单刚集成K=dy(EA,EI,L);r=(3*i-2∶3*i+3);KK(r,r)=KK(r,r)+T'*K*T;
(5)荷载列阵形式t=-T'*[0,-q*L/2,q*L^2/12,0,-q*L/2,-q*L^2/12]':r=(3*i-2∶3*i+3);P(r)=P(P)+t;
(6)约束处理采用划0置1法完成for i=1∶Nb for j=2∶4 if bb(i,j)-= 1 pt=3*bb(i,j)-2;ps=pt+j-2;KK(PS,:)=0,KK(:,PS)=0;KK(PS,PS)=l;p(ps)=bb(i,j);end
(7)力法方程求解采用稀疏矩阵法求解线性方程组Kδ=P,程序如下:dispp=full(sparse(KK)\sparse(P));
(8)报考内力图输出out=pmgx1(dat);v=i*L;-L:0;plot(V,out(:,[3 4]);title(['顶推第',num2str(i,DL(3)),'段时的内力图']);pause(0.2);
(9)内力数据输出f= fopen(files,'wt');fprintf( f',X Qmax Mmax Qmin Mmin Vmax Vmin\n');r=l∶STN+1;ss=[MAX(r,1)';MAX(r,3:4)';MIN(R,3:4)';MXA(r,6)';MIN(r,6)'];ss一fiplr(ss);fprintf(f,'%5d%15.5f%15.5f%15.5f%15.5f%15.5f%15.5f\n',ss);fclose(f);
四、算例
1.算例简介一等截面连续梁桥,跨径布置为 40m+ 7 X 50m+ 40m. 430m,施工时每次顶推节段长5m.主梁单元划分 86 X5m,主梁 EA= 249550000kN,EI= 31210o9000KN.平方米, q=178.25kN/m.导梁长35m,单元划分7X5m,其 EA= 20798534kN, EI= 26009085kN.平方米,q=43kN/m.采用本程序进行计算分析。全桥结构离散图见图2.
2.程序计算结果顶推出第14,70节段时的恒载内力图见图3图4,顶推全过程的恒载内力包络图及挠度包络图分别见图5、图6.
3.计算结果比较程序在PⅢ450型微机上运行15.05s完成了整个施工阶段恒载内力计算。其中顶推第20节段时的恒载内力计算结果与SAP84计算结果比较见表1.
通过表1可以看出,程序的计算结果精度很高,而且计算速度也相当快。
五、结论
(1)本文介绍的程序用于计算采用单向(双向)单点(多点)顶推法施工的等截面连续梁桥的施工内力及变位。具体计算内容有各施工阶段的恒载内力、变位以及整个顶推过程的恒载内力、变位包络数据,为结构配筋及验算提供依据;另外,它也适用于设有导梁及辅助墩的顶推施工。程序的优点主要表现在大批量数据运算和图形处理上,归纳起来有以下几点:①程序计算结果可视化程度高,能实时地反映顶推过程梁体的内力及变位情况;②程序简洁,使用方便,功能强大;②MATLAB语言计算基于矩阵,程序运算速度较采用常规语言计算快10倍,且计算精度很高(达0.000,000,01以上);③计算结果稳定性好。
(2)从本文的MATLAB语言程序设计实例,可以看到它的数值计算和图形处理等功能的确很强大,而这些功能正是在设计和开发结构分析类软件时所必需的。如果在以后的软件开发中能将这些好的功能加以引进,那么,软件在功能上将会取得长足的进展。尤其对于一般问题,只要能建立出数学模型,然后就可以让MATLAB完成剩余的操作。