- 积分
- 0
- 注册时间
- 2010-10-18
- 仿真币
-
- 最后登录
- 1970-1-1
|
命令流如下:new
title
Plain plaster block
set large
gen zon brick p0 0 0 0 p1 0.16 0 0 p2 0 0.04 0 p3 0 0 0.04 size 160 10 10
model mohr
prop den 2500 bu=70e9 sh=30e9 fric 43 coh 5e6 tens 6.3e6
;model mohr range x 0.137 0.143 y 0 0.04 z 0.037 0.043
;prop den 2500 bu=5e9 sh=3e9 fric 35 coh 15e6 tens 7e6 range x 0.137 0.143 y 0 0.04 z 0.037 0.043
;model mohr range x 0.017 0.023 y 0 0.04 z 0.037 0.043
;prop den 2500 bu=5e9 sh=3e9 fric 35 coh 15e6 tens 7e6 range x 0.017 0.023 y 0 0.04 z 0.037 0.043
;model mohr range x 0.099 0.103 y 0 0.04 z -0.003 0.003
;prop den 2500 bu=5e9 sh=3e9 fric 35 coh 15e6 tens 7e6 range x 0.099 0.103 y 0 0.04 z -0.003 0.003
;model mohr range x 0.057 0.063 y 0 0.04 z -0.003 0.003
;prop den 2500 bu=5e9 sh=3e9 fric 35 coh 15e6 tens 7e6 range x 0.057 0.063 y 0 0.04 z -0.003 0.003
fix z range x 0.019 0.021 y 0 0.04 z -0.001 0.001
fix z range x 0.139 0.141 y 0 0.04 z -0.001 0.001
initial xdisp=0 ydisp=0 zdisp=0
ini zvel 0
def doloop;------------------------------------------------------------------------------
vstress=0
vstressincrement=-1e6
pnt1=gp_near(0.06,0,0.04)
p_z1=z_near(0.06,0,0.04)
pnt2=gp_near(0.08,0,0)
p_z2=z_near(0.08,0,0)
pnt3=gp_near(0.10,0,0.04)
p_z3=z_near(0.10,0,0.04)
pnt4=gp_near(0.06,0.02,0.04)
p_z4=z_near(0.06,0.02,0.04)
pnt5=gp_near(0.08,0.02,0.04)
p_z5=z_near(0.08,0.02,0.04)
pnt6=gp_near(0.10,0.02,0.04)
p_z6=z_near(0.10,0.02,0.04)
loop n(1,200)
vstress=vstress+vstressincrement
command
apply szz=vstress range x 0.059 0.061 y 0 0.04 z 0.035 0.041
apply szz=vstress range x 0.099 0.101 y 0 0.04 z 0.035 0.041
endcommand
count=0
pnt7=zone_head
zid=z_id(pnt7)
loop while pnt7#null
if z_sxx(pnt7)>1.3e6 then
Ricky= 1
z_group(pnt7)='failure'
command
model ubi range id zid ;------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
;prop jc 0 jf=0 jdd 90 jdip 60 jten 0 range id zid
endcommand
endif
pnt7=z_next(pnt7)
count=count+1
endloop
command
step 1000
hist nstep=100
hist unbal
hist gp zdisplacement 0.08 0 0
hist gp zdisplacement 0.08 0 0.04
hist gp zdisplacement 0.06 0 0.04
hist gp zdisplacement 0.1 0 0.04
hist gp zdisplacement 0.02 0 0
hist gp zdisplacement 0.14 0 0
hist gp zdisplacement 0 0 0
hist gp zdisplacement 0.16 0 0
hist gp zdisplacement 0 0 0.04
hist gp zdisplacement 0.16 0 0.04
hist gp zdisplacement 0.08 0.02 0.02
plot bl st
end_command
ytable(1,n)=abs(z_szz(p_z1))*160e-6
xtable(1,n)=abs(gp_zdisp(pnt1))
ytable(2,n)=abs(z_szz(p_z2))
xtable(2,n)=abs(gp_zdisp(pnt2))
ytable(3,n)=abs(z_szz(p_z3))*160e-6
xtable(3,n)=abs(gp_zdisp(pnt3))
ytable(4,n)=abs(z_szz(p_z4))*160e-6
xtable(4,n)=abs(gp_zdisp(pnt4))
ytable(5,n)=abs(z_szz(p_z5))
xtable(5,n)=abs(gp_zdisp(pnt5))
ytable(6,n)=abs(z_szz(p_z6))*160e-6
xtable(6,n)=abs(gp_zdisp(pnt6))
endloop
end
doloop
save doloop.sav
如果不用 model ubi range id zid的话,程序能顺利运行下去,但是一旦加上这条命令,程序运行到一定时间就会出现Math error:domain in sprt(-1.#IND00e+000,0.00000e+000), 即使任何属性也没加,还是出现这种情况。
望高人指点
|
|