付 磊,李 良,鄭明訓
(四川理工學院機械工程學院,四川自貢643000)
攪拌操作是化工反應過程的重要環(huán)節(jié),其原理涉及流體力學、傳熱、傳質(zhì)及化學反應等多種過程。攪拌器是攪拌單元設備的關鍵部件,是反應釜的核心,它直接影響著攪拌單元設備的傳質(zhì)、傳熱能力,從而影響著化學反應過程及產(chǎn)品質(zhì)量[1]。常用的攪拌器有推進式、渦輪式、框式、螺桿式、螺帶式等。其中螺桿式攪拌器的攪拌性能好,效率高,能耗低,在攪拌反應釜中廣泛應用。
ANSYS有限元分析程序是著名的CAE供應商美國ANSYS公司的產(chǎn)品,主要用于結構、熱、流體和電磁四大物理場獨立或耦合分析的CAE工具[2]。ANSYS有限元分析包括前處理、求解和后處理三個基本過程。前處理主要進行單元選用、材料定義、創(chuàng)建CAD模型和劃分網(wǎng)格,最終得到一個完整的有限元模型。
螺桿式攪拌器的葉片是螺旋結構,螺旋結構如彈簧、螺紋等在工程中應用廣泛,借助ANSYS對其進行分析,具有重要的現(xiàn)實意義。幾何模型的建立,是進行有限元分析的基礎,對于有些特殊的螺旋實體模型,在ANSYS中不能直接利用已有的命令直接生成[3]。本文嘗試利用ANSYS提供的二次開發(fā)工具,實現(xiàn)螺桿式攪拌器的參數(shù)化建模,為此類結構的建模提供一種通用有效的方法。
有限元軟件ANSYS具有良好的開放性,可以根據(jù)需要二次開發(fā),進行功能擴充和系統(tǒng)集成,生成具有專業(yè)特點的用戶子系統(tǒng)。其主要的二次開發(fā)工具有3個:
(1)UIDL是ANSYS提供的一種圖形界面設計語言,用于在系統(tǒng)主菜單上添加用戶菜單項、用戶對話框等,實現(xiàn)參數(shù)輸入,為程序設計友好的用戶界面,并能對底層的程序代碼進行封裝,使用戶不必了解程序的實現(xiàn)過程,也能方便地使用該程序。
(2)APDL是ANSYS參數(shù)設計語言,是一種類似FORTRAN的解釋性語言,具有變量、數(shù)組、函數(shù)、循環(huán)、分支、判斷等編程要素,用于把ANSYS用戶操作過程以命令方式組織起來,形成用戶宏程序[4]。利用它能實現(xiàn)有限元模型的參數(shù)化建模、加載、求解和后處理,提高分析過程的自動化和程序代碼的重用性。
(3)UPFS(User Programmable Features)。是 ANSYS 提供的連接用戶應用程序的工具,利用它所提供的l0個FORTRAN接口程序,通過把用戶應用程序作為接口程序的子程序或函數(shù),就可以將用戶應用程序連接到ANSYS中。連接后的用戶應用程序,可以讀取ANSYS數(shù)據(jù)庫信息,并調(diào)用其內(nèi)部子程序。
實體模型的建立,是進行有限元分析的基礎。在ANSYS中建模有兩種方式:
第一種是通過交互方式,用戶的指令可以通過鼠標點擊菜單項選取和執(zhí)行,也可以在命令輸入窗口通過鍵盤輸入,這種建模方式方便、直觀,隨時可以查看結果,但是使用者必須熟悉該軟件;
第二種是用ANSYS的APDL語言在記事本中直接輸入命令行,然后存到一個批處理文件中,在以后進行同樣工作時,由ANSYS自動讀人并執(zhí)行,在進行某些重復性較高的工作和進行參數(shù)化建模時,能有效地提高工作速度。
本文采用第二種建模方式。此外,ANSYS還提供了較為靈活的圖形接口及數(shù)據(jù)接口,它能與多數(shù)CAD軟件接口,實現(xiàn)數(shù)據(jù)的共享和交換,如Proe、UG等。但是通過接口引入的圖形可能要發(fā)生一些變化,需要先修正幾何模型,特別是復雜大型結構更易出現(xiàn)模型信息丟失的現(xiàn)象,而且當輸入的模型如果不適于網(wǎng)格劃分時,則需要大量的修補工作。
對于有些特殊的幾何實體模型(比如漸開線齒輪、螺旋彈簧等實體模型的建立等),本文中的螺桿式攪拌器模型在ANSYS中不能直接利用已有的命令直接生成。若能熟練地使用APDL語言,利用相應的數(shù)學表達式,設計相應實體的生成程序,便能自動完成建?;?qū)崿F(xiàn)某些功能,會使分析更為簡單有效。
將模型的主要幾何特征參數(shù)化,這是參數(shù)化建模的關鍵。螺桿式攪拌器的螺旋葉片,主要特征是螺旋內(nèi)徑、螺旋外徑、螺距;螺桿攪拌器實體參數(shù)化建模的關鍵,是要生成一條符合螺桿攪拌器螺旋葉片參數(shù)要求的螺旋線,ANSYS中沒有提供生成螺旋線的命令。本文根據(jù)螺旋葉片螺旋線的參數(shù)方程,利用APDL語言編程來建立螺旋線,先建立關鍵點,連接關鍵點生成螺旋線,用LGEN命令按螺旋葉片厚度復制螺旋線,連接線的端面點,用AL命令由線生成螺旋面,再用VA命令由面生成一圈螺旋體,根據(jù)螺旋葉片圈數(shù)用VGEN命令復制體生成螺旋葉片體[5],然后建立攪拌軸實體,最后用VADD命令合并生成的所有實體。并且通過定制ANSYS圖形用戶界面
(GUI),實現(xiàn)多參數(shù)的對話框輸入。
3.2.1 主要參數(shù):
arg1——攪拌軸外徑;
arg2——螺旋葉片外徑;
arg3——螺旋葉片厚度;
arg4——螺旋葉片螺距;
arg5——螺旋葉片圈數(shù);
arg6——螺旋高度;
arg7——循環(huán)度數(shù);
arg8——攪拌器偏心距;
arg9——攪拌器的安裝距離;
arg10——攪拌器軸向安裝;
theta——中間變量;
zz——中間變量。
3.2.2 初始化ANSYS環(huán)境
FINISH
/CLEAR
/BATCH
/FILNAME,Blender
/TITLE,The Process of creating the blender parametric modeling
3.2.3 定義幾何尺寸參數(shù)
通過多參數(shù)輸入對話框進行賦值。
MULTIPRO,’start’,9
*cset,1,3,arg1,’Valid Turns Number of the Blender(mm):’,110(攪拌軸外徑)
*cset,4,6,arg2,’Valid Turns Number of the Blender(mm):’,600(螺旋葉片外徑)
*cset,7,9,arg3,’Valid Turns Number of the Blender(mm):’,8(螺旋葉片厚度)
*cset,10,12,arg4,’Valid Turns Number of the Blender(mm):’,400(螺旋葉片螺距)
*cset,13,15,arg5,’Valid Turns Number of the Blender(mm):’,4(螺旋葉片圈數(shù))
*cset,16,18,arg7,’Valid Turns Number of the Blender():’,45(螺旋度數(shù))
*cset,19,21,arg8,’Valid Turns Number of the Blender(mm):’,50(攪拌器偏心距)
*cset,22,24,arg9,’Valid Turns Number of the Blender(mm):’,100(攪拌器安裝距離)
*cset,25,27,arg10,’Valid Turns Number of the Blender():’,60(攪拌器軸向安裝角)
MULTIPRO,’end’
*IF,BUTTON,EQ,1,THEN
/EOF
*ENDIF
3.2.4 螺桿式攪拌器建模
/units,si !單位制的設置
*AFUN,deg !角度單位的設置為度
arg6=arg5*arg4+arg3/(45)
theta=0
zz=0
/VIEW,1,0.7,-0.5,-0.5 !轉換視角
/ANG,1,-65
csys,0 !激活笛卡爾坐標系
WPAVE,arg8,,arg9 !移動工作面
wpro,,,arg10 !工作平面繞Y軸旋轉60°
CSWPLA,101,1 !工作平面處建立局坐標系(柱坐標系)
(1)創(chuàng)建螺旋線上的關鍵點。
*get,N_kp,kp,0,num,max!查詢當前已有實體關鍵點的最大編號返回給N_kp
N_kp=N_kp+1
NUMSTR,kp,N_kp !當前所建實體模型關鍵點從KP_N+1開始編號
*DO,i,1,17,2
K,N_kp+i,arg1/2,theta,zz
K,N_kp+i+1,arg2/2,theta,zz
theta=theta+arg7
zz=zz+arg4/8
*ENDDO
(2)創(chuàng)建螺旋線。
*get,N_LINE,LINE,0,num,max!查詢當前已有實體線的最大編號返回給N_LINE
N_LINE=N_LINE+1
NUMSTR,LINE,N_LINE !當前所建實體模型線從N_LINE+1開始編號
*DO,i,1,15,2
L,N_kp+i,N_kp+i+2
*ENDDO
*DO,i,1,15,2
L,N_kp+i+1,N_kp+i+3
*ENDDO
(3)合并曲線。
*DO,i,1,7,1
LCOMB,N_LINE,N_LINE+i
LCOMB,N_LINE+8,N_LINE+i+8
*ENDDO
NUMCMP,LINE !壓縮線編號
*get,N_LINE,LINE,0,num,max
NUMSTR,LINE,N_LINE
LGEN,2,N_LINE-1,N_LINE,1,,,arg3/cos(45),0,0,0!復制曲線
(4)連接關鍵點生成面。
L,N_kp,N_kp+1 !連接端面1的4個關鍵點
L,N_kp+1,N_kp+2
L,N_kp+2,N_kp+4
L,N_kp+4,N_kp
L,N_kp+3,N_kp+5 !連接端面2的4個關鍵點
L,N_kp+5,N_kp+18
L,N_kp+18,N_kp+17
L,N_kp+17,N_kp+3
(5)將坐標系轉換成直角坐標系。
csys,101
CSWPLA,102,0
(6)生成螺旋面。
*get,N_AREA,AREA,0,num,max
NUMSTR,AREA,N_AREA+1
AL,N_LINE+3,N_LINE+4,N_LINE+5,N_LINE+6 !端面1
AL,N_LINE+7,N_LINE+8,N_LINE+9,N_LINE+10 !端面2
AL,N_LINE-1,N_LINE,N_LINE+4,N_LINE+9!其余4個面
AL,N_LINE+1,N_LINE+2,N_LINE+6,N_LINE+7
AL,N_LINE-1,N_LINE+1,N_LINE+3,N_LINE+10
AL,N_LINE,N_LINE+2,N_LINE+5,N_LINE+8
(7)創(chuàng)建螺桿攪拌器實體。
*get,N_volu,VOLU,0,NUM,MAX !當前體的最大編號返回給N_volu
NUMSTR,VOLU,N_volu+1 !體的編號從N_volu+1開始
VA,N_AREA+1,N_AREA+2,N_AREA+3,N_AREA+4,
N_AREA+5,N_AREA+6!由面生成一個螺旋體
VGEN,arg5,N_volu+1,,,,,arg4,0,1,0 !復制生成4個螺旋
CYL4,0,0,arg1/2,,,,arg6 !生成攪拌軸
vsel,s,volu,,N_volu+1,N_volus+1+arg5
VADD,ALL !合并體
把上述建立螺旋式攪拌器的程序代碼,存入一宏文件中,命名為BlenderMacro.mac,以方便建立螺旋式攪拌器模型時調(diào)用,或者也可以以文本文件的格式保存,并通過菜單形式加載,點擊“File>Read Input from”,將會彈出一個加載文件對話框,選擇文本文件(本文定義為Blender.txt)后單擊OK,出現(xiàn)多參數(shù)輸入對話框,通過多參數(shù)輸入對話框進行賦值,即可生成相對應的螺桿式攪拌器實體模型。
本文利用APDL語言的參數(shù)化建模技術,成功實現(xiàn)了螺桿式攪拌器的參數(shù)化建模,提高了此類模型的建模效率。實踐證明,用APDL參數(shù)化設計語言并借助UIDL界面設計語言,能方便地定制用戶自己的有限元分析程序,實現(xiàn)有限元分析過程的參數(shù)化,對工程實踐具有重要的指導作用。同時文中給出了參數(shù)化建模實現(xiàn)的全部源代碼,對同類零件的建模具有一定參考價值。
[1]鄭津洋,董其伍,桑芝富.過程設備設計[M].北京:化學工業(yè)出版社,2001.
[2]龔曙光.ANSYS工程應用實例解析[M].北京:機械工業(yè)出版社,2003.
[3]鐘世金,莫江濤,王靜文,劉舜堯.基于ANSYS的螺旋結構參數(shù)化建模[J].有色設備,2005,(1):9-11.
[4]博弈創(chuàng)作室.APDL參數(shù)化有限元分析技術及其應用實例[M].北京:中國水利水電出版社,2003.
[5]龔曙光,謝桂蘭.ANSYS操作命令與參數(shù)化編程[M].北京:機械工業(yè)出版社,2004.