找回密码
 注册
Simdroid-非首页
查看: 275|回复: 3

[子程序] 求取,关于VUHARD用户子程序

[复制链接]
发表于 2013-12-16 22:49:26 | 显示全部楼层 |阅读模式 来自 湖北武汉
编了一个Johnson-Cook的强化本构模型,使用的是intel fortran 11.1 +VS2008+abaqus6.13,在user中定义了8个参数,提示microsoft visual C++runtime library    runtime error
代码如下
  1.       subroutine vuhard(
  2. C Read only -
  3.      *     nblock,
  4.      *     jElem, kIntPt, kLayer, kSecPt,
  5.      *     lAnneal, stepTime, totalTime, dt, cmname,
  6.      *     nstatev, nfieldv, nprops,
  7.      *     props, tempOld, tempNew, fieldOld, fieldNew,
  8.      *     stateOld,
  9.      *     eqps, eqpsRate,
  10. C Write only -
  11.      *     yield, dyieldDtemp, dyieldDeqps,
  12.      *     stateNew )
  13. C
  14.       include 'vaba_param.inc'
  15. C
  16.       dimension props(nprops), tempOld(nblock), tempNew(nblock),
  17.      1   fieldOld(nblock,nfieldv), fieldNew(nblock,nfieldv),
  18.      2   stateOld(nblock,nstatev), eqps(nblock), eqpsRate(nblock),
  19.      3   yield(nblock), dyieldDtemp(nblock), dyieldDeqps(nblock,2),
  20.      4   stateNew(nblock,nstatev), jElem(nblock)
  21. C
  22.       character*80 cmname
  23. C     Johnson-Cook consitutive model with temperature or without temperature
  24.       logical signal
  25.       signal = .TRUE.
  26.       JC_A = PROPS(1)
  27.       JC_B = PROPS(2)
  28.       JC_C = PROPS(3)
  29.       JC_n = PROPS(4)
  30.       JC_m = PROPS(5)
  31. C     Reference parameter
  32.       JC_strainRate0 = PROPS(6)
  33.       JC_Temp0 = PROPS(7)      
  34.       JC_Temp_Melt = PROPS(8)
  35. C
  36.       do 100 km = 1,nblock
  37.       ZD_StrainRate = 0.d0
  38.       ZD_Temperature = 0.d0
  39.       Y = 0.d0
  40.       if (eqpsRate(km) .lt. 1.0e-3) then
  41.             ZD_StrainRate = 1.0e-3
  42.       else
  43.             ZD_StrainRate = eqpsRate(km)
  44.       end if
  45.       ZD_Temperature = tempOld(km)
  46.       if(ZD_Temperature .EQ. 0.D0) then
  47.       signal = .false.
  48.       ZD_Temperature = JC_Temp0
  49.       end if
  50.       yield(km) = (JC_A+JC_B*eqps(km)**JC_n)*
  51.      1 (1+JC_C*log(ZD_StrainRate/JC_strainRate0))*
  52.      2 (1-((ZD_Temperature-JC_Temp0)/
  53.      3 (JC_Temp_Melt-JC_Temp0))**JC_m)
  54.       if (signal .eqv. .true.) then
  55.       dyieldDtemp(km) = (JC_A+JC_B*eqps(km)**JC_n)*
  56.      1 (1+JC_C*log(ZD_StrainRate/JC_strainRate0))*(-1)*
  57.      2 JC_m*((ZD_Temperature-JC_Temp0)/
  58.      3 (JC_Temp_Melt-JC_Temp0))**(JC_m-1)
  59.       end if
  60.       dyieldDeqps(km,1) =  JC_n*JC_B*eqps(km)**(JC_n-1)*
  61.      1 (1+JC_C*log(ZD_StrainRate/JC_strainRate0))*
  62.      2 (1-((ZD_Temperature-JC_Temp0)/
  63.      3 (JC_Temp_Melt-JC_Temp0))**JC_m)      
  64.       dyieldDeqps(km,2) = (JC_A+JC_B*eqps(km)**JC_n)*
  65.      1 JC_C*JC_strainRate0/ZD_StrainRate*(1-((ZD_Temperature-JC_Temp0)/
  66.      2 (JC_Temp_Melt-JC_Temp0))**JC_m)
  67.       stateNew(km,1) = yield(km)
  68.   100 continue
  69. C
  70.       return
  71.       end
复制代码
 楼主| 发表于 2013-12-17 17:15:38 | 显示全部楼层 来自 湖北武汉
Simdroid开发平台
我参考了VUHARD子程序更新状态变量导致job monitor一直显示runing子程序不被调用 ,这里没有定义dyieldDeqps(km,1),即没有定义屈服面大小对于等效应变的导数,这是为什么呢?
回复 不支持

使用道具 举报

发表于 2014-6-30 15:23:05 | 显示全部楼层 来自 山东济南
楼主有没有关于Vuhard子程序的一些资料,刚开始接触这个子程序,不是很了解这个子程序可以用来做什么。
回复 不支持

使用道具 举报

发表于 2018-6-25 16:00:42 | 显示全部楼层 来自 山东济南
followinggirl 发表于 2014-6-30 15:23
楼主有没有关于Vuhard子程序的一些资料,刚开始接触这个子程序,不是很了解这个子程序可以用来做什么。:han ...

情姐..................
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 18:28 , Processed in 0.031025 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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