MATLAB语言在开发连续梁桥顶推施工

   2007-01-07 西安公路研究所 梁爱斌 王春生 徐岳 12630

[摘要]通过介绍MATLAB语言在顶推施工预应力混凝土连续桥施工过程内力动态分析程序设计中的应用,说明基于MATLAB语言开发结构分析软件的可行性和优越性。
关键词 MATLAB语言 顶推施工 连续梁桥 结构分析 程序设计


一、引言
目前,常见的结构分析软件(程序)一般采用FORTRAN、C及可视化类语言中的一种或多种进行开发。其开发周期一般较长、程序编制量大、程序的调试和测试较难实现,从而开发费用较高,而且在针对大型的数据处理和动态图形处理方面编程较复杂,尤其是采用多种语言进行混合或复合编程时,程序本身的调试和接口问题较为突出。当然,这些语言有它们各自的优点,尤其表现在多语言的复合编程上,可将各语言的长处集于一身,并在一定程度上避免了使用它们有局限的方面。在开发一个能对顶推法施工的连续梁桥进行施工全过程内力动态分析的软件时,尽管可采用FDRTRAN语言设计结构分析计算的基本模块,同时采用可视化类语言设计整个系统的基本控制模块这种优化方案,但它在结构的动态分析程序设计方面仍有两个大的难题:
(1)大批量数据进行复杂的数值运算时程序较难设计和测试;
(2)最终的计算结果进行可视化处理后形成实时动画较困难。
但用MATLAB进行整个程序的设计,上述两个问题即可迎刃而解。


二、MATLAB简介
MATLAB是MathWorks公司于1982年推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便且界面友好的用户环境。在此环境下,对所要解决的许多问题,用户只需简单地列出数学表达式,其结果便会以数值和图形方式显示出来;对于大型问题,只需建立相应的数学模型,同样可以得到快速准确的解答。其主要特点概括起来有以下几点:
(l)MATLAB语言自带数值运算、矩阵运算方面的常规算法函数6000余条,并且具有自身的矩阵运算语法,使得一般的小型数据处理显得极为简单。
(2)MATLAB语言具有常规语言的特性,和一般语言一样能进行算法设计;再加上功能强大的内部函数,使得它的语句功能非常强大。
(3)MATIrtB语言支持 WINDOWS标准的 API接口(DLL、DDE)、OLE及 OLE Au-tomation。
(4)MATLAB语言具有自己的图形处理特殊语法,借助于它可方便地实现复杂图形(图像)的动态生成及显示。
(5)MATLAB的所有内部函数对外开放,用户可自行扩展内部函数。


三、程序设计
1.结构分析基本原理

(1)有限元素法的基本原理
结构分析即计算结构在特定荷载作用下结构特定截面(节点)上产生的内力和变形。计算时,一般采用有限元素法的平面杆系理论将整个结构离散成多个基本单元,然后对各个单元逐个进行分析,并将各个单元的分析结果集成,从而形成整个结构的分析结果。有限元分析的基本步骤如下:

(2)顶推法施工内力分析基本原理
顶推法即将梁作沿桥纵轴线方向预制好,待其强度达到一定要求时,将梁体从一侧桥合向另一侧桥合逐节段推进的施工方法。计算时,以每一节段顶推完毕时所得结构体系为对象,计算其在自重荷载作用下各个截面的内力和变位,如此循环计算出所有顶推阶段结构的恒载内力和变位;取所有工况下各截面内力和变位的极值序列作为整个施工过程的包络图,从而为结构配筋和强度验算提供依据。

2.程序设计
程序设计以求解连续梁桥顶推施工法恒载内力为目的,采用MATLAB语言编写,以平面杆系有限元素法为理论基础,程序主要逻辑流程图见图1。
(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
end
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完成剩余的操作。


参考文献
[l]范立础.桥梁工程.北京:人民交通出版社,1990
[2] 杨炳成.有限元素法.西安:西工大出版社,1996
[3]广东省公路工程总公司.广东佛开高速公路九江大桥施工.北京:人民交通出版社,1996
[4]楼顺天.MATLAB程序设计语言.西安:西安电子科技出版社,1997
[5]J. N.Littie一Getting Started with MATLAB-Natick:MathWorks.Inc,1995
[6] Rob Schreiber-Mastering MATLAB 5.x-Natick:MathWorks.Inc,1997


 
举报收藏 0打赏 0评论 0
 
更多>同类论文
推荐图文
推荐论文
点击排行

网站首页  |  隐私政策  |  版权隐私  |  使用协议  |  联系方式  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  网站留言  |  RSS订阅  |  违规举报

津ICP备20006083号-1

津公网安备 12010502100290号