找回密码
 注册
Simdroid-非首页
楼主: Davvife

[子程序] UMAT/VUMAT入门攻略-Davvife留个Simwe的纪念帖

[复制链接]
发表于 2012-7-4 15:05:47 | 显示全部楼层 来自 湖北武汉
zhanghaidong 发表于 2012-7-2 19:51
请教楼主问题,如
http://forum.simwe.com/forum.php?mod=viewthread&tid=1044269&extra=page%3D1%26filt ...

问题已解决

http://forum.simwe.com/forum.php ... D127%26typeid%3D127
回复 不支持

使用道具 举报

发表于 2012-7-5 16:24:15 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
好帖 顶一下
回复 不支持

使用道具 举报

发表于 2012-7-25 15:54:24 | 显示全部楼层 来自 湖北武汉
wangcongkang 发表于 2011-9-29 15:27
在这一经典的vumat好贴中,我弱弱地向各位版主提一个问题。 我用vumat编写的johnson-cook模型,运行时遇到6 ...

您好,请问下有没有每条语句的注释呢?刚开始入门,VUMAT的资料很少啊。。。
回复 不支持

使用道具 举报

发表于 2012-7-25 22:59:30 | 显示全部楼层 来自 湖南长沙
fireflywph 发表于 2012-6-28 15:45
感谢davvife!
我刚刚在工作中遇到需要使用子程序的问题: 我们在定义材料的时候,发现弹性段并不是我们常用 ...

你这些问题完全可以通过搜索解决哦
回复 不支持

使用道具 举报

发表于 2012-12-6 15:59:30 | 显示全部楼层 来自 陕西西安
lz你好
我用xueweek的子程序小例子,却出现错误:
Abaqus JOB Job-1
Abaqus 6.10-1
C:\SIMULIA\Abaqus\6.10-1\Python\Lib\jabber.py:68: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
Begin Compiling Abaqus/Standard User Subroutines
12/06/12 10:45:43
Abaqus Error: Problem during compilation - ifort.exe not found in PATH.
Abaqus/Analysis exited with errors
我的子程序验证都通过了 请问这是什么原因?
回复 不支持

使用道具 举报

发表于 2012-12-14 09:05:27 | 显示全部楼层 来自 山西太原
jian4dan 发表于 2011-7-27 18:19
楼主你好,我觉得让人快且好的学会umat .等,应该把理论推导公式,和源代码都发表出来,如果理论发表难,最 ...

我就是刚学umta,一些源代码根本看不懂。还是希望有理论的一起看比较好、、
回复 不支持

使用道具 举报

发表于 2012-12-14 09:23:20 | 显示全部楼层 来自 江苏南京
我也在搞VUMAT,我现在只需要在超弹性材料模型 Van Der Waals模型中引入材料失效准则,但是ABAQUS中没有对超弹性材料引入失效处理,我现在想知道能不能把abaqus中的材料模型提取出来,这样,只在ABAQUS中原有的材料模型中稍加修改来实现材料的失效,不知道这样可不可行,超弹性材料本构编程实现起来我看了几天,还没看懂,超级麻烦,不知道楼主和大家有什么好的办法?
回复 不支持

使用道具 举报

发表于 2013-1-7 10:24:26 | 显示全部楼层 来自 陕西西安
在《基于ABAQUS的有限元分析和应用》——庄茁
21章用户子程序Johnson-Cook强化模型的Fortran程序码中的牛顿迭代部分中的牛顿迭代法部分,我看不太懂请大家指教!
回复 不支持

使用道具 举报

发表于 2013-1-7 10:30:31 | 显示全部楼层 来自 陕西西安
敦诚 发表于 2011-7-26 19:01
好吧,支持美女版主,提个问题。vumat中一般会涉及大变形,这个时候应变总量无法通过简单地线性叠加来实现 ...

你好
在《基于ABAQUS的有限元分析和应用》——庄茁
21章用户子程序Johnson-Cook强化模型的Fortran程序码中的牛顿迭代部分中的牛顿迭代法部分,我看不太懂请大神指教!
回复 不支持

使用道具 举报

