szj24 发表于 2012-4-4 15:38:19

用遍布节理模型,老是出现math error, 何解?

命令流如下: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), 即使任何属性也没加,还是出现这种情况。
望高人指点


















szj24 发表于 2012-4-10 11:13:54

没有人能解决这个问题?

excellent 发表于 2012-5-31 22:06:01

顶一下,同求,希望高手出现
页: [1]
查看完整版本: 用遍布节理模型,老是出现math error, 何解?