umat怎么调用uexpan_ABAQUS子程序UMAT里弹塑本构的实现 -

(3)对于不同的用户子程序ABAQUS调用的时间是不同的,有的是在每个STEP 的开始,有的是STEP的结尾,有的是在每个INCREMENT的开始等等。当ABAQUS 调用用户子程序时,都会把当前的STEP和INCREMENT利用用户子程序的两个实 参KSTEP和KINC传给用户子程序,用户可把它们输出到外部文件中,这样就可清 楚的知道ABAQUS何时调用该用户子程序。

为保证用户子程序的正确执行,子程序的书写必须遵循ABAQUS的相关规定, 下面以用户材料子程序为例详细说明。

3.3. UMAT接口的原理

用户材料子程序(User-defined Material Mechanical Behavior,简称UMAT)是 ABAQUS提供给用户定义自己的材料属性的Fortran程序接口[7][8],使用户能使用 ABAQUS材料库中没有定义的材料模型。用户材料子程序UMAT通过与ABAQUS主求解程序的接口实现与ABAQUS的资料交流。在输入文件中,使用关键词“*USER MATERIAL”表示定义用户材料属性。

UMAT子程序具有强大的功能,使用UMAT子程序:

(1)可以定义材料的本构关系,使用ABAQUS材料库中没有包含的材料进行 计算,扩充程序功能。

(2)几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋 予ABAQUS中的任何单元。

(3)必须在UMAT中提供材料本构的雅可比(Jacobian)矩阵,即应力增量对 应变增量的变化率。

由于主程序与UMAT之间存在数据传递,甚至共享一些变量,因此必须遵守有 关UMAT的书写格式,UMAT中常用的变量在文件开头予以定义,通常格式

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD, 1 RPL,DDSDDT,DRPLDE,DRPLDT,

2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME, 3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT, 4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)

INCLUDE‘ABA_PARAM.INC’

10

CHARACTER*80 CMNAME

DIMENSION STRESS(NTENS),STATEV(NSTATV),

1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS), 2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1), 3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)

user coding to define DDSDDE,STRESS,STATEV,SSE,SPD,SCD and,if necessary,RPL,DDSDDT,DRPLDE,DRPLDT,PNEWDT RETURN END

UMAT中的应力矩阵、应变矩阵以及矩阵DDSDDE、DDSDDT、DRPLDE等,都是直接分量存储在前,剪切分量存储在后。直接分量有NDI个,剪切分量有NSHR个。各分量之间的顺序根据单元自由度的不同有一些差异,所以编写UMAT时要考虑到所使用单元的类别。下面对UMAT中用到的一些变量进行说明:

DDSDDE(NTENS NTENS):一个NTENS×NTENS的矩阵,称作Jacobian矩阵 ??/????是应力的增量,??是应变的增量,DDSDDE(i,j)表示增量步结束时第j个应变分量的改变引起的第i个应力分量的变化。通常Jacobian矩阵是一个对称矩阵,除非在“*USER MATERIAL”语句中加入了“UNSYMM”参数。

STRESS(NTENS):应力张量数组,对应NDI个直接分量和NSHR个剪切分量。在增量步的开始,应力张量矩阵中的数值通过UMAT和主程序之间的接口传递到UMAT中,在增量步的结束UMAT将对应力张量矩阵更新。对于包含刚体转动的有限应变问题,一个增量步调用UMAT之前就已经对应力张量进行了刚体转动,因此UMAT中只需处理应力张量的共旋部分。UMAT中应力张量的度量为柯西应力。

STATEV(NSTATEV):用于存储与解有关的状态变量的数组,在增量步开始时将数值传递到UMAT中,也可在子程序USDFLD或UEXPAN中先更新数据,然后增量步开始时将更新后的资料传递到UMAT中。在增量步的结束必须更新状态变量矩阵中的数据。和应力张量矩阵不同的是:对于有限应变问题,除了材料本构行为引起的资料更新以外,与解有关的状态变量矩阵中的任何向量或者张量都必须通过旋转来考虑材料的刚体运动。

11

状态变量矩阵的维数通过ABAQUS输入文件中的关键词“*DEPVAR”定义,关键词下面数据行的数值即为状态变量矩阵的维数。

PROPS(NPROPS):材料常数数组。材料常数的个数,等于关键词“*USER MATERIAL”中“CONSTANTS”常数设定的值。矩阵中元素的数值对应于关键词“USER MATERIAL”下面的数据行。

SSE,SPD,SCD:分别定义每一增量步的弹性应变能,塑性耗散和蠕变耗散。 它们对计算结果没有影响,仅仅作为能量输出。 STRAN(NTENS):应变数组。 DSTRAN(NTENS):应变增量数组。 DTIME:增量步的时间增量。 NDI:直接应力分量的个数。 NSHR:剪切应力分量的个数。

NTENS:总应力分量的个数,NTENS=NDI+NSHR。

