model new
zone create radial-tunnel ...
p 0 = (0,0,0) p 1 = (50,0,0) p 2 = (0,50,0) p 3 = (0,0,100) ...
dimension 6 6 6 6 size 6 50 10 50 ratio 1 1 1 1.1 group 'rock' fill
zone reflect normal 0,0,-1 origin 0,0,0
zone delete range position-z 0,10000
zone create radial-cylinder ...
p 0 = (0,0,0) p 1 = (50,0,0) p 2 = (0,50,0) p 3 = (0,0,100) ...
dimension 6 6 6 6 size 6 50 20 50 ratio 1 1 1 1.1 group 'rock' fill group 'tunnel'
zone reflect normal -1,0,0 origin 0,0,0
zone face skin
zone cmodel assign mohr-coulomb
zone property young=5.0e9 density=2500 poisson=0.25 friction 35.0 ...
cohesion=0.7e6 tension 5e3 dilation 0.0
fish define cablelocation
cablebeg=array.create(11)
cablebeg(01)=vector(-6.0000 , 0.0 , 0.0000)
cablebeg(02)=vector(-5.7063 , 0.0 , 1.8541)
cablebeg(03)=vector(-4.8541 , 0.0 , 3.5267)
cablebeg(04)=vector(-3.5267 , 0.0 , 4.8541)
cablebeg(05)=vector(-1.8541 , 0.0 , 5.7063)
cablebeg(06)=vector(0.0000 , 0.0 , 6.0000)
cablebeg(07)=vector(1.8541 , 0.0 , 5.7063 )
cablebeg(08)=vector(3.5267 , 0.0 , 4.8541 )
cablebeg(09)=vector(4.8541 , 0.0 , 3.5267 )
cablebeg(10)=vector(5.7063 , 0.0 , 1.8541 )
cablebeg(11)=vector(6.0000 , 0.0 , 0.0000 )
cableend=array.create(11)
cableend(01)=vector(-8.0000 , 0.0 , 0.0000 )
cableend(02)=vector(-7.6085 , 0.0 , 2.4721 )
cableend(03)=vector(-6.4721 , 0.0 , 4.7023 )
cableend(04)=vector(-4.7023 , 0.0 , 6.4721 )
cableend(05)=vector(-2.4721 , 0.0 , 7.6085 )
cableend(06)=vector( 0.0000 , 0.0 , 8.0000 )
cableend(07)=vector( 2.4721 , 0.0 , 7.6085 )
cableend(08)=vector( 4.7023 , 0.0 , 6.4721 )
cableend(09)=vector( 6.4721 , 0.0 , 4.7023 )
cableend(10)=vector( 7.6085 , 0.0 , 2.4721 )
cableend(11)=vector( 8.0000 , 0.0 , 0.0000 )
end
@cablelocation
model gravity (0,0,-10.0)
fish define _Para_Of_Insitu_Stress
_dph =700.0 ;;depth MaiShen
_dens=2500.0 ;; rock density
_H =200 ;;model hight
zLoc_Top=100 ;; the z location of top face of model
_dph_0 =800.0 ;; depth of O
K01=1.8 ;;stress cons
K02=1.2
K03=1.0
C01=0.0
C02=0.0
C03=0.0
_sig01_Top=(K01*_dens*10.0*_dph + C01)*(-1.0)
_sig02_Top=(K02*_dens*10.0*_dph + C02)*(-1.0)
_sig03_Top=(K03*_dens*10.0*_dph + C03)*(-1.0)
_sig01_0 =(K01*_dens*10.0*(_dph_0) + C01)*(-1.0)
_sig02_0 =(K02*_dens*10.0*(_dph_0) + C02)*(-1.0)
_sig03_0 =(K03*_dens*10.0*(_dph_0) + C03)*(-1.0)
_sigxx_0=_sig01_0
_sigyy_0=_sig02_0
_sigzz_0=_sig03_0
_sigxx_Top=_sig01_Top
_sigyy_Top=_sig02_Top
_sigzz_Top=_sig03_Top
_grandSxx=(_sigxx_0-_sigxx_Top)/(zLoc_Top)
_grandSyy=(_sigyy_0-_sigyy_Top)/(zLoc_Top)
_grandSzz=(_sigzz_0-_sigzz_Top)/(zLoc_Top)end
@_Para_Of_Insitu_Stress
zone initialize stress-xx [_sigxx_0] gradient (0,0,@_grandSxx)
zone initialize stress-yy [_sigyy_0] gradient (0,0,@_grandSyy)
zone initialize stress-zz [_sigzz_0] gradient (0,0,@_grandSzz)
zone face apply stress-normal [_sigzz_Top] range group 'Top'
zone face apply velocity-normal 0 range group 'East' or 'West'
zone face apply velocity-normal 0 range group 'North' or 'South'
zone face apply velocity-normal 0 range group 'Bottom'
fish define kaiwa
loop global cut (1,16)
local y0 = 3*(cut-1)
local y1 = y0
+3
y2=0.5+(cut-1)*3
command
zone cmodel assign null range group 'tunnel' position-y
@璐村惂鐢ㄦ埛_00aS7aP馃惥 @y1
end_command
if cut > 1 then
command
struct shell create by-face group 'TopShell' range p-z [0+0.1] [6+0.1] p-x -6 6 p-y [y0-2.9] [y1-3.1]
struct shell property isotropic 15e9 0.23 thick=0.12 dens=2500 range group 'TopShell'
end_command
loop jj (1,11)
v01=cablebeg(jj)+vector (0,y2,0)
v02=cableend(jj)+vector (0,y2,0)
command
str cable create by-line
@v01 @V02 seg 8 group 'cab' id=11
endcommand
endloop
end_if
command
struct cable prop young 2.1e8 cross-section-area 0.00176 ...
grout-stiffness 4e6 grout-cohesion 1e5 ...
grout-perimeter 0.15 range group 'cab'
model solve
model results export ['exc'+string(cut*3)]
end_command
endloop
end
@kaiwa