張喻捷
北京起重運輸機械設計研究院有限公司 北京 100007
隨著設計理論的完善與施工水平的提高,現代客運索道在高山、沙漠、海灘等各種復雜地形中得到了越來越廣泛的應用。對于復雜地形下的索道設計,線路中支架的受力性能則有著更加嚴苛的要求。因此,桁架形式的支架結構以其剛度大、強度高、抗扭轉能力強等特點得到了更多的運用。對超過20 m的高支架,目前一般采用桁架結構[1]。圖1 為客運索道線路中常見的采用桁架結構的支架。

圖1 索道桁架
桁架結構體型復雜、構件多樣、受荷工況多變。因此在涉及到桁架的設計時,不僅需要對不同高度、不同形式的桁架進行對比分析,對同一桁架,也需要進行各個不同工況下的受力計算。目前主要采用有限元法進行復雜結構的分析與計算。對桁架結構,采用傳統的有限元計算方法進行結構分析,每次均需要進行模型建立、網格劃分、荷載施加、程序求解及后處理等復雜操作。這種重復性的工作,嚴重地降低了設計者的工作效率。作為在全球得到廣泛使用的通用有限元軟件,盡管Ansys 為設計者提供了APDL 這一參數化設計語言用以完成一些通用性的工作[2],但其仍然存在著非可視化、語言繁瑣、學習成本高等缺點。
因此,本文利用C#高級編程語言,基于Ansys 經典提供的APDL 腳本,開發了參數化有限元分析的設計工具。通過專用的可視化用戶交互界面,設計人員只需輸入不同的設計參數,程序即可自動生成封裝好的APDL 命令流模板,并在后臺啟動Ansys,導入命令流模板,實現桁架的參數化建模及分析。
APDL(Ansys Parametric Design Language)是通用有限元軟件Ansys 提供的一種參數化設計語言[3],用戶可通過編寫命令流的方式實現參數化的模型建立、結構分析、后處理顯示等功能,該方式解決了Ansys GUI(用戶界面)交互模式下建立大型模型時遇到的界面復雜、步驟繁瑣等問題,大大提高了復雜結構的建模效率。同時,APDL 語言編寫的腳本模板可以適用于各個版本的Ansys,方便用戶開發一些基本的建模命令或標準零件庫。因此APDL 被廣泛運用于各種計算程序的二次開發工作。但APDL 本身作為一種腳本語言,對于普通設計者來說,具有一定的學習成本。
C#(C Sharp)是微軟公司發布的一種由C 和C++衍生出來的、全新的、面向對象的高級程序設計語言。其主要運行于.NET 開發框架之上,在繼承C 和C++強大功能的同時去除掉了一些固有的復雜特性,同時還綜合了VB的簡單可視化操作和Java 中類庫的設計理念。具有安全、穩定、簡單、規范等特點,尤其適用于桌面端程序的開發。借助于微軟公司優秀的IDE(集成開發環境)—Visual Studio,設計者可以快速地搭建具有良好界面的桌面端軟件[4]。因此,選擇C#編程語言進行可視化交互界面的構建。
索道桁架的參數化有限元分析工作,需要終端程序具有精準性、高效性、開放性、實用性等特點。因此,二次開發工具的參數化建模分析主要實現過程如下:第一步,通過C#編程語言構建可視化的用戶輸入界面;第二步,根據用戶輸入的結構尺寸、荷載信息、約束條件等參數生成各個工況下的APDL 命令流模板;第三步,程序啟動Ansys,導入APDL 命令流模板文件進行結構分析。圖2 為桁架結構參數化有限元分析的具體流程圖。

圖2 參數化有限元分析的流程圖
WinForm(Windows Form),是一種基于.NET Framework平臺的客戶端(PC 軟件)開發技術,設計者可以輕易地創建Windows 窗體應用程序。它是C#語言的一個重要應用,也是C#最常見的應用[5]。WinForm 窗體提供了一套豐富的、封裝好的控件,開發人員可以通過拖動控件的方式靈活地創建各種命令窗口、按鈕、菜單等屏幕元素。
在本套參數化有限元分析工具信息交互可視化界面的實現過程中,主要利用WinForm 自帶的TextBox 和ComboBox 控件進行尺寸信息、荷載參數、基本風壓等基礎信息的錄入。同時,為了便于多工況下復雜荷載的快速錄入,在本套程序界面中增加了DataGridView 控件用于顯示荷載信息,通過點擊相應的Button 按鈕,程序可打開資源瀏覽器,在用戶選擇相應的荷載計算文件后,自動讀取桁架荷載,并在用戶界面顯示。整個可視化用戶界面如圖3 所示。

