谢雨涵 邵雪杰 周 政
(河海大学 大禹学院,江苏 南京 210098)
在结构力学计算设计中,满应力计算是比较基本的计算设计,也是确定结构建筑工程最节省方案的重要步骤。由于现实生活中结构多为超静定结构,满应力设计时采用人工计算工作量较大,历时较长,精度较差。因此,本文引用Fortran 90,采用应力比法设计迭代进程,从而可极大提高计算速度和精度。
满应力设计(Fully Stressed Design,FSD)是结构优化设计中准则法的一种。FSD直接从结构力学的基本原理出发,以满应力为准则,保证杆件的材料能够得到充分利用。
所谓满应力是指结构的各个杆件至少在一组确定的荷载组合下承受容许应力或临界力。满应力设计的思路是在结构几何形状和结构材料已经确定的情况下,通过调整杆件的截面,使其满足满应力准则。这样得到的设计认为是处于满应力状态。由于所确定的杆件截面为其下限值,因此,满应力设计所得到的结果通常同时也是重量最轻的。
求解满应力采用应力比法,应力比法是满应力准则法中基本的一种迭代方法,该法的主要原理是:
取杆件截面面积A、(各工况)轴力N、各工况最大拉力Nlmax、各工况最大压力 Nymin(>0)、(各工况)应力 σ=N/A、各工况最大拉应力 σl=Nlmax/A、轴心压杆的稳定系数φ(强度控制时,φ=1)、各工况最大等效压应力 σy=Nymin/(φA)(>0)、杆件的拉应力比:σl/[σ]、杆件的等效压应力比:σy/[σ]、杆件的应力比
满应力法的主要公式:
应力比r(0)>1,表示应力大于容许应力,说明杆件超载,截面小了,故A=r(0)A(0)增大截面面积;应力比r(0)<1,表示应力小于容许应力,说明材料还未被充分利用,采用的截面大了,故A=r(0)A(0)减小截面面积。
具体计算步骤如下:
(1)估算出结构的初始设计方案。若设计变量是杆件的截面积,则初始设计为:
(2)对于某个杆件i,计算各工况下杆件轴力N(i0),计算杆件的应力比。
显然,对于静定结构只需迭代一次,对于超静定结构需要进经过多次循环迭代。
FORTRAN,亦译为福传,是英文“Formula Translator”的缩写,译为“公式翻译器”,它是世界上最早出现的计算机高级程序设计语言,广泛应用于科学和工程计算领域。FORTRAN语言以其特有的功能在数值、科学和工程计算领域发挥着重要作用。
Fortran 90是FORTRAN的重要版本,最大特性是接近数学公式的自然描述,在计算机里具有很高的执行效率;易学,语法严谨;可以直接对矩阵和复数进行运算,这一点类似matlab;自诞生以来广泛地应用于数值计算领域,积累了大量高效而可靠的源程序;Fortran 90的推出使Fortran语言具备了现代高级编程语言的一些特性。
见于满应力设计所涉及到的基础资料数据较多,本程序数据库选用Microsoft Excel 2007作为其矩阵计算过程的同一数据库。将控制条件、结构资料(包括初始截面积、桁架杆件数和连接方式)以及工况资料(包括广义作用力、作用点和作用方向)输入矩阵中。
对满应力设计(应力比法)计算原理和计算过程进行程序语言化处理,具体如下程序流程(具体如图1)。
图1
(1)利用Microsoft Excel中的Active cell的行列属性和Text文本框获得控制条件、结构资料(包括初始截面积、桁架杆件数和连接方式)以及工况资料(包括广义作用力、作用点和作用方向)。
(2)最外层的循环控制条件为工况数m,具体采用do循环语句实现,每次取第k种工况进行计算,以k<m控制循环是否结束。
(3)中间层的循环控制条件为杆件数n,具体采用do循环语句实现,每次取第i根杆件进行计算,以i<n控制循环是否结束。
(4)最内层的循环用公式Ai=进行换算,具体采用do while循环语句实现,以Ai和的差值的绝对值小于iE-4(相邻两次算出的面积非常接近)控制循环是否结束。
经过实践证实,在建筑结构设计中,满应力设计(应力比法)计算程序应用十分重要,能极大地减少工作量。因此,熟练掌握和灵活运用Fortran 90的接近数学公式的自然描述的特性,可以直接对矩阵和复数进行运算,将会极大提高我们在建筑结构设计中的工作效率和计算准确性。同时,读者还可以结合具体行业、具体环境、具体情况的需要对此类程序进行拓展应用,以便更好地发挥其作用。
[1]杨海霞,蔡新.结构静力学[M].南京:河海大学出版社,2003.
[2]刘卫国,蔡旭晖.FORTRAN 90程序设计教程 [M].北京:北京邮电大学出版社,2005.