一起学习UMAT 的一些公式注释.pdf
《一起学习UMAT 的一些公式注释.pdf》由会员分享,可在线阅读,更多相关《一起学习UMAT 的一些公式注释.pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一起学习一起学习 UMATUMAT的一些公式注释的一些公式注释ZHANG chunyuherrliubs comments in formulas知识积累和储备在进行 ABAQUS子程序 UMAT的编写前,要弄清楚:ABAQUS调用 UMAT子程序流程;要建立的材料模型的本构关系和屈服准则等;UMAT子程序中相关参数、以及矩阵的表达。主要求解过程:每一个增量步开始,ABAQUS主程序在单元积分点上调用UMAT子程序,并转入应变增量、时间步长及荷载增量,同时也传入当前已知的状态的应力、应变及其他求解过程相关的变量;UMAT子程序根据本构方程求解应力增量及其他相关的变量,提供Jacobian矩阵给
2、 ABAQUS主程序以形成整体刚度矩阵;主程序结合当前荷载增量求解位移增量,继而进行平衡校核;如果不满足指定的误差,ABAQUS将进行迭代直到收敛,然后进行下一增量步的求解。弹性力学相关知识(基本)仿真论坛(http:/ . &highlight=UMAT)ABAQUS二次开发版块这个人帖子结合例子,列出了弹性力学的基本公式。UMAT变量含义UMAT中可以得到的量增量步开始时刻的,应力(Stress),应变(Strain), 状态变量(Solution-dependent state variables (SDVs))增量步开始时刻的,应变增量(Strain increment),转角增量(R
3、otation increment),变形梯度(Deformation gradient)时间总值及增量(Total and incremental values of time),温度(Temperature),用户定义场变量材料常数,材料点的位置,特征单元长度当前分析步,增量步必须定义的变量应力,状态变量,材料Jacobian矩阵(本构关系)可以定义的变量应变能,塑性耗能,蠕变耗能新建议的时间增量变量分类UMAT中可以直接调用(Call )的子程序或子函数 SINV(STRESS,SINV1,SINV2,NDI,NSHR)用于计算应力不变量。其中:SINV1=第一应力不变量;SINV2=第
4、二应力不变量。 SPRINC(S,PS,LSTR,NDI,NSHR)用于计算主应力或应变值。其中:S=应力或应变张量;PS(I),I=1,2,3, 主应力或应变值;LSTR=标识,1表示 S为应力张量,2 表示 S 为应变张量。 SPRIND(S,PS,AN,LSTR,NDI,NSHR)用于计算主应力或应变的方向。其中:AN(K1,I),I=1,2,3,表示 PS(K1)的法向的方向余弦。 ROTSIG(S,R,SPRIME,LSTR,NDI,NSHR) 用于复原已旋转的张量。其中:R=转角矩阵;SPRIME=已旋转的应力或应变张量。XIT用于停止分析,并关闭所有与分析相关的文件。Variab
5、les DefineSTRESS(NTENS)该增量步开始之前的应力向量,在增量步结束之后,必须进行更新。如果指定了初始应力,则该向量在分析开始始将保持初始应力。真实Cauchy应力。需要定义的变量,在所有分析情况下均适用。STATEV(NSTATV)求解过程中的状态变量的存贮向量。在该增量步开始时,用来传递状态变量,除非进行了更新(采用USDEFL或 UEXPAN)。在增量步结束时,STATEV更新为结束时刻的状态变量值。STATEV的维数(NSTATV)由*DEPVAR决定。DDSDDE(NTENS,NTENS) Jacobian矩阵,即本构关系矩阵。?/?。除非声明采用非对称方程求解,否
6、则均为对称矩阵DDSDDE(i, j)。S SE、SPD、SCD弹性应变能、塑性耗能、徐(蠕)变耗能。在该增量步结束时进行更新,并在下一增量步开始时进行传递。这些能量参数对于求解结果不起作用,除非结果采用能量形式输出。RPL该增量步结束时,由于材料的力学作工而产生的体积发热量。只用于完全耦合的温度应力分析DDSDDT(NTENS)与温度想对应的应力增量的变化量DRPLDE(NTENS)与应变增量相对应的体积发热量(RPL)的变化量DRPLDT(NTENS)与温度相对应的体积发热量(RPL)的变化量STRAIN(NTENS)该增量步开始之前的总应变向量。如果考虑了热膨胀效应,那么 STRAIN仅
7、为力学应变(即已经在总应变中减去了热膨胀得到的温度应变)。这些应变在输出结果中以“弹性”应变给出。信息传递变量DSTRAIN(NTENS)应变增量向量。如果考虑了热膨胀应变,则仅表示力学应变增量。TIME(1)TIME(2)当前分析步开始时刻的,时间步的值。当前分析步开始时刻的,总时间的值。DTIME该增量步的时间增量TEMP当前增量步开始时刻的温度DTEMP该增量步的温度增量PREDEF在当前增量步开始时刻的,预定义的场变量(基于读入的节点值)的内插值向量。DPRED预定义的场变量的增量向量CMNAME用户定义的材料名。由于ABAQUS内部的一些给定材料是以“ABQ_”作为材料名,因此应尽量
8、不采用“ABQ_”作为 CMNAME的名称。NDI该点的直接应力分量的个数NSHR该点的工程剪应力分量的个数NTENS应力或应变向量的维数,等于NDI +NSHR。NSTATV求解过程中的状态变量的个数,与材料类型匹配。PROPS(NPROPS)用户定义的材料常数NPROPS用户定义的材料常数的个数COORDS该点的坐标向量。如果在当前分析步中没有考虑几何非线性,COORDS就等于当前坐标系下的向量。否则,COORDS为最开始的坐标向量信息传递变量DROT(3,3)转角增量矩阵。代表了刚体的基本坐标系中的转角增量(该基本坐标系就是应力、应变向量存储时的坐标系)。用于用户定义子程序中的向量或矢量
9、状态变量的转角处理,而应力及应变向量在UMAT调用之前已经进行了转角处理。在小位移分析中,该矩阵是一个单位矩阵;在大位移分析中,如果该材料点的基本坐标系随着材料坐标系转动(如壳单元或采用了局部转角坐标时),该矩阵亦是一个单位矩阵。PNEWDT建议的新时间增量与原时间增量(DTIME)之间的比值大小。该变量允许用户在 ABAQUS/Standard中输入自动时间增量的计算法则(如果设置了自动时间增量)。对于 ABAQUS/Standard的准静态分析中的自动时间增量(基于标准蠕变率积分技术),不允许在 UMAT中控制。在每一次调用 UMAT前,PNEWDT被设置为一个足够大的值。如果没有选择自动
10、时间增量方法,大于1.0的 PNEWDT值将被忽略,而起作用的仅是当小于 1.0的 PNEWDT值时。能够更新的变量CELENT特征单元长度。信息传递变量DFGRD0(3,3)该增量步开始时刻的变形梯度向量。DFGRD1(3,3)该增量步结束时刻的变形梯度向量。如果在分析步中未考虑几何非线性,则该向量为零。NOEL单元的个数NPT积分点的个数信息传递变量LAYER层的个数(用于复合材料的壳单元,及层结构固体单元)KSPT当前层的截面点的个数KSTEP分析步的个数KINC增量步的个数UMAT程序编写相对于材料本构关系的推导验证,子程序的编写是相对简单的,在理清了ABAQUS-UMAT变量的含义和
11、材料的本构关系的前提下,再多看几个UAMT例子,就可以试着自己写 UMAT了。我的经验是一定要把流程图画出来,根据材料的本构关系的推导公式来写 UMAT程序。程序的验证需要耐心,用简单的模型验证,多看.dat和.msg文件。即使 UMAT程序没有问题,也可能出错,这时就要认真看本构推导公式,并和程序中的变量一一对应。 UMAT子程序中最重要也是最难的是材料的本构关系的推导!1、什么时候用用户定义材料(User-defined material, UMAT)?很简单,当 ABAQUS 没有提供我们需要的材料模型时。所以,在决定自己定义一种新的材料模型之前,最好对 ABAQUS 已经提供的模型心中
12、有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。2、好学吗?需要哪些基础知识?先看一下 ABAQUS 手册(ABAQUS Analysis Users Manual)里的一段话:Warning: The use of this option generally requires considerable expertise.Theuser is cautioned that the implementation of any realistic constitutive modelrequires extensive development and testing.
13、 Initial testing on a single elementmodel with prescribed traction loading is strongly recommended.但这并不意味着非力学专业,或者力学基础知识不很丰富者(就如我本人)就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation)而已。当然,最基本的一些概念和知识还是要具备的,比如应力(stress),应变(strain)及其分量; volumetric part和 deviatoric part;模量(modulu
14、s)、泊松比(Poissons ratio)、拉美常数(Lame constant);矩阵的加减乘除甚至求逆;还有一些高等数学知识如积分、微分等。3、UMAT的基本任务?我们知道,有限元计算(增量方法)的基本问题是:已知第 n 步的结果(应力,应变等) n n, n n; 然后给出一个应变增量d n n1 1, 计算新的应力n n1 1。 UMAT 要完成这一计算,并要计算 Jacobian 矩阵 DDSDDE(I,J) =/。 是应力增量矩阵(张量或许更合适),是应变增量矩阵。DDSDDE(I,J) 定义了第 J 个应变分量的微小变化对第 I 个应力分量带来的变化。 该矩阵只影响收敛速度,不
15、影响计算结果的准确性(当然,不收敛自然得不到结果)。4、怎样建立自己的材料模型?本构方程就是描述材料应力应变(增量)关系的数学公式,不是凭空想象出来的,而是根据实验结果作出的合理归纳。比如对弹性材料,实验发现应力和应变同步线性增长,所以用一个简单的数学公式描述。为了解释弹塑性材料的实验现象,又提出了一些弹塑性模型,并用数学公式表示出来。对各向同性材料( Isotropic material),经常采用的办法是先研究材料单向应力-应变规律(如单向拉伸、压缩试验),并用一数学公式加以描述,然后把讲该规律推广到各应力分量。这叫做“泛化“(generalization)。5、一个完整的例子及解释下面这
16、个 UMAT 取自 ABAQUS 手册,是一个用于大变形下的弹塑性材料模型。希望我的注释能帮助初学者理解。需要了解 J2 理论。 SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT, 1DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED, 2CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT, 3PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,
17、KINC)STRESSSTRESS-应力矩阵,在增量步的开始,保存 n n并作为已知量传入UMAT ;在增量步的结束应该保存更新的应力 n n1 1;STRANSTRAN-当前应变 n n,已知 。DSTRANDSTRAN应变增量d n n1 1,已知。STATEVSTATEV-状态变量矩阵,用来保存用户自己定义的一些变量,如累计塑性应变,粘弹性应变等等。增量步开始时作为已知量传入,增量步结束应该更新;DDSDDEDDSDDE=。需要更新DTIMEDTIME时间增量 dt。已知。NDINDI 直 接 应 力 、 应 变 个 数 , 对 三 维 问 题 、 轴 对 称 问 题 自 然 是 3(1
18、1,22,33),平面问题是 2(11,22);已知。NSHRNSHR 剪切应力、应变个数,三维问题时3(12,13,23),轴对称问题是1(12);已知。NTENSNTENS=NTENS+ NSHR,已知。PROPSPROPS 材料常数矩阵,如模量啊,粘度系数啊等等;作为已知量传入,已知。DROTDROT对 finite strain 问题,应变应该排除旋转部分,该矩阵提供了旋转矩阵,详见下面的解释。已知。PNEWDTPNEWDT可用来控制时间步的变化。如果设置为小于 1 的数,则程序放弃当前计算,并用新的时间增量 DTIME X PNEWDT 作为新的时间增量计算;这对时间相关的材料如聚合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一起学习UMAT 的一些公式注释 一起 学习 UMAT 一些 公式 注释
限制150内