謝雨涵 邵雪杰 周 政
(河海大學(xué) 大禹學(xué)院,江蘇 南京 210098)
在結(jié)構(gòu)力學(xué)計(jì)算設(shè)計(jì)中,滿應(yīng)力計(jì)算是比較基本的計(jì)算設(shè)計(jì),也是確定結(jié)構(gòu)建筑工程最節(jié)省方案的重要步驟。由于現(xiàn)實(shí)生活中結(jié)構(gòu)多為超靜定結(jié)構(gòu),滿應(yīng)力設(shè)計(jì)時(shí)采用人工計(jì)算工作量較大,歷時(shí)較長,精度較差。因此,本文引用Fortran 90,采用應(yīng)力比法設(shè)計(jì)迭代進(jìn)程,從而可極大提高計(jì)算速度和精度。
滿應(yīng)力設(shè)計(jì)(Fully Stressed Design,F(xiàn)SD)是結(jié)構(gòu)優(yōu)化設(shè)計(jì)中準(zhǔn)則法的一種。FSD直接從結(jié)構(gòu)力學(xué)的基本原理出發(fā),以滿應(yīng)力為準(zhǔn)則,保證桿件的材料能夠得到充分利用。
所謂滿應(yīng)力是指結(jié)構(gòu)的各個(gè)桿件至少在一組確定的荷載組合下承受容許應(yīng)力或臨界力。滿應(yīng)力設(shè)計(jì)的思路是在結(jié)構(gòu)幾何形狀和結(jié)構(gòu)材料已經(jīng)確定的情況下,通過調(diào)整桿件的截面,使其滿足滿應(yīng)力準(zhǔn)則。這樣得到的設(shè)計(jì)認(rèn)為是處于滿應(yīng)力狀態(tài)。由于所確定的桿件截面為其下限值,因此,滿應(yīng)力設(shè)計(jì)所得到的結(jié)果通常同時(shí)也是重量最輕的。
求解滿應(yīng)力采用應(yīng)力比法,應(yīng)力比法是滿應(yīng)力準(zhǔn)則法中基本的一種迭代方法,該法的主要原理是:
取桿件截面面積A、(各工況)軸力N、各工況最大拉力Nlmax、各工況最大壓力 Nymin(>0)、(各工況)應(yīng)力 σ=N/A、各工況最大拉應(yīng)力 σl=Nlmax/A、軸心壓桿的穩(wěn)定系數(shù)φ(強(qiáng)度控制時(shí),φ=1)、各工況最大等效壓應(yīng)力 σy=Nymin/(φA)(>0)、桿件的拉應(yīng)力比:σl/[σ]、桿件的等效壓應(yīng)力比:σy/[σ]、桿件的應(yīng)力比
滿應(yīng)力法的主要公式:
應(yīng)力比r(0)>1,表示應(yīng)力大于容許應(yīng)力,說明桿件超載,截面小了,故A=r(0)A(0)增大截面面積;應(yīng)力比r(0)<1,表示應(yīng)力小于容許應(yīng)力,說明材料還未被充分利用,采用的截面大了,故A=r(0)A(0)減小截面面積。
具體計(jì)算步驟如下:
(1)估算出結(jié)構(gòu)的初始設(shè)計(jì)方案。若設(shè)計(jì)變量是桿件的截面積,則初始設(shè)計(jì)為:
(2)對于某個(gè)桿件i,計(jì)算各工況下桿件軸力N(i0),計(jì)算桿件的應(yīng)力比。
顯然,對于靜定結(jié)構(gòu)只需迭代一次,對于超靜定結(jié)構(gòu)需要進(jìn)經(jīng)過多次循環(huán)迭代。
FORTRAN,亦譯為福傳,是英文“Formula Translator”的縮寫,譯為“公式翻譯器”,它是世界上最早出現(xiàn)的計(jì)算機(jī)高級程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。FORTRAN語言以其特有的功能在數(shù)值、科學(xué)和工程計(jì)算領(lǐng)域發(fā)揮著重要作用。
Fortran 90是FORTRAN的重要版本,最大特性是接近數(shù)學(xué)公式的自然描述,在計(jì)算機(jī)里具有很高的執(zhí)行效率;易學(xué),語法嚴(yán)謹(jǐn);可以直接對矩陣和復(fù)數(shù)進(jìn)行運(yùn)算,這一點(diǎn)類似matlab;自誕生以來廣泛地應(yīng)用于數(shù)值計(jì)算領(lǐng)域,積累了大量高效而可靠的源程序;Fortran 90的推出使Fortran語言具備了現(xiàn)代高級編程語言的一些特性。
見于滿應(yīng)力設(shè)計(jì)所涉及到的基礎(chǔ)資料數(shù)據(jù)較多,本程序數(shù)據(jù)庫選用Microsoft Excel 2007作為其矩陣計(jì)算過程的同一數(shù)據(jù)庫。將控制條件、結(jié)構(gòu)資料(包括初始截面積、桁架桿件數(shù)和連接方式)以及工況資料(包括廣義作用力、作用點(diǎn)和作用方向)輸入矩陣中。
對滿應(yīng)力設(shè)計(jì)(應(yīng)力比法)計(jì)算原理和計(jì)算過程進(jìn)行程序語言化處理,具體如下程序流程(具體如圖1)。
圖1
(1)利用Microsoft Excel中的Active cell的行列屬性和Text文本框獲得控制條件、結(jié)構(gòu)資料(包括初始截面積、桁架桿件數(shù)和連接方式)以及工況資料(包括廣義作用力、作用點(diǎn)和作用方向)。
(2)最外層的循環(huán)控制條件為工況數(shù)m,具體采用do循環(huán)語句實(shí)現(xiàn),每次取第k種工況進(jìn)行計(jì)算,以k<m控制循環(huán)是否結(jié)束。
(3)中間層的循環(huán)控制條件為桿件數(shù)n,具體采用do循環(huán)語句實(shí)現(xiàn),每次取第i根桿件進(jìn)行計(jì)算,以i<n控制循環(huán)是否結(jié)束。
(4)最內(nèi)層的循環(huán)用公式Ai=進(jìn)行換算,具體采用do while循環(huán)語句實(shí)現(xiàn),以Ai和的差值的絕對值小于iE-4(相鄰兩次算出的面積非常接近)控制循環(huán)是否結(jié)束。
經(jīng)過實(shí)踐證實(shí),在建筑結(jié)構(gòu)設(shè)計(jì)中,滿應(yīng)力設(shè)計(jì)(應(yīng)力比法)計(jì)算程序應(yīng)用十分重要,能極大地減少工作量。因此,熟練掌握和靈活運(yùn)用Fortran 90的接近數(shù)學(xué)公式的自然描述的特性,可以直接對矩陣和復(fù)數(shù)進(jìn)行運(yùn)算,將會極大提高我們在建筑結(jié)構(gòu)設(shè)計(jì)中的工作效率和計(jì)算準(zhǔn)確性。同時(shí),讀者還可以結(jié)合具體行業(yè)、具體環(huán)境、具體情況的需要對此類程序進(jìn)行拓展應(yīng)用,以便更好地發(fā)揮其作用。
[1]楊海霞,蔡新.結(jié)構(gòu)靜力學(xué)[M].南京:河海大學(xué)出版社,2003.
[2]劉衛(wèi)國,蔡旭暉.FORTRAN 90程序設(shè)計(jì)教程 [M].北京:北京郵電大學(xué)出版社,2005.