实用标准文档
材料本构模型及编程-ABAQUS-UMAT
材料本构模型及编程实现:简介
1、什么时候用用户定义材料(User-defined material, UMAT)?
很简单,当ABAQUS没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。 2、好学吗?需要哪些基础知识?
先看一下ABAQUS手册(ABAQUS Analysis User's Manual)里的一段话:
Warning: The use of this option generally requires considerable expertise. The user is cautioned that the implementation of any realistic constitutive model requires extensive development and testing. Initial testing on a single element model with prescribed traction loading is strongly recommended.
但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation)而已。当然,最基本的一些概念和知识还是要具备的,比如
应力(stress),应变(strain)及其分量; volumetric part和deviatoric part;模量(modulus)、泊松比(Poisson’s ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。 3、UMAT的基本任务?
我们知道,有限元计算(增量方法)的基本问题是:
已知第n步的结果(应力,应变等) ,; 然后给出一个应变增量, 计算新的应力 。 UMAT要完成这一计算,并要计算Jacobian矩阵DDSDDE(I,J) =。是应力增量矩阵(张量或许更合适), 是应变增量矩阵。DDSDDE(I,J) 定义了第J个应变分量的微小变化对第I 个应力分量带来的变化。该矩阵只影响收敛速度,不影响计算结果的准确性(当然,不收敛自然得不到结果)。 4、怎样建立自己的材料模型?
本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。
对各向同性材料(Isotropic material),经常采用的办法是先研究材料单向应力-应变规律(如单向拉伸、压缩试验),并用一数学公式加以描述,然后把讲该规律推广到各应力分量。这叫做“泛化“(generalization)。 5、一个完整的例子及解释
下面这个UMAT取自ABAQUS手册,是一个用于大变形下的弹塑性材料模型。希望我的注释能帮助初学者理解。需要了解J2理论。 SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED, 2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
STRESS--应力矩阵,在增量步的开始,保存并作为已知量传入UMAT ;在增量步的结束应该保存更新的应力;