曹正罡 周傳波 周觀根 范 峰
(1哈爾濱工業大學土木工程學院,哈爾濱150090;2浙江東南網架集團有限公司,杭州311209)
節點連接設計是空間結構設計中較為重要和繁瑣的環節之一[1],通用的土木工程軟件基本未涉及特殊節點的有限元分析,所以在此環節中存在大量的重復性勞動。若能利用計算機智能分析程序實現復雜節點分析的一體化分析,便可以將空間結構設計者從繁雜的節點設計中解脫出來,大大提高工作效率。因而如何實現節點設計的全自動化,成為我們亟須解決的重要工程技術問題。
完成復雜節點的設計,首先需要保證節點的有效幾何尺寸、材質、邊界條件等參數輸入的直觀方便;其次需要解決節點三維實體建模分析的快速精確;最后需要實現分析結果的精確化和直觀化。如果解決了以上三個問題,復雜節點一體化分析的目標就可以迎刃而解。
ANSYS是一款具有強大分析功能的有限元軟件,其內嵌的命令流分析模式[2]讓快捷精確的節點建模成為可能;Microsoft Office是微軟公司的一個文字處理器應用程序,它預定義的部件和樣式使分析結果的可視化和精確化問題迎刃而解。此時如何找到一個好的平臺成為一項難題,該平臺能將各種軟件融合一處,彼此間信息傳遞順暢,同時能讓節點參數輸入直觀、簡潔,Matlab GUI將成為解決這項難題最理想的程序平臺。
Matlab GUI(Graphic User Interface)是內置于Matlab中進行圖形界面開發的模塊[3]。直觀地說,GUI就是由各種圖形對象組成的用戶界面,在這種用戶界面下,用戶的命令和對程序的控制是通過“選擇”各種圖形對象來實現的。GUI的使用可以使我們要傳達的信息變得更為簡便、高效。此外編程語言也十分嚴謹,每個句柄的屬性都非常詳細,無論從界面屬性還是回調函數等功能屬性上講,Matlab的GUI編程都非常緊湊。

圖1 鋼結構復雜節點智能化分析系統總體架構
為實現空間結構復雜節點智能化分析,該系統應該包括以下功能:自定義工作空間、幾何尺寸和材質等參數輸入、參數化建模[4]、分析結果的輸出、特性查詢、自動調用其他軟件等。其中幾何尺寸和材質等的輸入要包括各個不同節點的尺寸、連接方式、所用材料強度、分析單元等輸入信息;參數化建模得實現實體有限元結構模型的建立、網格劃分、約束施加和加載以及分析的全程自動化。分析結果的輸出則要生成具有內嵌數據、圖表和分析結論的Word文檔;特性查詢得包含鋼材特性、螺栓特性、焊縫特性等特性的查詢;此外,程序必須要能自動調用ANSYS和Word軟件,而且擁有保存路徑功能。
根據空間結構復雜節點智能化分析系統的功能要求,該程序共分為三層,其整體構架如圖1所示。
該程序由三個結構層次組成,實際也就是三個獨立的界面,主界面、選擇界面和節點分析界面,三個界面的轉換實際也就實現了三個結構層的轉換。
主界面的背景為東南網架的標志性圖片,界面中有3個按鈕(Push Buttom),分別調用Word文檔、選擇界面以及退出程序。
分析界面添加16個按鈕(Push Buttom)和1個顯示標題靜態文本(Static Text),16個按鈕鍵分別控制調用15個節點分析界面和1個返回上一級子程序。
節點分析界面由數據輸入區、工作空間及接口文件控制區和工具欄組成。數據輸入區主要由靜態文本(Static text),編輯框(Edit text)和列表框(Listbox)等控件組成;工作空間及接口文件控制區有靜態文本(Static text),編輯框(Edit text);工具欄分為分析系統、后處理系統、數據清理、查詢/輔助四個部分,由Menu editor進行編寫。

圖2 主界面

圖3 選擇界面

圖4 節點分析界面
界面的切換實際在進行各個獨立界面之間的相互調用。在Matlab語言中,可以用run(‘被調用界面名’),同時close(‘當前界面名’),這樣就能成功實現界面的跳轉。本程序中,大量運用了此方法來保證整體連貫性。以下是截取的一小段程序代碼:


按鈕(push buttm)、靜態文本(static text)、編輯框(edit text)、列表框(listbox)和面板(panel)五類控件在界面編寫過程中被廣泛使用,其中編輯框是人機交互功能實現的關鍵,外界數據都從此控件接入系統。每個控件的控制包括以下兩方面的內容:
2.2.1 控件風格和外觀
(1)BackgroundColor:設置控件背景顏色,使用[RGB]或顏色定義。(2)CData:在控件上顯示的真彩色圖像,使用矩陣表示。(3)ForegroundColor:文本顏色。(4)String屬性:控件上的文本,以及列表框和彈出菜單的選項。(5)Visible:控件是否可見。
2.2.2 對象的常規信息
(1)Enable屬性:表示此控件的使能狀態,設置為“on”,表示可選,為“off”時則表示不可選。(2)Style:控件對象類型。(3)Tag:控件表示(用戶定義)。(4)TooltipString屬性:提示信息顯示。當鼠標指針位于此控件上時,顯示提示信息。(5)User-Data:用戶指定數據。(6)Position:控件對象的尺寸和位置。(7)Units:設置控件的位置及大小的單位。(8)有關字體的屬性,如FontAngle,FontName等。

圖5 控件參數調整
Matlab可以連接Word,故而可以實現自動生成分析報告的功能,此報告中包括該節點的基本尺寸信息、依據的標準和Ansys分析結果圖片等,在生成報告的過程中,輸入的基本數據和分析的結果圖片會自動插入到其中,同時顯示生成報告的進程(見圖6)。該功能的實現是利用自己編寫的子程序Generate Report.m,其內部的編寫命令類似VBA編寫excel,開頭程序代碼如下所示:

圖6 節點分析報告


為了對程序代碼進行保密,以及方便用戶發布可以在不同平臺運行的可執行程序,Matlab提供了Matlab程序編譯與發布功能。在此,我們的Matlab程序通過其內置的編譯發布工具箱生成可執行程序。具體方法是在Matlab命令窗口中運行deploytool命令,調出該工具窗口,在工具中導入要打包發布的工程,包括各種.m文件和Matlab組件運行環境(Matlab Component Runtime,MCR)[5],然后進行打包即可生成可執行程序SSXNIAS.exe,通過該工具可以方便、快捷地編譯發布本程序。

圖7 編譯發布工具窗口
本節通過開發的空間結構復雜節點智能分析程序對網架圓形底板抗拉支座受力分析的全過程進行演示。圖8為該例的分析流程圖,圖9為工作空間及接口文件控制區;圖10為菜單欄;圖11為數據輸入區相應的尺寸參數;圖12為生成的Ansys接口文件[6],文件中記錄了自動分析所需要的全部信息供Ansys軟件讀取;圖13為Ansys分析模型以及分析結果。

圖8 節點分析流程圖

圖9 工作空間及接口文件控制區

圖10 菜單欄

圖11 相關尺寸數據

圖12 Ansys接口文件

圖13 ANSYS分析模型和分析結果
基于Matlab-GUI開發的空間結構復雜節點一體化分析系統,可以初步實現部分復雜節點幾何信息、材料信息、荷載信息的人機交互修改,交互界面簡單、直觀;系統可以調用功能強大的ANSYS程序進行模型轉化和分析,并自動提取分析結果,轉化成圖形和表格,自動生成WORD格式的報告,這一程序的開發可有效提高結構設計者的工作效率和分析精度,具有良好的工程應用前景。同時也為大跨空間結構復雜節點的快速分析開辟一條嶄新的途徑。
[1]朱恒,夏緒勇,馬恩成.面向對象方法在鋼框架節點設計程序開發中的應用[A].第十五屆全國工程設計計算機應用學術會議論文集[C],哈爾濱:2010.
[2]龔超,王玉銀,郭海山等.大噸位鑄鋼萬向鉸支座受壓力學性能分析[J].哈爾濱工業大學學報,2011,43(4):17-22.
[3]師訪.ANSYS二次開發及實例詳解[M].北京:中國水利水電出版社,2012.
[4]包陳,王呼佳.ANSYS工程分析進階實例[M].北京:中國水利水電出版社,2009.
[5]張志勇,楊祖櫻.Matlab教程[M].北京:北京航空航天大學出版社,2010.
[6]包陳,王呼佳.ANSYS工程分析進階實例[M].北京:中國水利水電出版社,2009.
[7]羅華飛.MATLAB GUI設計學習手記[M].北京:北京航空航天大學出版社,2009.
[8]周建興,豈興明.MATLAB從入門到精通[M].北京:人民郵電出版社,2008.
[9]周觀根,陳志祥,程志敏等.大連國際會議中心鋼結構工程關鍵技術研究[J].建筑結構,2011,41(增刊):967-971.
[10]杜文風.網架網殼結構設計[M].北京:中國電力出版社,2012.