- 积分
- 0
- 注册时间
- 2012-8-1
- 仿真币
-
- 最后登录
- 1970-1-1
|
悬赏2仿真币已解决
各位大侠看看我的程序有什么问题,我要模拟的是提取各向异性材料3个方向的,和我给定的值比较,如果其中有一个大于我给定的值,就让该单元删除,但是提交时一直显示:“Problem during compilation ”,不知道哪里不对,能否帮我查看一下。
c User subroutine VUSDFLD for user-defined fields
c
subroutine vusdfld(
c Read only -
* nblock, nstatev, nfieldv, nprops, ndir, nshr,
* jElemUid, kIntPt, kLayer, kSecPt,
* stepTime, totalTime, dt, cmname,
* coordMp, direct, T, charLength, props,
* stateOld,
c Write only -
* stateNew, field )
c
include 'vaba_param.inc'
c
dimension props(nprops),
* jElemUid(nblock), coordMp(nblock, *),
* direct(nblock, 3, 3), T(nblock,3,3),
* charLength(nblock),
* stateOld(nblock, nstatev),
* stateNew(nblock, nstatev),
* field(nblock, nfieldv)
character*80 cmname
c Properties array
c props(1) -> 1方向应力
c props(2) -> 2方向应力
c props(3) -> 剪应力
c
character*3 cData(maxblk*6)
dimension jData(maxblk*6)
dimension stress(maxblk*6)
c Read properties
x=props(1)
y=props(2)
z=props(3)
c Get stresses from previous increment
jStatus = 1
call vgetvrm( 'S', stress, jData, cData, jStatus )
c
call maxstress( nblock, nstatev,
* nfieldv, ndir, nshr,
* x,y,z,
* stress,
* stateOld,
* stateNew, field )
c
return
end
c
subroutine maxstress( nblock, nstatev,
* nfieldv, ndir, nshr,
* x,y,z
* stress,
* stateOld,
* stateNew, field )
c
include 'vaba_param.inc'
c
dimension stress(nblock,ndir+nshr),
* stateOld(nblock,nstatev),
* stateNew(nblock,nstatev),
* field(nblock,nfieldv)
c
do k = 1, nblock
stateNew(k,1) = stateOld(k,1)
c
quchu = stateOld(k,1)
c
s11 = stress(k,1)
s22 = stress(k,2)
s12 = stress(k,4)
c
if(s11.gt.x) then
quchu=0.d0
else if(s22.gt.y) then
quchu=0.d0
else if(s12.gt.z) then
quchu=0.d0
end if
stateNew(k,1)=quchu
end do
c
return
end
|
最佳答案
查看完整内容
就是我说的问题啊 缩进错了 本来是注释用的 现在变成其他的了 所以你改一下就行了
|