Abaqus USDFLD使用教程

GETVRM子程序界面

CALL GETVRM(?VAR‘, ARRAY, JARRAY, FLGRAY, JRCD, 1 JMAC, JMATYP, MATLAYO, LACCFLA) 提供给GETVRM的变量

·提供给GETVRM的变量是输出变量关键,VAR,对于想要的计算结果数据,与JMAC,JAMTYP,MATLAYO,LACCFLA(在这些笔记中没有进一步讨论这些变量)

·这些可用的输出变量列在了输出列表中,ABAQUS/Standard User‘s Manual,Section 4.2.1

——对于单元积分点处的结果文件输出,这些变量必须是可用的,例如,对于应力的米塞斯应力S GETVRM返回的变量

·包含输出变量的独立浮点部分的数组(ARRAY) ·包含输出变量的独立整数值部分的数组(JARRAY) ·一个特征数组(FLGRAY)包含对应于各个部分的标志 ——标志将包含YES,NO,或N/A(不适用) ·返回代码(JRCD),JRCD=0表明GETVRM没有遇到错误,然而值1表明这里有一个输出请求错误或者所有的输出变量部分都是0

·如下写出了请求变量的组分

——单个指标分量(与没有分量的请求)返回在位置1,2,3,etc ——对于对称张量按顺序11,22,33,12,13,23返回双指标分量(张量),对于非对称张量接着是21,31,32,例如变形梯度

——因此,对于平面应力单元,返回应力为ARRAY(1) = S11, ARRAY(2) = S22, ARRAY(3) = 0.0, and ARRAY(4) = S12.

——不管分析的维度,对于主值请求、最小值(第一)与最大值(第三)、,总要返回三个数值,

GETVRM所支持的单元

·既然GETVRM是关于积分点数值,对于不需要*MATERIAL定义的大部分单元类型是不适用的。 ·因此,不支持以下单元类型: DASHPOTx SPRING x JOINTC JOINTxD DRAGxD ITS xxx MASS ROTARYI

all acoustic elements 所有声学单元 all contact elements 所有的接触单元 all gasket elements

all hydrostatic fluid elements 所有流体静力学单元 USA elements USA单元

USDFLD子程序界面

用户子程序USDFLD界面是

需定义的变量

·数组FIELD(NFIELD)包含当前积分点处的场变量????

——传递当前增量步结束时从节点差值的数值,用*INITISL CONDITION选项与*FIELD选项来指定

——使用更新的fi来计算作为场变量函数的积分点数值。传递更新的fi进其他用户子程序(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS)

可能被定义的变量

·在USDFLD中能定义包含解相关状态变量的数组STATEV(NSTATV) ——传递这些,作为增量步开始时的值

——在所有的情况下子程序中能够更新STATEV,更新后的值被传递到其他用户子程序中(CREEP, HETVAL, UEXPAN, UHARD, UHYPEL, UMAT, UMATHT, and UTRS) ——与积分点相联系的状态变量数目用*DEPVAR来定义

·给出了新建议时间增量与使用的时间增量(DTIME,如下)间的比值PNEWDT ——该变量允许用户提供输入到ABAQUS自动时间增量算法。 变量信息

·场变量(NFIELD)的数目存在在这点上

·在材料方向的全局坐标系统中方向余弦与当前积分点(DIRECT)相联系 ——DIRECT(#,1)定义第一积分点方向 ·方向余弦(T)

·模型中特征单元长度(CELENT)

·与*MATERIAL选项相联系的名字(CNAME)

·与单元相联系*ORIENTATION的名字(ORNAME) ·正应力分量的数目(NDI)、剪应力分量的数目(NSHR) ·分析步(KSTEP)与增量步数目(KINC),其中子程序被调用 ·当前增量结束时的分析步时间值(TIME(1)),总时间值(TIME(2) ·当前时间增量(DTIME)

·单元数目(NOEL)与积分点数目(NPT)

·在适合时,层(LAYER)与界面点数目(KSPT) ·在积分点处坐标(COORD)

·必须传到GETVRM实用子程序的变量(JMAC, JMATYP, MATLAYO, LACCFLA)

USDFLD与自动时间增量

·ABAQUS/Standard在分析中使用自动时间增量算法来控制时间增量大小

——当不可能收敛或结果不够准确时,此算法允许ABAQUS/Standard减少时间增量大小;当很容易收敛时,允许增加时间增量

·像USDFLD这样子程序能够使算法不正常工作

——因此,这些算法使用变量PNEWDT给增量算法提供信息 ·在每次调用USDFLD前,将PNEWDT设定一个大值

·假如PNEWDT重新定义为小于1.0的数,ABAQUS将放弃时间增量,并用一个较小时间增量来再次试探 ——提供给自动时间算法的新建议时间增量是

PNEWDT?DTIME,

其中:所使用的PNEWDT是所有调用用户子程序中的最小值,用户子程序对于此次迭代允许重新定义PNEWDT ·假如对于此次迭代与增量收敛的所有调用用户子程序PNEWDT是一个给定的大于1.0的值,ABAQUS可能会增加时间增量

——提供给自动时间算法的新建议时间增量是

PNEWDT?DTIME,

——其中:所使用的PNEWDT是此次迭代中所有调用用户子程序中的最小值 ·假如维持时间增量大小,设定PNEWDT=1.0

·假如对于分析程序没有选择自动时间增量,那将忽略大于1.0的PNEWDT的值,小于1.0的PNEWDT的值将会造成任务停止

实例:层状复合板失效

·ABAQUS Example Problems Manual, Section 1.1.14详细描述了此实例

·此实例对中间带有孔洞的层状复合板发生的损伤进行建模,它将承受面内压缩 ——此板包含石墨环氧复合材料,每层内纤维方向是-45/45 ·此问题中使用了四分之一对称有限元模型(如图4-1)

——使用了两层CSP4单元,而不是壳单元——板厚足够大,面外的位移可以忽略

材料模型

·Chang与Lessard详细描述了每层的材料行为

Chang, F-K., and L. B. Lessard, ―Damage Tolerance of Laminated Composites Containing an Open Hole and Subjected to Compressive Loadings: Part I—Analysis,‖ Journal of Composite Materials, vol. 25, pp. 2–43, 1991. ·最初的弹性特性是:

长度方向模量 宽度方向模量 剪切模量 泊松比

·材料计算剪切上的损伤,导致了非线性应力应变关系,形式为

其中:为最初的剪切模量,非线性用因子α=0.8×10来表示

·为了考虑非线性,非线性应力应变关系(等式4.1)需以不同形式来表示 在每个增量结束时的应力应该是应变的线性函数 ·最明显的方式是对非线性项线性化,则

·对等式4.2进行转换,则

?14

这就提供了一种定义等效剪切模量的算法

——然而,这种算法不是非常合适,因为在大应变水平下它是不稳定的,这通过稳定分析很容易证明(详见例子手册)

·为了获得一个更加稳定的算法,我们把非线性应力应变法则写成

其中:是一个未知系数

·对等式4.4表达式的稳定分析,优化的应力应变算法是:

以损伤参数d的形式进行表达,即

联系客服:779662525#qq.com(#替换为@)