吳一帆
初始化應力計算在動力學問題求解中有較廣泛的應用,例如重力載荷的初始化,旋轉(zhuǎn)零部件離心預應力的施加,螺栓預緊力的施加等.初始化應力的合理處理能夠使得動力學工況的計算結果最大程度地接近實際情況,所以應力初始化的處理顯得較為重要.在擅長動力學計算的LSDYNA中,解決應力初始化有以下幾種方法.
(1)DYNAIN文件法.當后續(xù)分析的輸入文件需要較大改動時,可以使用LSDYNA3D的DYNAIN文件法.首先進行LSDYNA3D隱式分析,利用關鍵字*INTERFACE_SPRINGBACK_LSDYNA輸出DYNAIN文件.隱式部分的分析可以是靜力分析也可以是動力分析,可以是線性分析也可以是非線性分析.DYNAIN文件格式簡單,也可以借助其他方法獲取,比如可利用ANSYS的APDL或自編程實現(xiàn).將DYNAIN文件including到動力分析中即可得到初始應力場.
(2)隱式顯式轉(zhuǎn)換法.當后續(xù)分析的輸入文件無須較大改動時,可以使用LSDYNA3D的隱式顯式轉(zhuǎn)換法.利用關鍵字*CONTROL_IMPLICIT_GENERAL的IMFLAG選項開啟LSDYNA的onthefly模式,進行隱式顯式自動轉(zhuǎn)換分析.隱式部分的分析可以是靜力分析也可以是動力分析,可以是線性分析也可以是非線性分析.
(3)動力松弛法.動力松弛法是LSDYNA3D中比較經(jīng)濟、常用的應力初始化方法.利用關鍵字*CONTROL_DYNAMIC_RELAXATION可以開啟LSDYNA3Dde動力松弛分析,松弛文件可以用m參數(shù)讀入,這里需要注意關鍵字*CONTROL_DYNAMIC_RELAXATION中的IDRFLG的設置.如果想收縮初始收斂容限,還可以利用其APDL或自編程生成drelax,對于大變形和非線性的情況,還可以對動力松弛過程進行重啟動分析.
2LSDYNA獨立求解器的計算結果可以使用的后處理程序有哪些?LSDYNA一般被整合在ANSYS中,但對于獨立的LSDYNA求解器來說,后處理功能強大的程序就顯得非常重要.這里推薦2種強大的后處理程序.
第一種為LSPrePost,是LS公司推出的專為LSDYNA設計的前后處理程序,見圖1.
第二種為HyperWorks系列中的后處理程序HyperView,該后處理程序能夠?qū)攵喾N求解器格式的結果文件,后處理功能十分齊全,見圖2.
3在LSPrePost中如何設置segment?
在page1的SelPart中選中需要的體,切換到page5,在右側(cè)多選框選segment,在操作框選Create,在左側(cè)選選擇方式box,在圖形區(qū)選所有面,右側(cè)點中Done.
4LSDYNA中有關局部坐標系的常識
對于殼單元坐標系:局部坐標系x為節(jié)點1到節(jié)點2的方向;局部坐標系z為法線方向;局部坐標系y=zx,x=yz.
在分析殼單元時保證局部坐標系保持一致非常重要,這樣有利于后處理結果的解讀.需要注意以下3點.
(1)實體和厚殼的結果是基于整體坐標系的.
(2)梁單元的應力和合力結果均是基于局部坐標系的.
(3)殼單元的應力應變,在D3PLOT結果中是基于整體坐標系的,在ELOUT中是基于單元坐標系的.
在LSPP進行D3PLOT后處理時,有3種設置方法,可以將殼單元的結果轉(zhuǎn)變?yōu)榛趩卧鴺讼档慕Y果:(1)在VIew激活Local axes;(2)在Fcomp底部設置Local;(3)在History中設置EaxesLocal.
注意,對正交各向異性材料的殼、厚殼和實體單元,當*DATABASE_EXTENT_BINARY中設置CMPFLG為1時,單元的應力應變將以材料的局部坐標系結果輸出,但是在LSPP后處理中不能將材料的局部坐標系轉(zhuǎn)變?yōu)閱卧植孔鴺讼?
5LSDYNA的多核計算如何設定?
可以在啟動求解器的界面上設置計算核數(shù).在NCPU的選項中設置參與計算的CPU個數(shù),或者可以通過關鍵字*CONTROL_PARALLEL進行設定,見圖3.
6LSDYNA自定義材料本構子程序的簡便編譯方法基本編譯思想:寫好FORTRAN子程序之后,通過IVF編譯器以及nmake命令編譯For子程序,生成obj目標文件和求解器,簡化方法如下.
1)利用文本編輯器寫FORTRAN子程序,命名,存為.f格式文件,比如umat41forshell.f.
2)打開dyn21.f文件,注釋掉subroutine umat41 (cm, eps, sig, epsp, hsv, dt1, capa, etype, tt, temper, failel, crv, cma)下這一整個子程序的語句(包括這個語句),或者直接刪掉這部分子程序的內(nèi)容,然后保存dyn21.f文件.
3)用文本編輯器打開MakeFile,進行如下修改.
(1)OBJS= dyn21.obj dyn21b.obj一行中,增加umat41forshell.obj.變?yōu)镺BJS= dyn21.obj dyn21b.obj umat41forshell.obj.
(2)參照
dyn21.obj: dyn21.F
(FC) (FFLAGS) dyn21.F
格式,書寫2行語句
umat41forshell.obj:umat41forshell.f
(FC) (FFLAGS) umat41forshell.f
比如:
dyn21.obj: dyn21.F
(FC) (FFLAGS) dyn21.F
dyn21b.obj: dyn21b.F
(FC) (FFLAGS) dyn21b.F
umat41forshell.obj: umat41forshell.f
(FC) (FFLAGS) umat41forshell.f
然后保存MakeFile.
(3)用IVF編譯器和nmake命令編譯子程序.這一步以及后續(xù)的步驟與df_af_aq寫的基本流程一樣.
(摘自同濟大學鄭百林教授《CAE操作技能與實踐》課堂講義)
(待續(xù))第25卷 第3期2016年6月計 算 機 輔 助 工 程Computer Aided EngineeringVol.25 No.3Jun. 2016