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
需要注意的是该方法适用于一次单元,二次单元由于插值外推的缘故显示可能不正确。
上述实例和子程序见附件。
以下内容为付费内容,请购买后观看
包含1个文件 26人购买
CAE模型文件及安全系数UVARM子程序文件

工程师必备
- 项目客服
- 培训客服
- 平台客服
TOP
