謝雨涵 邵雪杰 周 政
(河海大學 大禹學院,江蘇 南京 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.