張發(fā)榮
(中國鐵建高新裝備股份有限公司,云南 昆明 650215)
APDL 是ANSYS Parametric Design Language 的縮寫,即ANSYS 參數(shù)化設計語言。 在參數(shù)化的分析過程中,APDL 可以簡單地修改其中的參數(shù)達到反復分析各種尺寸、不同載荷大小的多種設計方案或者序列性產品,極大地提高分析效率,減少分析成本。
在鐵路大型養(yǎng)路機械(以下簡稱“大機”)的車體結構設計中, 利用APDL 對車體進行參數(shù)化建模,修改起來非常方便,省去了反反復復的模型錢,有效地縮短了靜強度計算時間,提高了設計效率。
APDL 也不是盡善盡美的, 在用APDL 進行大機車體的靜強度分析時,為保證計算規(guī)模和計算精度之間的平衡,筆者一般會選用殼單元shell181 與梁單元beam188 結合的方式進行, 力求在最小的計算規(guī)模下,最大限度地還原車體的三維結構,以保證計算的準確性。
就筆者常用的beam188 單元來說,其單元幾何如圖1 所示。 該單元由整體坐標系中節(jié)點I、J、K 定義,單元x 軸的方向由I 節(jié)點指向J 節(jié)點。 用戶可通過定義節(jié)點K 控制單元的方向,此時單元x 軸和x 軸位于由I、J、K 三點確定的平面之內。
圖1 beam188 的單元幾何
通過APDL 劃分梁單元時,最麻煩的是定義方向節(jié)點K。
要對一組同一截面號、同一單元號和材料號的線段進行劃分梁單元時,只有這組線段共線(此處為狹義的共線,表示在同一直線上,下同)且方向相同,才能批量劃分;否則,就得為它們分別指定方向節(jié)點。 如不這樣操作,生成的梁單元的截面和偏置方向就會發(fā)生旋轉或反向,無法滿足預期。 就算是方向相反的共線線段,也不行。
大機的車體模型本就復雜,加之建模過程中的布爾操作, 讓原本就幾百上千根要劃分梁單元的線段在數(shù)量至少又上升一個量級。 如果手動為每條線指定方向節(jié)點,不但操作起來極其煩瑣,而且大量的重復代碼,寫起來費時費力,執(zhí)行起來也效率低下,實在不可取。
幾經思考, 筆者開發(fā)了批量劃分梁單元的插件Beamit, 一勞永逸地解決了用APDL 劃分梁單元的難題。 為了進一步提高效率,筆者又開發(fā)了批量調整線的方向的插件Frontit,與beamit 配合使用,實現(xiàn)效率翻番。
Frontit 的實現(xiàn)邏輯如圖2 所示。 該插件有一個參數(shù),用于指定要調整的方向,其有效值為1,2,3,分別表示調整所選線的方向為X,Y,Z 軸的正向。
圖2 調整線的方向的實現(xiàn)邏輯
Beamit 的實現(xiàn)邏輯如圖3 所示。 Beamit 帶三個參數(shù),依次表示:梁單元參考方向,材料號,單元號。
圖3 劃分梁單元的實現(xiàn)邏輯
(1)1 號參數(shù)為必填參數(shù),其有效值為±1,±2,±3,分別對應X,Y,Z 軸的正負向。
(2)2、3 號參數(shù)為選填參數(shù), 預置默認值均為2。未輸入時自動調用默認值。 當梁單元的材料號和單元號不為2 時,必須輸入。
下面列出Beamit 中部分功能的代碼實現(xiàn)。
a)獲取線的數(shù)量和最小線號的代碼如下:
*get,ar21,line,,COUNT
*get,ar22,line,,num,MIN
b)為最小線號定義方向節(jié)點及劃分網格的代碼如下所示:
*get,ar23,LINE,ar22,kp,1
*get,ar24,kp,,num,MAXD
k,ar24+1,kx(ar23)+ar31,ky(ar23)+ar32,kz(ar23)+ar33
latt,ar25,,ar26,,,ar24+1
lmesh,ar22
兩個插件都加入了報錯提示功能。
a)選擇集中沒有線段時,會提示:“HAS NO LINE SELECTED”;
b)方向參數(shù)非法時,會提示:“Wrong direction”。
其效果如圖4 所示。 報錯功能的加入,不但增強了互動性,而且降低了命令流運行出錯時排查錯誤的成本,極大地增加了兩個插件的實用性。
圖4 插件報錯提示
圖5 為使用兩個插件進行梁單元劃分的某大機車體骨架有限元模型。
圖5 某大機車體骨架梁單元模型
除了批量劃分梁單元外,Beamit 還能通過簡單的循環(huán),快速實現(xiàn)一些規(guī)律梁單元的劃分。
Fini$/CLEAR$/PREP7
k,,60$k,,60,,150$l,1,2
/PSYMB,LDIR,1$LPLOT
et,1,188 $keyopt,1,3,2 $mp,ex,1,2.06e5 $mp,prxy,1,0.3
CSYS,1$a=18$LGEN,a,ALL,,,,360/a$CSYS,4
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! WPROTA,45
! WPROTA,90
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sectype,1,BEAM,HREC$SECDATA,6,4,0.5,0.5,0.5,0.5$SECOFFSET,CENT
SECNUM,1$lsel,ALL$LESIZE,all,2
*DO,i,1,a$lsel,s,,,i$beamit,1,1,1$WPROTA,360/a$*ENDDO
/eshap,1$EPLOT
直接運行和去掉兩句注釋中的一句,分別可以得到圖6 中的三種效果。
圖6 示例
APDL 是一種高效率、低成本的參數(shù)化建模方式,但是對于梁單元的劃分較為煩瑣、低效。 經筆者開發(fā)的兩個插件Beamit 和Frontit,不但可以高效、快速地完成梁單元的批量劃分,而且可以簡單、快速地實現(xiàn)一些規(guī)律梁單元的劃分, 從而一勞永逸地解決了APDL 梁單元劃分的難題,實現(xiàn)效率翻番。