Abaqus安全系數的實現——UVARM子程序
Abaqus安全系數的實現——UVARM子程序
在進行結構件強度校核有限元分析時,分析結果中安全系數的顯示能夠輔助對結構件進行優化設計。然而Abaqus軟件后處理器不能直接顯示安全系數,比較簡便的方式為調用UVARM子程序來實現。
UVARM子程序的代碼模板如下:
SUBROUTINE UVARM(UVAR,DIRECT,T,TIME,DTIME,CMNAME,ORNAME,
1 NUVARM,NOEL,NPT,LAYER,KSPT,KSTEP,KINC,NDI,NSHR,COORD,
2 JMAC,JMATYP,MATLAYO,LACCFLA)
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION UVAR(NUVARM),DIRECT(3,3),T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
C The dimensions of the variables FLGRAY, ARRAY and JARRAY
C must be set equal to or greater than 15.
user coding to define UVAR
RETURN
END
該子程序中要在高亮顯示部分定義UVAR(NUVARM)的代碼,以便在后處理器中顯示安全系數場變量。由于安全系數通常為屈服強度與材料實際應力之比。材料實際應力可表示為
因此,需要在代碼中通過GETVRM調用相應的應力分量S11、S22、S33、S12、S13和S23。
除此之外,還需要在前處理中設置:
(1) NUVARM為材料屬性中定義的Number of user-defined variables at each material point數量,設置界面如下圖1所示。如NUVARM=3,則在子程序中需要定義UVAR(1)、UVAR(2)和UVAR(3)。

圖1
(2) 為能夠在后處理中顯示該自定義變量,還需要在Step模塊中場變量輸出請求中勾選UVARM,如下圖2所示。

圖2
下面在實例中應用UVARM子程序以在后處理中顯示安全系數云圖。下圖3是由軸承座、軸承和軸組成的裝配體,所用的材料有QT600(屈服強度850MPa)和45鋼(355MPa)。在Properties中設置UVARM的數量為3個;在Step場變量輸出請求中勾選UVARM。在軸兩端分別施加向下的10000N載荷。

圖3
如下圖4所示的是UARM1云圖,其對應的是45鋼的安全系數云圖,即屈服強度(355)與材料實際應力之比。軸承與軸區域的安全系數顯示是正確的。然而,材質為QT600的軸承座安全系數并不正確。

圖4
如下圖5所示的是UARM2云圖,其對應的是QT600的安全系數云圖,即屈服強度(850)與材料實際應力之比。軸承座區域的安全系數顯示的是正確的。然而,材質為45鋼的軸承和軸安全系數并不正確。

圖5
從上面UARM1和UVARM2云圖中可以看出,兩種材質在不同的安全系數云圖中顯示數值不一樣。因此,需要單獨顯示相應材質的結構件才能獲得正確的安全系數值。
此外,還可以對代碼進行修改,通過IF 語句對材料名稱(CMNAME)進行判據實現同時對多種材質結構件的安全系數顯示。子程序中使用的CMNAME對材料命名方法有規定,材料名的前綴必須為大寫字母,且盡量避免ABQ_作為材料名的前綴。
如下圖6所示的是采用IF語句對CNAME進行判據后的安全系數云圖,能夠正確顯示不同材料的安全系數。

圖6
需要注意的是該方法適用于一次單元,二次單元由于插值外推的緣故顯示可能不正確。
上述實例和子程序見附件。
以下內容為付費內容,請購買后觀看
27人購買
CAE模型文件及安全系數UVARM子程序文件
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















