24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2832  |  回复: 5
本帖产生 1 个 EPI ,点击这里进行查看

ppzzyy

金虫 (正式写手)

[求助] Abaqus的子程序问题

我在用Abaqus的子程序vumat,有人知道怎样得到积分点编号吗?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

ppzzyy

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
kingslcq: 金币+10, EPI+1, 鼓励讨论! 这个议题甚好! 2013-02-16 17:41:56
二楼找到的程序,我也搜到了。只是看不太明白,刚开始学ABAQUS

我搜到的完整版本如下:
c User subroutine VUMAT
subroutine vumat (
c Read only -
* jblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
* stepTime, totalTime, dt, cmname, coordMp, charLength,
* props, density, strainInc, relSpinInc,
* tempOld, stretchOld, defgradOld, fieldOld,
* stressOld, stateOld, enerInternOld, enerInelasOld,
* tempNew, stretchNew, defgradNew, fieldNew,
c Write only -
* stressNew, stateNew, enerInternNew, enerInelasNew )
c
include 'vabua_param.inc'
c
dimension jblock(*), props(nprops),density(*), coordMp(*),
1 charLength(*), strainInc(*),
2 relSpinInc(*), tempOld(*),
3 stretchOld(*),
4 defgradOld(*),
5 fieldOld(*), stressOld(*),
6 stateOld(*), enerInternOld(*),
7 enerInelasOld(*), tempNew(*),
8 stretchNew(*),
9 defgradNew(*),
1 fieldNew(*),
2 stressNew(*), stateNew(*),
3 enerInternNew(*), enerInelasNew(*)
c
character*80 cmname
parameter (

* i_umt_nblock = 1,

* i_umt_npt = 2,

* i_umt_layer = 3,

* i_umt_kspt = 4,

* i_umt_noel = 5 )
call vumatXtrArg ( jblock(i_umt_nblock),
* ndir, nshr, nstatev, nfieldv, nprops, lanneal,
* stepTime, totalTime, dt, cmname, coordMp, charLength,
* props, density, strainInc, relSpinInc,
* tempOld, stretchOld, defgradOld, fieldOld,
* stressOld, stateOld, enerInternOld, enerInelasOld,
* tempNew, stretchNew, defgradNew, fieldNew,
* stressNew, stateNew, enerInternNew, enerInelasNew,
* jblock(i_umt_noel), jblock(i_umt_npt),
* jblock(i_umt_layer), jblock(i_umt_kspt))
return
end
c
subroutine vumatXtrArg (
c Read only -
* nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
* stepTime, totalTime, dt, cmname, coordMp, charLength,
* props, density, strainInc, relSpinInc,
* tempOld, stretchOld, defgradOld, fieldOld,
* stressOld, stateOld, enerInternOld, enerInelasOld,
* tempNew, stretchNew, defgradNew, fieldNew,
c Write only -
* stressNew, stateNew, enerInternNew, enerInelasNew,
c Read only extra arguments -
* nElement, nMatPoint, nLayer, nSecPoint )
include 'vaba_param.inc'
c
dimension props(nprops), density(nblock), coordMp(nblock,*),
1 charLength(nblock), strainInc(nblock,ndir+nshr),
2 relSpinInc(nblock,nshr), tempOld(nblock),
3 stretchOld(nblock,ndir+nshr),
4 defgradOld(nblock,ndir+nshr+nshr),
5 fieldOld(nblock,nfieldv), stressOld(nblock,ndir+nshr),
6 stateOld(nblock,nstatev), enerInternOld(nblock),
7 enerInelasOld(nblock), tempNew(nblock),
8 stretchNew(nblock,ndir+nshr),
9 defgradNew(nblock,ndir+nshr+nshr),
1 fieldNew(nblock,nfieldv),
2 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),
3 enerInternNew(nblock), enerInelasNew(nblock)
c
c Documentation of extra arguments:
c nElement: Array of internal element numbers
dimension nElement(nblock)
c nMatPoint: Integration point number
c nLayer : Layer number for composite shells and layered solids
c nSecPoint: Section point number within the current layer
c
character*80 cmname
c
do km = 1, nblock
c
c User coding ...
c
end do
return
end

为什么VMAT里面是jblock,不是nblock?尤其是这段
parameter (
* i_umt_nblock = 1,
* i_umt_npt = 2,
* i_umt_layer = 3,
* i_umt_kspt = 4,
* i_umt_noel = 5 )
call vumatXtrArg ( jblock(i_umt_nblock),...
不明白怎么就获取积分点的单元信息了。
4楼2013-02-12 22:18:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

ehe333333

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ppzzyy: 金币+20, ★★★很有帮助 2013-03-22 03:28:31
找到一段子程序,应该就是来取得积分点编号的吧,6.4以上版本才适用:

c
subroutine vumatXtrArg (
c Read only -
    *     nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
    *     stepTime, totalTime, dt, cmname, coordMp, charLength,
    *     props, density, strainInc, relSpinInc,
    *     tempOld, stretchOld, defgradOld, fieldOld,
    *     stressOld, stateOld, enerInternOld, enerInelasOld,
    *     tempNew, stretchNew, defgradNew, fieldNew,
c Write only -
    *     stressNew, stateNew, enerInternNew, enerInelasNew,
c Read only extra arguments -
    *     nElement, nMatPoint, nLayer, nSecPoint )
     include 'vaba_param.inc'
2楼2013-02-12 18:35:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ppzzyy

金虫 (正式写手)

再说明一下,我是想获取积分点所在单元的编号。
3楼2013-02-12 22:04:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangrenwei2

新虫 (初入文坛)

我也遇到了这个问题,楼主怎么处理的啊
5楼2015-04-03 10:22:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hzhysusu

新虫 (初入文坛)

引用回帖:
5楼: Originally posted by zhangrenwei2 at 2015-04-03 10:22:56
我也遇到了这个问题,楼主怎么处理的啊

请问你解决这个问题了吗?
6楼2017-06-20 21:26:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ppzzyy 的主题更新
信息提示
请填处理意见