发表于 2013-1-7 10:31:47 | 显示全部楼层 来自 陕西西安
wangcongkang 发表于 2011-9-29 15:27
在这一经典的vumat好贴中,我弱弱地向各位版主提一个问题。 我用vumat编写的johnson-cook模型,运行时遇到6 ...

你好
在《基于ABAQUS的有限元分析和应用》——庄茁
21章用户子程序Johnson-Cook强化模型的Fortran程序码中的牛顿迭代部分中的牛顿迭代法部分,我看不太懂请大神指教!
回复 不支持

使用道具 举报

发表于 2013-1-7 10:33:28 | 显示全部楼层 来自 陕西西安
billowriver 发表于 2011-11-1 18:34
一般693错误是被0除了,把变量用print*, xxx 一行一行打印到屏幕上进行调试.
塑性本构是需要迭代求解等效 ...

你好
在《基于ABAQUS的有限元分析和应用》——庄茁
21章用户子程序Johnson-Cook强化模型的Fortran程序码中的牛顿迭代部分中的牛顿迭代法部分,我看不太懂请大神指教!
回复 不支持

使用道具 举报

发表于 2013-1-8 14:54:22 | 显示全部楼层 来自 湖南长沙
一一沙尘暴一一 发表于 2011-11-2 09:36
版主,我提个小问题吧!一般用abaqus分析断裂用的都是xfem法,但是这个xfem法好像并没有提供子程序接口,我 ...

现在我也遇到一个这样的问题,想用XFEM来模拟混泥土的开裂,请教一下,能不能用XFEm的子程序,和混泥土的UMAT结合来计算开裂问题呢,谢谢
回复 不支持

使用道具 举报

发表于 2013-1-8 14:55:58 | 显示全部楼层 来自 湖南长沙
现在我也遇到一个这样的问题,想用XFEM来模拟混泥土的开裂,请教一下,能不能用XFEm的子程序,和混泥土的UMAT结合来计算开裂问题呢,谢谢
回复 不支持

使用道具 举报

发表于 2013-1-8 16:11:29 | 显示全部楼层 来自 广东深圳
这个帖子太好了
回复 不支持

使用道具 举报

发表于 2013-1-9 10:03:26 | 显示全部楼层 来自 湖南长沙
不知道版主能不能发一些UEL相关的资料,比如说一些小程序,并附带相关的中文注释,这样新手就很容易理解,容易上手
回复 不支持

使用道具 举报

发表于 2013-1-9 10:09:09 | 显示全部楼层 来自 湖南长沙
Davvife 发表于 2011-7-26 19:55
谢谢敦大的支持啊!我真的还遇到过这个问题啊!嘻嘻嘻
这是一个好问题,很多人遇到过,但是始终没有人详 ...

不知道版主能不能发一些UEL相关的资料,比如说一些小程序,并附带相关的中文注释,这样新手就很容易理解,容易上手
回复 不支持

使用道具 举报

发表于 2013-2-1 10:08:27 | 显示全部楼层 来自 天津
万分感谢
回复 不支持

使用道具 举报

发表于 2013-2-25 20:09:41 | 显示全部楼层 来自 陕西西安
你好,在ABAQUS User's Manual**别建议进行单元测试,对单元分别进行单轴拉伸、压缩及纯剪条件下的计算,请问单元所受的应力,应该依据什么确定?
回复 不支持

使用道具 举报

发表于 2013-3-2 16:31:53 | 显示全部楼层 来自 重庆沙坪坝区
下面的代码中facyld的正常值应该为0或1,但是当以状态变量的形式查看该值时,发现其并不是0或1这两个数,求帮忙看一下是判断有问题还是其他的原因
        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,
     5 stressOld, stateOld, enerInternOld, enerInelasOld,
     6 tempNew, stretchNew, defgradNew, fieldNew,
C Write only -
     7 stressNew, stateNew, enerInternNew, enerInelasNew )
C
      include 'vaba_param.inc'