由于UMAT子程序在单元的积分点上调用,增量步开始时,主程序路径将通过 UMAT的接口进入UMAT,单元当前积分点必要变量的初始值将随之传递给UMAT 的相应变量。在UMAT结束时,变量的更新值将通过接口返回主程序。

3.4. UMAT的使用方法

我们知道,有限元计算(增量方法)的基本问题[7]是:已知第n 步的结果(应力,应变等)

?n,

?n,然后给出一个应变增量d?n?1,计算?n?1,UMAT要完成这一计算,并

要计算DDSDDE(I,J)=??/??。??是应力增量矩阵,??是应变增量矩阵,DDSDDE(I,J) 定义了第J 个应变分量的微小变化对第 I 个应力分量带来的变化。 该矩阵只影响收敛速度,不影响计算结果的准确性 (当然,不收敛自然得不到结果)。

有限元计算的中心问题就是求得节点的位移 (进而应变、应力),以使内力和 外力达到平衡:

intextF(d)?F (3-1)

d 是节点位移矩阵,黑体字表示矩阵或矢量。除了小变形、线弹性问题,方程2-1是非性的,要用迭代的方法解出:

12

extintiK?d?F?F(dTn?1n?1) (3-2)

i?1id?dn?1n?1??d (3-3)

i 表示一个增量步内的第i 次迭代,n表示第n个增量步。KT是切线刚度,由材料的Jacobian 矩阵结合单元计算组装而得。刚度矩阵其实就是力对位移的梯度。要想快速收敛,位移增量应沿该梯度方向变化,也就是说,如果Jacobian 矩阵不是那么准确,自然KT 也不怎么准确,那么满足3-1式的位移被找到的速度也就变慢,甚至发散,根本找不到。但收敛速度无论慢快,3-1式才是判断结果准确与否的唯一标准。所以Jacobian 矩阵不影响结果的准确性,只影响收敛速度的快慢。 以大变形、非性材料为例,整个计算步骤是这样的:

整个外力不是一次加上,而是一点点加上的,不然会发散得不到结果的。所以,每一个增量步开始时就是在原来的外力上加上一点点,得到

extFint。根据3-2得到位移增

量?d,此时要知道力对位移的梯度KT,以尽快找到满足平衡条件的位移,由材料的Jacobian 矩阵和单元结合起来组装得到(此处使用UMAT 提供的Jacobian 矩阵)。然后可计算应变增量

id?n?1,调用UMAT,得到新的应力,进而得到新的内力,所以,程序

不在乎新的应力是由增量方法得到,还是全量方法得到,而只在乎新应力是否准确。然后回到3-2,如此循环,直至3-2右端为0,也即满足3-1。这样第n+1 步就完成了,然后开始第n+2 步,即 外力加上一点点,按同样的方法求解新的位移。直至整个外力全部施加并得到满足3-1的位移。

13

4. 材料非线性问题

弹性力学作为精确理论,从本质上都是非线性的,早期Cauchy, Green,Kirchhoff和Kelvin在这些方面都作出了重要贡献。后来又提出超弹性(即具有弹性势的)有限变形理论,由于理论方程的冗长而复杂,且工程应用也没有提出这方面要求而被搁置。20世纪40年代以后,由于橡胶材料、高分子合成材料的迅速发展和工业领域的大量应用,非线性弹性与超弹性的研究再次引起科学和工程界的重视,除了一般理论研究有了新的发展以外,工程应用计算方法也得到长足的发展。

4.1. 材料的弹塑性本构关系

弹塑性材料进入塑性的特征是当荷载卸去后存在不可恢复的永久变形。所以,在卸载情况下,应力应变之间不再是唯一的对应关系。这是区别于非线性弹性材料的基本属性。只以加载时应力应变关系成非线性,还不足以判断材料是非线性弹性还是弹塑性。但是一经卸载就可以看出两者的区别。非线性弹性材料沿原路径返回,而弹塑性材料将依据不同的加载历史卸载后产生不同的永久变形。

对大多数材料来说,在单调加载的情况下,存在一个明显的极限应力?s,当应力低于

?s时,材料保持线弹性。而当应力达到?s以后,则材料开始进入弹塑性状态。如继

续加载,然后在卸载,材料始终保持永久的塑性变形。如果应力达到?s后,应力不再增加,而材料变形可以继续增加,及变形处于不定的流动状态,则称材料为理想弹塑性的。反之如果应力达到?s后,再增加变形,应力也必须增加,则材料是应变硬化的,这时应力?s是塑性应变?p的函数,可解析为: ?s??s(?p)

(4-1)

本构关系反应着应力应变之间的关系。对于弹性材料变形是可以恢复的;而塑性材料变形是不可以恢复的。典型的弹塑性应变在卸载后要保持一个永久的变形。如图3-2

14

你可能感兴趣的:(umat怎么调用uexpan)