首页/文章/ 详情

ABAQUS_VUMAT初学者用户子程序小例子

5月前浏览338

上一次发过《ABAQUS 初学者用户子程序小例子》,給学习 UMAT 的初学者带来了一定的帮助。现在用到 VUMAT,发现网上 这种小例子很少,关于 VUMAT 的资料也不多。摸索了一天,做个 VUMAT的小例子供大家分享。

实例:简单的平面平板拉伸,材料本构模型采用随动强化模型, E=210000MPa, ν=0.3,fy=200MPa, E’=10000MPa。左端约束, 右端施加位移载荷V=0.2mm。

image.png

1 材料本构模型:

在Property 中定义材料时,在General下选中User Material,输入210000、0.3、200、 10000,以上两个数值代表E、ν,、fy、E’。在用户子程序中代表着PROPS(1)、PROPS(2)、 PROPS(3)、PROPS(4)。然后在 General 下选中 Depvar,由于该例子中使用了五个状态变量 (背应力张量和累积塑性应变变量),因此在第一项中输入大于5的数值即可。另外还需要输入密度。

image.png

image.png

建模大家都会,故省略

2 ABAQUS中STEP的设置

由于VUMAT需要用到Explicit求解,因此需要在step步骤中设置explicit选项,如下图, 其设置可以用默认设置。

image.png


3 ABAQUS调用VUMAT用户子程序 

同UMAT用户子程序的调用方法。 

在Job Manager 中点击Edit 选项,在General 选项的最后一项中选择自己建立好的用户子程序文件。(注:用户子程序文件可以使用文本编辑器进行编辑,当然也可以用Fortran编译器,如果对自己的用户子程序文件的语法不放心,可以先用Fortan编译器进行编译,不过编译前要先建立Project,关于Fortran编译,这里不再介绍)。 

完成后,点击submit即可进行分析。

image.png

4 结果 

以下两张图分布是用户子程序和ABAQUS自带的材料模型(Standard求解器)得到的应力云图,可以看出两种图形基本相同。

image.png

image.png


5 VUMAT子程序 

对于初学者来说,需要注意的是,FORTRAN对于程序语言格式上的要求。例如,对于FORTRAN语言,前六个字符必须空出来,等等。检查语法最好的方法就是在FORTRAN编译器上进行编译。 

 SUBROUTINE VUMAT( 

C Read only - 

 1  nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal, 

 2  stepTime, totalTime, dt, cmname, coordMp, charLength, 

 3  props, density, strainInc, relSpinInc, 

 4  tempOld, stretchOld, defgradOld, fieldOld, 

 3  stressOld, stateOld, enerInternOld, enerInelasOld, 

 6  tempNew, stretchNew, defgradNew, fieldNew, 

C Write only - 

 5  stressNew, stateNew, enerInternNew, enerInelasNew ) 

  include 'vaba_param.inc' 

C J2 Mises Plasticity with kinematic hardening for plane  

C strain case. 

C Elastic predictor, radial corrector algorithm. 

C The state variables are stored as: 

C     STATE(*,1) = back stress component 11 

C     STATE(*,2) = back stress component 22 

C      STATE(*,3) = back stress component 33 

C      STATE(*,4) = back stress component 12

C      STATE(*,5) = equivalent plastic strain 

C All arrays dimensioned by (*) are not used in this algorithm 

      dimension props(nprops), density(nblock), 

     1  coordMp(nblock,*), 

     2  charLength(*), strainInc(nblock,ndir+nshr), 

     3  relSpinInc(*), tempOld(*), 

     4  stretchOld(*), defgradOld(*), 

     5  fieldOld(*), stressOld(nblock,ndir+nshr), 

     6  stateOld(nblock,nstatev), enerInternOld(nblock), 

     7  enerInelasOld(nblock), tempNew(*), 

     8  stretchNew(*), defgradNew(*), fieldNew(*), 

     9  stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev), 

     1  enerInternNew(nblock), enerInelasNew(nblock) 

      character*80 cmname 

      parameter( zero = 0., one = 1., two = 2., three = 3., 

     1  third = one/three, half = .5, twoThirds = two/three, 

     2  threeHalfs = 1.5 ) 

      e     = props(1) 

      xnu   = props(2) 

      yield = props(3) 

      hard  = props(4) 

      twomu  = e / ( one + xnu ) 

      thremu = threeHalfs * twomu 

      sixmu  = three * twomu 

      alamda = twomu * ( e - twomu ) / ( sixmu - two * e ) 

      term   = one / ( twomu * ( one + hard/thremu ) ) 

      con1   = sqrt( twoThirds ) 

      do 100 i = 1,nblock 

C Trial stress 

        trace  = strainInc(i,1) + strainInc(i,2) + strainInc(i,3) 

        sig1 = stressOld(i,1) + alamda*trace + twomu*strainInc(i,1) 

        sig2 = stressOld(i,2) + alamda*trace + twomu*strainInc(i,2) 

        sig3 = stressOld(i,3) + alamda*trace + twomu*strainInc(i,3) 

        sig4 = stressOld(i,4)                + twomu*strainInc(i,4) 

C Trial stress measured from the back stress



更多内容见附件


免责声明

本页面/内容部分素材来源于互联网公 开 信 息,旨在传递更多信息,不代表本平台立场。

