易輝成 易 杰,2* 葉桂林
1(湖南工業(yè)職業(yè)技術學院汽車工程學院 湖南 長沙 410208)2(復雜薄壁精密零件智能柔性加工技術湖南省工程研究中心 湖南 長沙 410208)3(泰富重裝集團有限公司 湖南 湘潭 411201)
常規(guī)的鋼結構設計流程是:結構設計工程師初步完成結構設計并交由有限元工程師進行力學校核;有限元工程師完成結構力學計算,并將計算結果和修改意見反饋給設計工程師。整個設計流程存在設計→分析→設計的反復迭代過程。設計過程中,設計工程師往往不能第一時間知道有限元分析結果,因此造成整個設計流程效率低下。
為解決這一問題,許多研究者提出了參數化有限元分析方法,針對特定產品開發(fā)具有友好交互界面的參數化有限元分析程序。通過這些程序,設計工程師可快速對設計方案進行有限元計算,再根據分析結果修改設計。該過程操作簡單,處理高效,符合現代設計理念。例如:文獻[1-3]基于ANSYS平臺,應用C#、VB.NET等語言開發(fā)了各種不同結構形式的起重機鋼結構參數化有限元分析系統(tǒng)。董迎暉等[4]基于HyperWorks軟件平臺,應用VB.NET開發(fā)了一個軸類零件參數化有限元分析平臺。葛邵飛等[5]應用APDL對橋梁結構進行了參數化有限元分析。這些程序一般不能自由更改拓撲結構,不同類型的產品需要不同的程序。因此,針對類同斗輪堆取料機、帶式輸送機這種非標準化重型設備而言很難滿足要求。
為解決上述問題,提高工作效率,本文基于EXCEL、ANSYS和VB.NET開發(fā)出一套簡單易用、拓撲結構可自由更改的參數化有限元分析系統(tǒng)。
該程序的開發(fā)涉及到數據平臺、有限元軟件平臺、數據交流平臺三個軟件平臺,分別選擇EXCEL、ANSYS和VB.NET。三個軟件平臺之間的數據交互關系和程序流程如圖1所示。
圖1 軟件平臺間的數據交互和程序流程
選擇EXCEL作為數據平臺。EXCEL具備強大的數據處理能力,大多數機械工程師也常采用EXCEL軟件進行設計計算,選擇EXCEL作為數據平臺很符合機械工程師的使用習慣。
選擇ANSYS作為有限元軟件平臺。ANSYS作為當前應用最為廣泛的有限元分析軟件,其獨有的參數化設計語言(APDL)非常適合用于參數化有限元分析。
選擇VB.NET作為EXCEL和ANSYS之間的數據交流平臺。VB.NET與這兩個軟件之間的混合式程序設計理論比較成熟,技術難度較小[6]。
數據表由分析數據和分析報告兩部分組成。分析數據由設計者輸入,分析報告由程序自動生成。
分析數據包含結構的幾何參數和物理參數,具體包括:截面參數表、點參數表、線參數表、耦合參數表和載荷參數表等。所有分析數據表的開始行和結束行均為關鍵字,程序將會通過關鍵字準確定位參數表的首尾行,從而可以通過參數表數據行的增多和減少、參數表數據的更改來改變產品結構的計算數據。
分析報告包括部件應力輸出表、局部應力輸出表、部件位移輸出表、軸向力圖輸出表、剪切力圖輸出表和彎矩圖輸出表等。
程序運行時,首先由VB.NET讀取EXCEL表格中的分析數據,并將其轉換為APDL代碼;然后VB.NET在后臺調用ANSYS對所生成的APDL代碼進行求解并保存分析結果;最后應用VB.NET對有限元分析結果進行歸類和整理,按照預先設計的格式編輯成分析報告。
為適應常用鋼結構材料的線彈性靜力學計算,默認材料選用Q235或Q345,其材料參數為:彈性模量E=210 000 MPa,泊松比θ=0.3,材料密度為ρ=7.8×103kg/m3,設定力的單位為N,力矩的單位為N·mm。
應用VB.NET的WriteLine命令生成APDL代碼定義材料參數,如下[7-8]:
*SET,DEN1,7.8e-6
MP,EX,1,210000
MP,NUXY,1,0.3
MP,DENS,1,DEN1
截面參數表包含矩形鋼(RECT)、工字鋼(I)、槽鋼(CHAN)、圓鋼(CTUBE)、角鋼(L)等9種工程常用的型鋼截面,能滿足絕大多數工程實際需求。截面參數表包含截面編號(SECID)、截面名稱(Name)、截面類型(Subtype)及7個幾何參數(w1,w2,w3,t1,t2,t3,t4),如表1所示。其中:幾何參數需要與ANSYS截面庫中對應的截面參數保持一致;△y和△z數據用于修改截面原點位置。
表1 截面參數輸入表
應用VB.NET逐行讀取截面參數表中的數據,并在.txt文件中循環(huán)寫入以下APDL命令:
SECTYPE,SECID,Beam,Subtype,Name
SECOFFSET,USER,△y,△z
SECDATA,w1,w2,w3,t1,t2,t3,t4
點參數表包括關鍵點、截面方向點和耦合點等三種表格,均包含了點編號(NPT)、點的坐標值(X,Y,Z)等參數,如表2所示,不同之處在于三種表格的起始關鍵字和結束關鍵字不同。
表2 關鍵點參數輸入表
關鍵點主要用于定義幾何拓撲信息,例如梁的端點、鉸接、螺栓連接等。
截面方向點用于定義梁截面的方向。梁方向的定義規(guī)則如圖2所示,圖中K點為梁截面原點,I點至J點方向為梁的x軸線,L點在梁截面的z軸方向上。
圖2 截面方向點示意圖
耦合點則用來定義遠程加載或遠程連接,如圖3所示。程序中可實現點點耦合和點線耦合兩種耦合形式。
圖3 耦合點示意圖
應用VB.NET逐行讀取點參數表中的數據,并在.txt文件中循環(huán)寫入以下APDL代碼:
K,NPT,X,Y,Z
線參數表包括常截面梁、變截面梁和桿單元三種表格。常截面梁參數表包含線編號(LID)、線的兩個端點編號(KI,KJ)、截面方向點編號(KL)、梁的截面編號(SecID)等參數,如表3所示。
表3 常截面梁參數輸入表
應用VB.NET逐行讀取常截面梁參數表中的數據,并在txt文件中循環(huán)寫入APDL命令:
NUMSTR,LINE,LID
L,KI,KJ
LATT,MAT,,,,KL,,SecID
LESIZE,LID,SIZE,,
LMESH,ALL
其中:MAT指材料編號,程序計算中只有鋼材一種材料,編號為1;SIZE為網格劃分大小,可默認設置為100。
變截面梁參數表包含線編號(LID)、線的兩個端點編號(KI,KJ)、截面方向點編號(KL)、梁的截面編號(SecID)、I點處的截面編號(SecID-I)、J點處的截面編號(SecID-J)等信息,如表4所示。
表4 變截面梁參數輸入表
定義變截面梁的APDL代碼與定義常截面梁的APDL代碼一樣,但首先需要定義變截面梁的屬性,其APDL命令如下:
SECTYPE,SecID,TAPER,,,
SECDATA,SecID-I,KX(Ix),KY(Iy),KZ(Iz)
SECDATA,SecID-J,KX(Jx),KY(Jy),KZ(Jz)
其中:KX(Ix)、KY(Iy)、KZ(Iz)為變截面梁端點I處的坐標值;KX(Jx)、KY(Jy)、KZ(Jz)為變截面梁端點J處的坐標值。這需要應用VB.NET去查詢點參數表獲得。
二力桿用桿參數表來定義,其力學特性是只能承受軸向拉壓,不能承受彎曲。桿參數表主要包含線編號(LID)、線的兩個端點編號(KI,KJ)、截面方向點編號(KL)、截面面積(SecA)等信息,如表5所示。
表5 桿單元參數輸入表
定義二力桿的代碼與定義常截面梁的代碼一樣,但需要先定義截面面積,其APDL代碼如下:
R,LID,SecA
耦合參數表包括了鉸接點、點點耦合和點線耦合三種表格。
鉸接點參數表用于定義鋼結構中鉸接的位置和自由度??赏瑫r定義鉸接處的6個自由度(UX,UY,UZ,ROTX,ROTY,ROTZ),不同自由度之間用“,”連接。鉸接點參數表包含點編號(NPT)和釋放自由度(RF)兩類信息,如表6所示。
表6 鉸接點參數輸入表
應用VB.NET逐行讀取鉸接參數表中的數據,并在.txt文件中循環(huán)寫入以下APDL代碼:
KSEL,S,KP,,NPT,,,1
NSLK,S,
ESLN,S,,
ENDRELEASE,,-1,ROTZ
點點耦合和點線耦合則用于定義遠程加載或遠程連接。同一個點或同一條線只能與唯一的耦合主點相耦合,且每次只能耦合一個自由度,若需要耦合多個自由度則需要分多步進行,也可用“ALL”關鍵字來耦合所有自由度。
點點耦合參數表包含耦合主點編號(NPTM)、耦合從點編號(NPTS)、耦合自由度(CF)等信息,如表7所示。
表7 點點耦合參數輸入表
應用VB.NET逐行讀取點點耦合參數表中的數據,并在.txt文件中循環(huán)寫入APDL代碼:
ALLSEL
KSEL,S,,,NPTM
NSLK,S
*GET,MN,NPTM,NODE,0,NUM,MAX
ALLSEL
KSEL,S,,,NPTS
NSLK,S
*GET,SN,NPTS,NODE,0,NUM,MAX
ALLSEL
CERIG,MN,NPTM,SN,NPTS,CF
點線耦合參數表包含耦合點編號(NPT)、耦合線編號(LID)、耦合自由度(CF)等信息,如表8所示。
表8 點線耦合參數輸入表
點線耦合實際是點點耦合的疊加,即耦合主點與線上所有的節(jié)點進行耦合,因此點線耦合的APDL代碼與點點耦合的代碼一樣,但為了防止線兩端處的節(jié)點與其他耦合主點重復耦合,需要將線端點處的節(jié)點去除掉,其APDL代碼如下:
*GET,NOUT1,KP,NPT-i,ATTR,NODE
*GET,NOUT1,KP,NPT-j,ATTR,NODE
LSEL,S,LINE,,LID,,0,0
ESLL,S
NSLE,S,ACTIVE
NSEL,U,,,NOUT1
NSEL,U,,,NOUT2
其中:NPT-i、NPT-j分別為耦合線的兩個端點,需要應用VB.NET查詢線參數表得到。
載荷參數表包括了重力載荷、點載荷、線載荷、點約束和線約束等5種表格。
重力加速度可定義X、Y、Z三個方向,默認單位為m/s2,如表9所示。
表9 重力加速度參數輸入表 單位:m/s2
應用ANSYS進行有限元計算時,ANSYS會根據結構尺寸、截面參數、材料密度等自動計算結構的重量。但大多數情況下,采用梁單元建立的鋼結構有限元模型重量與實際重量會有所偏差,可適當放大重力加速度值對其進行修正。
應用VB.NET讀取重力加速度參數表中的數據,并在.txt文件中寫入以下APDL代碼:
ACEL,ACEL-X,ACEL-Y,ACEL-Z
點載荷參數表用于定義關鍵點或耦合點上的載荷,可定義FX、FY、FZ、MX、MY、MZ六個載荷方向,前三個表示加載的力,默認單位為t,后三個表示加載的力矩,默認單位為N·m。每次只能定義一個方向的載荷,但可在同一加載點上進行重復加載。點載荷參數表包含載荷名稱(Name)、點編號(NPT)、載荷類別(Lab)和載荷值(Value)等信息,如表10所示。
表10 點載荷參數輸入表
應用VB.NET逐行讀取點載荷參數表中的數據,并在.txt文件中循環(huán)寫入APDL代碼:
ALLSEL
KSEL,S,,,NPT
NSLK,S
F,ALL,Lab,Value
程序中,線載荷的加載在最終會轉化為點載荷均分在線上的各個節(jié)點上,因此線載荷的加載規(guī)則與點載荷的加載規(guī)則相似,其默認單位為kg/m。線載荷參數表包含載荷名稱(Name)、線編號(LID)、載荷類別(Lab)和載荷值(Value)等信息,如表11所示。
表11 線載荷參數輸入表
應用VB.NET逐行讀取線載荷參數表中的數據,并在.txt文件中循環(huán)寫入APDL代碼:
LSEL,S,LINE,,LID,,0,0
ESLL,S
NSLE,S,ACTIVE
*GET,LL(LID),LINE,LID,LENG
*GET,NN,NODE,0,COUNT
F,ALL,Lab,Value*LL(LID)/NN
其中:LL(LID)為LID編號梁的長度;NN為LID編號梁上的節(jié)點數量;這兩個參數均可采用APDL的*GET函數求解得到。
點約束參數表用于約束關鍵點的自由度,包含點編號(NPT)、方向(Labels)、數值(Value)等信息,其起始關鍵字為“開始輸入點約束”,如表12所示。其可同時對同一個點的多個自由度進行約束,不同自由度之間需要用“,”分隔,例如:UX,UY,UZ,ROTX,ROTY,ROTZ。
表12 點約束參數輸入表
約束也可轉化為位移載荷,例如:約束方向為UX,數值設為20,表示該點沿正X方向偏移20 mm。
應用VB.NET逐行讀取點約束參數表中的數據,并在.txt文件中循環(huán)寫入APDL代碼:
ALLSEL
KSEL,S,,,NPT
NSLK,S
D,ALL,,Value,,,,Labels
與線載荷表類似,線約束在程序中最終也會轉換為點約束,因此線約束的規(guī)則與點約束的規(guī)則類似。線約束參數表包含線編號(LID)、方向(Labels)和數值(Value),如表13所示。
表13 線約束參數輸入表
應用VB.NET逐行讀取線約束參數表中的數據,并在.txt文件中循環(huán)寫入APDL代碼:
LSEL,S,LINE,,LID,,0,1
NSLL,S,0
D,ALL,,Value,,,,Labels
VB.NET在調用ANSYS運行APDL代碼時,會按照一定的命名規(guī)則保存部件應力云圖、部件局部應力云圖、部件位移云圖、梁的彎矩圖、梁的剪力圖、桿的軸向力圖等分析結果。其中,部件的局部應力結果主要截取局部應力大于一定值的梁單元的應力云圖,默認值為150 MPa,用戶可自己設定該值。求解完成后,VB.NET按照預定的格式編輯分析報告并保存。
泰富重裝集團基于該程序開發(fā)了斗輪堆取料機、帶式輸送機等一系列非標產品的鋼結構參數化有限元計算表格。TF.DQLZ.1系列的斗輪堆取料機參數化有限元分析表格如圖4所示。
圖4 TF.DQLZ.1斗輪堆取料機計算數據表
分析表格在保證核心數據結構形式不變的情況下,添加了產品結構參數,用于定義結構的幾何尺寸、載荷條件等參數,并將其與后面的點、線、載荷等表格中的參數進行關聯,從而使結構的調整更加直觀、快捷,如圖5所示。
圖5 TF.DQLZ.1斗輪堆取料機上部結構參數
將該TF.DQLZ.1斗輪堆取料機有限元計算參數表導入程序中運行,得到相應的有限元分析計算結果和分析報告如圖6所示。
圖6 TF.DQLZ.1斗輪堆取料機有限元分析報告
壓桿穩(wěn)定性計算是鋼結構計算中經常需要進行的校核計算,因此機械設計工程師可依據梁單元的軸向力分析結果添加壓桿穩(wěn)定性計算函數,如圖7所示。使用者也可自行添加其他的機械常用設計計算函數。
圖7 壓桿穩(wěn)定性計算表
基于EXCEL、ANSYS和VB.NET開發(fā)的鋼結構參數化有限元分析系統(tǒng)具有以下特點:
1) 具備很強的通用性。針對不同的鋼結構產品,工程師不需要單獨開發(fā)程序,只要保證分析數據表格的體系、格式和關鍵字不變,重新編輯EXCEL分析數據表,即可完成特定產品的鋼結構計算模板定制,因此非常適合非標準化重型機械產品的鋼結構參數化有限元計算。
2) 具有很好的可擴展性。工程師可在鋼結構有限元分析結果的基礎上,添加機械設計常用的計算功能,例如螺栓聯接計算、壓桿穩(wěn)定計算、優(yōu)化計算等,擴展該系統(tǒng)的計算能力。
目前,泰富重裝集團有限公司在該系統(tǒng)的基礎上,已開發(fā)了斗輪堆取料機、帶式輸送機等一系列非標準化產品的鋼結構參數化有限元計算模板。從運行結果來看,該系統(tǒng)的運用大約縮短了50%的產品開發(fā)時間,提高了產品開發(fā)效率,增強了企業(yè)競爭力。