18.1.1 User subroutines: overview。
PNEWDT
PNEWDT指的是建议新的时间增量与所使用时间增量间的比例(DTIME,如下)。此变量能够允许你在Abaqus/Standard中对自动时间增量提供输入(假如选择了自动时间增量的话)。 在每次调用USDFLD之前,将PNEWDT设定为一个大数值
如果PNEWDT被重新定义为小于1.0的数,Abaqus/Standard必须舍弃时间增量,用一个更小时间增量再次尝试。提供给自动时间积分算法的建议新的时间增量是PNEWDT × DTIME,其中PNEWDT是允许迭代中重新定义PNEWDT的所有调用用户子程序中最小值。
如果PNEWDT是调用用户子程序中一个给定大于1.0的值,Abaqus/Standard可能会增加时间增量。提供给自动时间积分算法的建议新的时间增量是PNEWDT × DTIME,其中PNEWDT是允许迭代中重新定义PNEWDT的所有调用用户子程序中最小值。
如果在分析程序中没有选择自动时间增量,将忽略大于1.0的PNEWDT,小于1.0的PNEWDT会造成任务停止。
传递信息的变量 DIRECT (3,3)
包含物质点关于全局方向的方向余弦的数组。DIRECT(1,1) , DIRECT(2,1) , DIRECT(3,1) 给出了第一材料方向上的(1, 2, 3)分量;DIRECT(1,2) , DIRECT(2,2) , DIRECT(3,2) 给出了第二材料方向,等等。对于壳单元与膜单元来说,前两个方向是在单元面内,第三个方向是法向。对于梁单元来说,这些都是不可用的。 T (3,3)
包含相对于单元基本方向的材料方向分量的方向余弦的数组。它定义了材料方向(DIRECT)关于单元基本方向的方向。对于连续单元来说,T与DIRECT是完全一致的。对于壳单元与膜单元,T 1,1 =????????,T 1,2 =?sinθ,T 2,1 =????????,T 2,2 =????????,T 3,3 =1.0,其余分量为0,其中??为法向矢量逆时针旋转角度。如果没有使用方形,那么T是单位矩阵。方向并不适用于梁单元。
CELENT
特征单元长度。对于一阶单元来说,是沿单元一条线的长度;对于二阶单元来说,是同样典型长度的一半。对于梁与桁架,是沿单元轴的特征长度。对于膜与壳单元,它是参考面的特征长度。对于轴对称单元,它只是(r,z)平面内的特征长度。
TIME (1):在当前增量步开始时的分析步时间值 TIME (2):在当前增量步开始时总的时间值 DTIME:时间增量
CMNAME:用户指定的材料名称,左对齐 ORNAME:用户指定的局部方向名称,左对齐
NFIELD:定义在材料点的场变量的数目
NSTATV:用户定义的解依赖的状态变量(详见Abaqus用户分析手册Section 18.1.1 “Allocating space‖ in ―User subroutines: overview) NOEL:单元数目 NPT:积分点数目
LAYER:层数(对于复合壳体与分层固体) KSPT:当前层内截面点的数目 KSTEP:步数 KINC:增量数
NDI:此点法向应力分量的数目 NSHR:此点切向应力分量的数目 COORD:在材料点的坐标
JMAC:必须将变量传到GETVRM实用程序来访问输出变量 JMATYP:必须将变量传到GETVRM实用程序来访问输出变量 MATLAYO:必须将变量传到GETVRM实用程序来访问输出变量 LACCFLA:必须将变量传到GETVRM实用程序来访问输出变量
实例:损伤弹性模型
下面介绍一个用户子程序USDFLD的例子。在例子中,桁架单元承受拉应力。介绍了损伤弹性模型:模量随在加载历史中发生的最大拉应变的函数而减少。最大拉应变存储为解依赖的状态变量,详见Abaqus Analysis User‘s Manual Section 33.6.1,“Defining solution-dependent field variables‖ in ―Predefined fields‖
子程序手册 2.1.6 Obtaining material point information in an Abaqus/Standard analysis
在Abaqus/Standard分析中获得物质点信息
Product: Abaqus/Standard 参考文献
? “UVARM,‖ Section 1.1.53 ? “USDFLD,‖ Section 1.1.49 ? “UDMGINI,‖ Section 1.1.25
? “Damage and failure of a laminated composite plate,‖ Section 1.1.14 of the Abaqus Example Problems Manual ? “ USDFLD ,‖ Section 4.1.24 of the Abaqus Verification Manual ? “ UVARM,‖ Section 4.1.26 of the Abaqus Verification Manual
概述
从用户子程序UVARM, UDMGINI或USDFLD中,调用GETVRM实用程序来访问材料积分点信息。 界面
DIMENSION ARRAY(15), JARRAY(15) CHARACTER*3 FLGRAY(15) ...
CALL GETVRM('VAR',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO, LACCFLA) 提供给实用程序的变量 VAR
Abaqus用户分析手册Section 4.2.1,―Abaqus/Standard output variable identifiers‖,表格中有输出变量钥匙(output variable key)。在输出表格中列出了可应用的钥匙,对于单元积分点上结果输出结果是可行的,例如,对于应力是S。 JAMC
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 JMATYP
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 MATLAYO
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 LACCFLA
变量必须传递到GRTVRM实用程序中去。所调用的用户子程序提供了这个变量。 从实用程序中返回的变量
ARRAY
包含输出变量单独分量的实数组 JARRAY
包含输出变量单独分量的整数数组 FLGRAY
包含相对于独立分量的标志的特征数组。标志将包含YES, NO, or N/A (不可用). JRCD
返回代码(0-无错误,1-输出请求错误或输出请求所有分量为0) 可用的输出变量钥匙
只有输出变量钥匙对结果文件输出是有效的,在使用GETVRM时它才是可用的。通常来说,假如一个钥匙对应于一个集体输出变量而不是一个单独分量,它可以使用GETVRM。例如,对于应力张量使用S,然而,任何一个单独的应力分量,假如说S11,这是不能使用的。集体输出变量钥匙是与单独分量是有区别的,在Abaqus用户分析手册Section 4.2.1,―Abaqus/Standard output variable identifiers‖的表格中,在.fil列中有一个圆点。在本章后面,将列出不能够使用GETVRM的输出变量钥匙。
将给你返回ARRAY、JARRAY、FLGRAY,分别相对应于实数分量、整数值分量、与VAR请求相关的标志。如果对于一个给定请求任何数组分量都不适用,它将返回初始值:ARRAY为0、JARRAY为0、FLGRAY为N/A。当任何时候不能识别请求钥匙,或请求是无效的(例如,对于使用薄壳理论的壳单元要求输出横向剪切应力)、或所有请求的输出分离是0,将从GETVRM返回JRCD=1。否则,JRCD=0