版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。

本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

附件

免费B11-ABAQUS_VUMAT初学者用户子程序小例子.pdf
ACTAbaqusUM材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-03-18
最近编辑:5月前
仿真支持爱好者
在仿真的路上越走越远
获赞 333粉丝 21文章 318课程 0
点赞
收藏
作者推荐

Fluent-UDF宏大全

流体变量宏名称(参数)参数类型返回值C_T(c,t)celltc,Thread*t温度C_T_G(c,t)celltc,Thread*t温度梯度矢量C_T_G(c,t)[i]celltc,Thread*t,inti温度梯度矢量的分量C_T_RG(c,t)celltc,Thread*t改造后的温度梯度矢量C_T_RG(c,t)[i]celltc,Thread*t,inti改造后的温度梯度矢量的分量C_T_M1(c,t)celltc,Thread*t温度的前一次步长C_T_M2(c,t)celltc,Thread*t温度的前二次步长C_P(c,t)celltc,Thread*t压力C_DP(c,t)celltc,Thread*t压力梯度矢量C_DP(c,t)[i]celltc,Thread*t,inti压力梯度矢量的分量C_U(c,t)celltc,Thread*tu方向的速度C_V(c,t)celltc,Thread*tv方向的速度C_W(c,t)celltc,Thread*tw方向的速度C_H(c,t)celltc,Thread*t焓C_YI(c,t,i)celltc,Thread*t,inti物质质量分数C_K(c,t)celltc,Thread*t湍流运动能C_D(c,t)celltc,Thread*t湍流运动能的分散速率C_O(c,t)celltc,Thread*t确定的分散速率读写导数的宏名称(参数)参数类型返回值CDUDX(c,t)celltc,Thread*tvelocityderivativeCDUDY(c,t)celltc,Thread*tvelocityderivativeCDUDZ(c,t)celltc,Thread*tvelocityderivativeCDVDX(c,t)celltc,Thread*tvelocityderivativeCDVDY(c,t)celltc,Thread*tvelocityderivativeCDVDZ(c,t)celltc,Thread*tvelocityderivativeCDWDX(c,t)celltc,Thread*tvelocityderivativeCDWDY(c,t)celltc,Thread*tvelocityderivativeCDWDZ(c,t)celltc,Thread*tvelocityderivative存取材料性质的宏名称(参数)参数类型返回值C_FMEAN(c,t)celltc,Thread*t第一次混合分数的平均值C_FMEAN2(c,t)celltc,Thread*t第一次混合分数的平均值C_FVAR(c,t)celltc,Thread*t第一次混合分数变量C_FVAR2(c,t)celltc,Thread*t第二次混合分数变量C_PREMIXC(c,t)celltc,Thread*t反应过程变量C_LAMFLAMESPEED(c,t)celltc,Thread*t层流焰速度C_CRITICALSTRAINcelltc,Thread*t临界应变速度RATE(c,t)C_POLLUT(c,t,i)celltc,Thread*t,inti第i个污染物质的质量分数C_R(c,t)celltc,Thread*t密度C_MUL(c,t)celltc,Thread*t层流速度C_MUT(c,t)celltc,Thread*t湍流速度C_MUEFF(c,t)celltc,Thread*t有效粘度C_K_L(c,t)celltc,Thread*t热传导系数C_K_T(c,t)celltc,Thread*t湍流热传导系数C_K_EFF(c,t)celltc,Thread*t有效热传导系数C_CP(c,t)celltc,Thread*t确定的热量C_RGAS(c,t)celltc,Thread*t气体常数C_DIFFL(c,t,i,j)celltc,Thread*t,inti,层流物质的扩散率intjC_DIFFEFF(c,t,i)celltc,Thread*t,inti物质的有效扩散率C_ABSCOEFF(c,t)celltc,Thread*t吸附系数C_SCATCOEFF(c,t)celltc,Thread*t扩散系数CNUT(c,t)celltc,Thread*t湍流速度forSpalart-Allmaras为单元格读写用户定义的标量和存储器的宏名称(参数)参数类型返回值C_UDSI(c,t,i)celltc,Thread*t,inti用户定义的标量(单元格)C_UDSIM(c,t,i)celltc,Thread*t,inti前一次步长下用户定义的标量(单元格)C_UDSI_DIFF(c,t,i)celltc,Thread*t,inti用户定义的标量的分散率(单元格)CUDMI(c,t,i)celltc,Thread*t,inti用户定义的存储器(单元格)给雷诺兹压力模型读写变量的宏名字(参数)参数类型返回值CRUU(c,t)celltc,Thread*tuu雷诺兹压力CRVV(c,t)celltc,Thread*tvv雷诺兹压力CRWW(c,t)celltc,Thread*tww雷诺兹压力CRUV(c,t)celltc,Thread*tuv雷诺兹压力sCRVW(c,t)celltc,Thread*tvw雷诺兹压力CRUW(c,t)celltc,Thread*tuw雷诺兹压力更多内容见附件免责声明本页面/内容部分素材来源于互联网公开信息,旨在传递更多信息,不代表本平台立场。版权归原作者或机构所有,如涉及侵权,请通过平台联系我们,我们将在核实后第一时间处理。本平台对转载内容的真实性、准确性不作任何保证,用户需自行判断并承担使用风险。

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