周泉吉 許建聰
1. 上海建工集團(tuán)工程研究總院 上海 201114;2. 同濟(jì)大學(xué) 上海 200092
“數(shù)字化建造”已成為建筑行業(yè)的發(fā)展趨勢。有限元虛擬仿真分析作為建筑結(jié)構(gòu)“數(shù)字化建造”的重要基石之一,近年來在科研工作以及重大工程中得到了普遍的應(yīng)用。但先進(jìn)仿真技術(shù)的理論性較強(qiáng),難以為工程人員所普遍掌握及正確使用,這也大大地限制了其在建筑行業(yè)中的實質(zhì)性推廣。利用通用有限元軟件所提供的二次開發(fā)工具,對其進(jìn)行專業(yè)化、功能化、標(biāo)準(zhǔn)化、輕量化定制,從而提高軟件工程性,降低學(xué)習(xí)成本,并有利于軟件的規(guī)范正確使用。
ANSYS因其強(qiáng)大的結(jié)構(gòu)力學(xué)分析功能而在結(jié)構(gòu)工程領(lǐng)域備受青睞,并提供了較友好、系統(tǒng)的二次開發(fā)環(huán)境[1]。針對其在專業(yè)化定制、工程化應(yīng)用、跨系統(tǒng)平臺、多版本兼容等方面的需求[2-5],同時為規(guī)避因ANSYS版權(quán)限制而導(dǎo)致的研究成果發(fā)布問題,有必要對其二次開發(fā)的新方法、新模式展開研究。
區(qū)別于常規(guī)在ANSYS平臺直接進(jìn)行的嵌入式二次開發(fā),采用非嵌入式的Tcl/Tk、APDL混合編程方法所開發(fā)的軟件具備獨立性,使得開發(fā)人員能夠規(guī)避ANSYS版權(quán)問題,同時具有跨系統(tǒng)平臺、多ANSYS版本兼容特性。該方法的實現(xiàn)機(jī)制如圖1所示。
Tcl/Tk、APDL混合編程開發(fā)過程的一般步驟如下:
1)利用APDL的參數(shù)化分析功能,實現(xiàn)對某類具體問題整個分析過程的參數(shù)化、程序化描述,結(jié)合面向?qū)ο缶幊谭椒?,對整個分析過程逐步建立模塊化的分析宏文件,在確保輸入?yún)?shù)(ParsInput list)的工程化特性前提下,最終建立完備的APDL標(biāo)準(zhǔn)程序宏文件庫。宏文件庫的質(zhì)量以及運行效率是整個二次開發(fā)的核心及關(guān)鍵。
圖1 Tcl/Tk、APDL混合編程的實現(xiàn)機(jī)制
2)采用Tcl/Tk編寫?yīng)毩⒂贏NSYS平臺的第三方軟件,通過提供配置選項,保證用戶可自行將其與所購置的ANSYS軟件進(jìn)行連接。
3)根據(jù)步驟1中所形成的輸入?yún)?shù)列表(ParsInput list)設(shè)計并開發(fā)GUI,將APDL標(biāo)準(zhǔn)程序宏文件庫加密并分布嵌入到軟件內(nèi)部。
4)用戶通過GUI完成參數(shù)輸入,在運行計算過程中逐步釋放APDL宏片段,并在后臺逐步調(diào)用ANSYS,對宏片段進(jìn)行逐個運行并回收,最終完成整個分析過程并將結(jié)果同樣以指定數(shù)據(jù)格式的文件輸出。
5)采用Tcl/Tk建立結(jié)果查看GUI,實現(xiàn)對步驟4計算結(jié)果的可視化以及列表打印。
多跨梁靜力分析作為結(jié)構(gòu)力學(xué)分析中的典型問題,一般可采用手冊所提供的計算公式及圖表進(jìn)行手工計算[6]。以此為例,采用上述混合編程方法,介紹其實現(xiàn)機(jī)制,并驗證其適用性。
根據(jù)第1章中步驟1所述,首先對多跨梁結(jié)構(gòu)靜力分析問題進(jìn)行參數(shù)分析,并建立APDL參數(shù)化分析程序,形成具有工程化特性的參數(shù)輸入列表。
多跨梁結(jié)構(gòu)的參數(shù)化描述如圖2所示,參數(shù)列表包括:跨數(shù)(N)、各跨對應(yīng)的長度(Li)。
圖2 多跨梁結(jié)構(gòu)的參數(shù)化描述
對多跨梁的結(jié)構(gòu)特征及荷載特征加以分析,建立參數(shù)化模型。常規(guī)建模流程為:全長建立梁模型→指定位置施加支座→逐一添加荷載。本文基于裝配化建模的思想,對各單跨梁逐個進(jìn)行模型建立,最后進(jìn)行組裝,從而更有利于程序的標(biāo)準(zhǔn)化實現(xiàn)。
2000年以來,黔東南州積極貫徹國家關(guān)于鼓勵民間資本參與水土保持生態(tài)建設(shè)的相關(guān)政策及精神,引導(dǎo)、扶持、鼓勵民間資本參與開發(fā)性治理,加速了項目區(qū)水土流失、石漠化治理速度及群眾脫貧致富步伐,較好地破解了地方財力不足對水土保持生態(tài)建設(shè)制約的難題。2000年以來,黔東南州民間投資43 454.13萬元,治理水土流失面積174.67km2,分別占全州水土流失治理總投資和總面積的27.58%、5.80%。
有限元軟件內(nèi)置的截面簡化模型與實際截面精確模型存在一定的差異,以I20a型鋼截面為例,其截面尺寸參數(shù)及有限元模型如圖3所示。
圖3 I20a型鋼截面尺寸參數(shù)及有限元模型示意
I20a型鋼截面特性計算值誤差分析如表1所示。采用自定義方式建立精確模型的計算值與理論值誤差完全可以忽略,而內(nèi)置截面簡化模型所帶來的誤差已相當(dāng)可觀,尤其是對于弱軸方向慣性矩的誤差高達(dá)20.65%,容易導(dǎo)致三維結(jié)構(gòu)受力分析的錯誤結(jié)果。
表1 I20a型鋼截面特性計算值誤差分析
混凝土結(jié)構(gòu)的截面形式簡單,通常為矩形;而型鋼截面形式復(fù)雜,參數(shù)較多,手動輸入相對繁瑣,且易出錯。根據(jù)我國現(xiàn)行鋼結(jié)構(gòu)設(shè)計相關(guān)手冊及規(guī)范[7],對其中典型的截面形式編制精細(xì)化模型自動化生成的APDL程序,用戶只需指定截面型號程序,即可自動生成精細(xì)化截面模型數(shù)據(jù)文件。典型截面形式及其參數(shù)如表2所示。
表2 常規(guī)鋼材的規(guī)格及截面尺寸參數(shù)
結(jié)構(gòu)分析中常見的荷載模式有集中荷載、均布荷載、三角形荷載、梯形荷載等幾種。各種模式的參數(shù)化描述如圖4所示。
圖4 常見荷載模式及其參數(shù)化
對于分布荷載,可以統(tǒng)一采用函數(shù)表達(dá)形式,如圖5所示。本文采用最為一般的荷載函數(shù)描述對3種分布荷載進(jìn)行參數(shù)化實現(xiàn),部分提高了程序?qū)崿F(xiàn)上的難度,但程序?qū)⒁虼硕麧?、?guī)范,調(diào)試方便且更具通用性。
圖5 梯形荷載采用荷載函數(shù)描述
根據(jù)第1章中步驟3所述方法,基于上述多跨梁參數(shù)化分析模型,設(shè)計開發(fā)圖形交互界面(GUI),將APDL標(biāo)準(zhǔn)程序宏文件庫進(jìn)行加密并分布嵌入到源碼內(nèi)部進(jìn)行編譯。Multi-Span Beam Cal v1.0主界面如圖6所示,分別包括Settings(設(shè)置)、Run(運行)、RstViewer(結(jié)果查看)、Exit(退出)四個選項。
圖6 Multi-Span Beam Cal v1.0主界面
進(jìn)入Settings界面,如圖7所示。用戶首先需對連續(xù)梁跨數(shù)(Span Count)進(jìn)行指定,點擊右側(cè)的Apply后下方表單欄,即根據(jù)跨數(shù)進(jìn)行自動更新。右側(cè)提示窗口提供了一些有關(guān)當(dāng)前設(shè)置的信息。隨后用戶對各跨梁的跨度(Span)進(jìn)行輸入,并對各跨所用材料(MatProps)進(jìn)行選擇(Steel/Concrete)。
圖7 參數(shù)設(shè)定窗口
用戶還需對各跨梁截面型號(SectProps)從截面特性庫中進(jìn)行選擇,如圖8所示。指定截面具體型號后點擊Apply,程序?qū)⒆詣由稍撔吞柦孛娴木_模型數(shù)據(jù)文件(.sect)以供后續(xù)分析使用。左下側(cè)提示窗實時給出了一些輸出提示信息以及當(dāng)前選中的截面特性參數(shù),右側(cè)圖形框給出了截面型號的典型尺寸圖。
圖8 截面選取窗口
用戶需事先對各跨梁上存在的荷載模式進(jìn)行分解,并對各荷載分解項的分布位置及大小進(jìn)行指定,如圖9所示。程序還提供了任意自定義的荷載函數(shù)qx施加。
圖9 荷載定義窗口
回到主界面點擊Run等待計算完成后,用戶可以通過RstViewer界面對結(jié)構(gòu)的內(nèi)力、應(yīng)力及變形云圖進(jìn)行查看,如圖10所示。同時對連續(xù)梁的主要內(nèi)力、撓度計算結(jié)果進(jìn)行完整的列表輸出,便于用戶查看和編輯。
圖10 結(jié)果查看界面
采用建筑結(jié)構(gòu)靜力計算實用手冊[7]中的多跨梁計算公式,分別對集中力、分布力兩類荷載模式下的程序操作性能以及結(jié)果的準(zhǔn)確性進(jìn)行測試,2個算例的具體參數(shù)如圖11所示。
圖11 多跨梁測試算例計算參數(shù)示意
分別采用手冊方法計算以及程序自動計算,對其相關(guān)計算結(jié)果進(jìn)行比較,如表3所示。
表3 算例計算結(jié)果對比
由表3可以得出,兩者有關(guān)內(nèi)力的計算結(jié)果均相差不大,而撓度計算結(jié)果卻存在較大偏差。分析其原因在于本程序采用了Timoshenko梁單元,該單元能夠考慮桿件橫向剪切變形的影響,同時工字鋼梁屬于薄壁結(jié)構(gòu),其截面翹曲變形不可忽略,而手冊計算公式是基于經(jīng)典梁理論的,對剪切變形、翹曲變形均未作考慮。因此,如果采用一般Euler-Bernoulli梁單元,對截面特性參數(shù)進(jìn)行直接指定而非定義其實際幾何形狀,則此時的撓度計算結(jié)果必然與手冊方法的計算結(jié)果完全符合。
本文研究了一種非嵌入式的Tcl/Tk、APDL混合編程的實現(xiàn)方法。通過非嵌入式開發(fā),軟件開發(fā)人員可以規(guī)避ANSYS版權(quán)問題,而軟件用戶則需承擔(dān)相應(yīng)的ANSYS版權(quán)費用;通過混合編程中的代碼加密內(nèi)嵌、分段釋放回收等機(jī)制,可有效保護(hù)開發(fā)人員的知識產(chǎn)權(quán);軟件自身將滿足多系統(tǒng)平臺、多ANSYS版本兼容等需求。本文的研究可推動ANSYS二次開發(fā)社區(qū)的活躍度提升以及有限元軟件的實質(zhì)性推廣。
采用上述非嵌入式的混合編程方法,結(jié)合多跨梁這一典型結(jié)構(gòu)靜力分析問題,實現(xiàn)了Multi-Span Beam Cal v1.0的設(shè)計開發(fā),對所提出的混合編程方法的可行性、一般性及實際應(yīng)用效果進(jìn)行了驗證,為后續(xù)復(fù)雜軟件的開發(fā)積累了經(jīng)驗。