圖3 參數化有限元分析二次開發工具用戶界面
桁架結構的參數化建模,關鍵點在于如何將分析模型的主要參數信息由用戶界面傳遞給Ansys。即將用戶界面的信息轉換成可被Ansys 識別讀取的APDL 語言。
本套參數化有限元分析二次開發工具主要運用C#中的StreamWrite 和StreamReader 類進行參數文件的控制和輸出。StreamWrite 和StreamReader 類是.NET 框架提供給開發者封裝好的用于文件流讀寫的類庫。運用StreamReader 類中的WriteLine()方法,可快速輸出APDL 語言,實現對APDL 命令流的封裝。最后,通過FileStream 類,實現在指定路徑文件夾下各工況下Txt格式APDL 文檔的輸出,如圖4 所示。其核心代碼為:



圖4 APDL 文件模板輸出窗口示意圖
單個桁架模型最主要的結構尺寸參數包括桁架高度、柱腳間距、各截圓管直徑、支撐件截面尺寸等。對不同高度的桁架,將桁架高度作為主參數,通過桁架構件間的固定角度,制定相應標準化規則,通過尺寸驅動,即可實現不同高度桁架結構的參數化建模。在具體的建模指令中,可簡化部分對分析影響較小的模型特征,減少建模的工作量。
對桁架結構,在Ansys 中主要通過定義關鍵點KeyPpoint,生成相應的線Line,最后生成實體模型,如圖5 所示。

圖5 桁架實體模型圖
APDL 示例語句如下:

有限元模型分析的重要前提是單元的選擇及網格的劃分。桁架結構中的主要構件均屬于長度大、截面小的狹長形構件,其橫截面的尺寸遠遠小于桿件的長度。因此,本二次開發程序在對APDL的封裝中,主要選擇Beam 188 梁單元進行模擬。同時,如果用戶采用梁單元進行有限元分析,就可以通過SECTYPE,SECID,Beam,Subtype,,0 命令方便地定義各個構件截面。再通過MPDATA 命令定義材料彈性模量、泊松比、密度等參數,完成以上工作后,即可以進行網格的劃分工作。
本程序選擇Smartsize 方式進行網格智能控制。其主要APDL 語句如下:

桁架結構中的4 個支腿法蘭通過地腳螺栓同基礎預埋件進行緊固連接,故可將4 個支腿設定為固定約束;桁架本身主要承受風荷載以及塔柱頂部傳來的集中荷載。這兩個步驟的設置同樣可以通過APDL的賦值命令完成。其主要APDL 語句為:

在完成上述步驟后,Ansys 導入APDL 命令流模板,通過Slove 命令,即可進行結構分析。本二次開發工具可以自動調用打開Ansys 軟件,并且在APDL 模板的封裝中同樣嵌入了求解命令。因此在點擊生成命令流命令后,再點擊打開Ansys 即可以自動進行求解。
以參與設計的某脫掛索道線路支架為例,運用參數化有限元分析二次開發工具,進行桁架的有限元分析。
該桁架為某景區脫掛索道項目線路中的3 號支架。該索道線路全長3 430 m,上下站高差440 m,共設23個支架。同時整個線路中存在多個大跨。線路中多個支架采用了桁架形式。其中3 號支架高為27 m,且為索輪組為壓索,受力較大,故以該桁架為例進行二次開發工具的校核。
索道支架受力工況多樣,僅單一桁架,就需要進行重上重下、重上空下、空上重下、空上空下、施工工況共6 種工況的分析計算。首先通過傳統的Ansys GUI 界面對該桁架進行了建模計算,再通過二次開發工具進行計算,兩者建模及計算結果完全相同,進一步驗證了二次開發工具的準確性。解決了傳統Ansys GUI 界面建模易出錯,且浪費時間的問題。
該脫掛索道項目涉及5 個桁架,共計30 種工況,因此對該項目,均采用了二次開發工具對桁架進行了參數化設計。圖6 為通過參數化二次開發工具進行有限元分析的3 號桁架重上重下工況下的受力變形云圖。

圖6 某桁架重上重下工況有限元變形受力云圖
基于C#編程語言,通過建立可視化的輸入界面,結合對APDL 語言的封裝和文本快速生成,實現了索道桁架結構的參數化建模及分析。桁架結構參數化有限元分析二次開發工具操作簡單、界面友好、使用可靠。對體型復雜的桁架結構,設計者只需輸入相應參數,就可以自動完成結構的有限元分析工作。這不僅給不熟悉Ansys的設計者提供了一種簡便的分析手段,更大大減少了桁架設計過程中的重復性勞動,提高了工作效率,使得設計者可以把更多地精力專注于線路方案的調整和結構本身的優化中。