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

[子程序/二次开发] 子程序介绍五:材料本构子程序hypela

[复制链接]
发表于 2010-7-23 08:37:09 | 显示全部楼层 |阅读模式 来自 河南濮阳
之前已经介绍了flux、film、uactive和forcem子程序,而最难的子程序或许就是今天要介绍的hypela了。本人是焊接专业出身,而hypela子程序涉及了诸多力学方面的知识,因此也只是一知半解,发此贴纯为抛砖引玉,希望各位这方面的牛人如陆老师、wangxiaoteng师兄能够给出更多的这方面的介绍。另外,Abaqus版这方面的资料较多,而Abaqus和Marc子程序接口几乎相同,有需要这方面资料的朋友可以去Abaqus版逛逛。
言归正传,这次要介绍的是最简单的弹性本构。具体如下:
      subroutine hypela(d,g,e,de,s,temp,dtemp,ngens,n,nn,kc,matus,
     * ndi,nshear)

      include 'C:\MSC.Software\MSC.Marc\2005\marc2005\common\implicit'
include 'C:\MSC.Software\MSC.Marc\2005\marc2005\common\concom'
      dimension e(*),de(*),temp(*),dtemp(*),g(*),d(ngens,ngens),s(*)
      dimension n(2),et(6),matus(2)
integer k1, k2
real e0, enu, ebulk, eg, elam

e0=200000
enu=0.3
ebulk=e0/(1.-2.*enu)/3.
eg=e0/(1.+enu)/2.
elam=(ebulk*3.-eg*2.)/3.

do k1=1, ndi
  do k2=1, ndi
   d(k2,k1)=elam
  end do
  d(k1,k1)=eg*2.+elam
end do
  do k1=ndi+1, ngens
  d(k1,k1)=eg
end do

do k1=1, ngens
  do k2=1, ngens
   s(k2)=s(k2)+d(k2,k1)*de(k1)
  end do
end do


return
end

下面解释一下,从子程序的主体部分可以看出,分为了三个部分。第一部分是赋初值,第二个部分是写单位刚度阵d(k1,k2),第三部分则是将应力应变关系表达出来,即应力=刚度阵*应变。
下面附上一个单轴拉伸的例子。
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2010-7-23 08:58:02 | 显示全部楼层 来自 陕西西安
Simdroid开发平台
这个要看看~~学习
回复 不支持

使用道具 举报

发表于 2010-7-24 02:18:51 | 显示全部楼层 来自 云南昆明
看看~~学习yixia
回复 不支持

使用道具 举报

发表于 2010-7-25 06:56:15 | 显示全部楼层 来自 北京
请问这是什么程序语言啊?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-7-25 10:50:11 | 显示全部楼层 来自 河南濮阳
fortran。由于我用的marc2010版本, 所以使用的是fortran10.0。
子程序的具体格式在marc根目录下user子目录中,可以将所需要使用的.f文件从中拷出来,只需要添加相应的代码就可以了
回复 不支持

使用道具 举报

发表于 2010-7-26 09:45:28 | 显示全部楼层 来自 北京
include 不需要写完全路径吧。
很好,很强大,呵呵。
回复 不支持

使用道具 举报

发表于 2010-7-27 07:47:33 | 显示全部楼层 来自 江苏常州
这个要学习,谢谢楼主
回复 不支持

使用道具 举报

发表于 2010-7-27 19:19:36 | 显示全部楼层 来自 湖南长沙
好东西,谢谢啊!
回复 不支持

使用道具 举报

发表于 2010-7-31 21:13:50 | 显示全部楼层 来自 安徽合肥
谢谢诶,
回复 不支持

使用道具 举报

发表于 2010-8-1 22:40:23 | 显示全部楼层 来自 广东广州
呵呵 赶紧学习下
回复 不支持

使用道具 举报

发表于 2010-8-4 20:24:20 | 显示全部楼层 来自 山东青岛
看看 学习一下
回复 不支持

使用道具 举报

发表于 2010-8-7 09:47:57 | 显示全部楼层 来自 安徽马鞍山
谢谢分享,学习学习~!
回复 不支持

使用道具 举报

发表于 2010-8-17 10:38:58 | 显示全部楼层 来自 浙江杭州
材料本构方程是做计算的基础,也是难点,学习
回复 不支持

使用道具 举报

发表于 2010-9-2 21:50:43 | 显示全部楼层 来自 香港
谢谢 ,正要学习这个
回复 不支持

使用道具 举报

发表于 2010-9-2 22:35:15 | 显示全部楼层 来自 浙江宁波
谢谢分享,学习MARC中
回复 不支持

使用道具 举报

发表于 2010-9-5 11:43:52 | 显示全部楼层 来自 浙江宁波
先学习学习 谢谢楼主
回复 不支持

使用道具 举报

发表于 2010-9-15 09:51:34 | 显示全部楼层 来自 北京
请问:在hypela中如何提取时间增量啊,我用timinc总为零啊
回复 不支持

使用道具 举报

发表于 2010-9-15 10:14:39 | 显示全部楼层 来自 台湾台北
牛帖必推
參考參考
回复 不支持

使用道具 举报

发表于 2010-9-15 17:26:41 | 显示全部楼层 来自 Reserved
太好了,学习一下
回复 不支持

使用道具 举报

发表于 2010-9-16 16:34:54 | 显示全部楼层 来自 北京
谢谢lz一直以来写的子程序介绍帖子,对我帮助很大。
想问LZ一个问题,关于子程序Uspcht,这个子程序的功能是设定材料的比热。我的问题是在Mentat2007中,如何激活这个子程序?
有其他高手回答也好,这里先谢过
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 12:38 , Processed in 0.046436 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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