C
      dimension props(nprops), density(nblock),
     1 coordMp(nblock,*),
     2 charLength(*), strainInc(nblock,ndir+nshr),
     3 relSpinInc(*), tempOld(nblock),
     4 stretchOld(*), defgradOld(nblock, ndir+nshr),
     5 fieldOld(nblock,nfieldv), stressOld(nblock,ndir+nshr),
     6 stateOld(nblock,nstatev), enerInternOld(nblock),
     7 enerInelasOld(nblock), tempNew(nblock),
     8 stretchNew(*), defgradNew(nblock, ndir+nshr),
     9 fieldNew(nblock,nfieldv),
     1 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),
     2 enerInternNew(nblock), enerInelasNew(nblock)
C    实验中所使用本构方程为
C    Stress=a*strain^b*strainrate^c*exp(-d*T-e*strain)
C    参数说明
C    e=props(1) 杨氏模量
C    xnu=props(2) 泊松比
C    a=props(3)
C    b=props(4)
C    c=props(5)
C    d=props(6)
C    e=props(7)
C    状态变量
C    STATE(*,1)=等效塑性应变
C    STATE(*,2)=等效塑性应变速率
C    STATE(*,3)=损伤变量
      character*80 cmname
C
      parameter(zero=0., one=1., two=2.,three=3.,nine=9.,
     1 twothird=two/three,third=one/three,
     2 half=.5,op5=1.5,PI=3.14)
C    输入材料参数
      e=props(1)
      xnu=props(2)
      twomu=e/(one+xnu)
      alamda=xnu*twomu/(one-two*xnu)
      thremu=op5*twomu
      a=props(3)
      b=props(4)
      c=props(5)
      d=props(6)
      e=props(7)
       do 100 i=1, nblock
       peeqOld=stateOld(i,1)
       peeqrateOld=stateOld(i,2)
       T=tempOld(i)
C    本构方程中参数的定义
       trace=strainInc(i,1)+strainInc(i,2)+strainInc(i,3)
       s11=stressOld(i,1)+twomu*strainInc(i,1)+alamda*trace
       s22=stressOld(i,2)+twomu*strainInc(i,2)+alamda*trace
       s33=stressOld(i,3)+twomu*strainInc(i,3)+alamda*trace
       s12=stressOld(i,4)+twomu*strainInc(i,4)
       s13=stressOld(i,5)+twomu*strainInc(i,5)
       s23=stressOld(i,6)+twomu*strainInc(i,6)
       smean=third*(s11+s22+s33)
       ds1=s11-smean
       ds2=s22-smean
       ds3=s33-smean
       ds4=s12
       ds5=s13
       ds6=s23
       vmises = sqrt(op5*(ds1**2+ds2**2+ds3**2+two*(ds4**2+ds5**2+ds6**2
     *         )))
       peeqOld=stateOld(i,1)
       peeqrateOld=stateOld(i,2)
       T=tempOld(i)
       toler=1e-12
       coef=a*exp(-d*T)*(peeqrateOld+toler)**c
       yieldOld=coef*(peeqOld+toler)**b*exp(-e*peeqOld)
       hard=coef*exp(-e*peeqOld)*(b*(peeqOld+toler)**(b-1)-
     *      (peeqOld+toler)**b*e)
      sigdif = vmises-yieldOld
      facyld = zero
      if (sigdif .GT. zero) facyld = one

      deqps=facyld*sigdif/(thremu+hard)
      yieldNew=yieldOld+hard*deqps
      factor=yieldNew/(yieldNew+thremu*deqps)
      stressNew(i,1)=ds1*factor+smean
      stressNew(i,2)=ds2*factor+smean
      stressNew(i,3)=ds3*factor+smean
      stressNew(i,4)=s12*factor
      stressNew(i,5)=s13*factor
      stressNew(i,6)=s23*factor
      stateNew(i,1)=stateOld(i,1)+deqps
      stateNew(i,2)=deqps/dt
      stateNew(i,3)=facyld
  100 continue
C
      return
      end
      
      
回复 不支持

使用道具 举报

发表于 2013-3-12 19:47:31 | 显示全部楼层 来自 湖南长沙
Davvife 发表于 2011-7-25 16:00
占用楼层,整理帖子用!!!!

你好,请问我想用UMAt编写一个子程序,但是本构方程中有一个关于时间的积分项,这个该怎么处理,能不能编写出子程序呢?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-30 23:45 , Processed in 0.047263 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表