文档库 最新最全的文档下载
当前位置:文档库 › flac-3D循环的例子

flac-3D循环的例子

;我的这个模拟是基于这样一个问题:采矿中开挖4条同样支护方式的巷道,但是巷道的位置不同(煤柱的宽度不同)
;在其中使用了几重循环,可能对初学者有参考价值,我也常常看论坛的资料,现在自己贡献一点。
;这个文件可以直接运行的。
;建立网格 820m*900m*350m 网格51*30*30=4.59万网格

gen zone brick size 10 30 4 &
p0 0 0 0 p1 295 0 0 p2 0 900 0 p3 0 0 40 ratio 0.8 1 1
gen zone brick size 8 30 4 &
p0 295 0 0 p1 335 0 0 p2 295 900 0 p3 295 0 40
gen zone brick size 15 30 4 &
p0 335 0 0 p1 485 0 0 p2 335 900 0 p3 335 0 40
gen zone brick size 8 30 4 &
p0 485 0 0 p1 525 0 0 p2 485 900 0 p3 485 0 40
gen zone brick size 10 30 4 &
p0 525 0 0 p1 820 0 0 p2 525 900 0 p3 525 0 40 ratio 1.25 1 1

gen zone brick size 10 30 10 &
p0 0 0 40 p1 295 0 40 p2 0 900 40 p3 0 0 50 ratio 0.8 1 1
gen zone brick size 8 30 10 &
p0 295 0 40 p1 335 0 40 p2 295 900 40 p3 295 0 50
gen zone brick size 15 30 10 &
p0 335 0 40 p1 485 0 40 p2 335 900 40 p3 335 0 50
gen zone brick size 8 30 10 &
p0 485 0 40 p1 525 0 40 p2 485 900 40 p3 485 0 50
gen zone brick size 10 30 10 &
p0 525 0 40 p1 820 0 40 p2 525 900 40 p3 525 0 50 ratio 1.25 1 1

gen zone brick size 10 30 6 &
p0 0 0 50 p1 295 0 50 p2 0 900 50 p3 0 0 110 ratio 0.8 1 1
gen zone brick size 8 30 6 &
p0 295 0 50 p1 335 0 50 p2 295 900 50 p3 295 0 110
gen zone brick size 15 30 6 &
p0 335 0 50 p1 485 0 50 p2 335 900 50 p3 335 0 110
gen zone brick size 8 30 6 &
p0 485 0 50 p1 525 0 50 p2 485 900 50 p3 485 0 110
gen zone brick size 10 30 6 &
p0 525 0 50 p1 820 0 50 p2 525 900 50 p3 525 0 110 ratio 1.25 1 1

gen zone brick size 10 30 10 &
p0 0 0 110 p1 295 0 110 p2 0 900 110 p3 0 0 350 ratio 0.8 1 1.25
gen zone brick size 8 30 10 &
p0 295 0 110 p1 335 0 110 p2 295 900 110 p3 295 0 350 ratio 1 1 1.25
gen zone brick size 15 30 10 &
p0 335 0 110 p1 485 0 110 p2 335 900 110 p3 335 0 350 ratio 1 1 1.25
gen zone brick size 8 30 10 &
p0 485 0 110 p1 525 0 110 p2 485 900 110 p3 485 0 350 ratio 1 1 1.25
gen zone brick size 10 30 10 &
p0 525 0 110 p1 820 0 110 p2 525 900 110 p3 525 0 350 ratio 1.25 1 1.25


;本构关系、参数
m m
prop den=2700 bulk=15e9 shear=60e8 fric=42 coh=2.61e6 range z 0 44
prop den=1500 bulk=1e9 shear=4e8 fric=30 coh=1.4e6 range z 44 50
prop den=2700 bulk=15e9 shear=60e8 fric=42 coh=2.61e6 range z 50 350
;边界、初始条件
fix z range z -0.1 0.1
fix x range x -0.1 0.1
fix x range x 819.9 820.1
fix y range y -0.1 0.1
fix y range y 899.9 900.1

;重力梯度化
set grav 0 0 -10
ini szz -9.45e6 grad 0,0,2.7e4 range z 50 350
ini szz -8.85e6 grad 0,0,1.5e4 range z 44 50
ini szz -9.378e6 grad 0,0,2.7e4 range z 0 44
hist unbal
plot set plane nor 0 1 0 origin 0 100 0
plot con szz plan
step 3000
hist unbal

save 4001.sav
;没开挖前的的

自重平衡,为状态1


rest 4001.sav
;开挖巷道
ini state=0
ini xdis 0 ydis 0 zdis 0
ini xvel 0 yvel 0 zvel 0

;以下是自己写的几重循环的嵌套,可能对初学者有用。
;开挖四条巷道加锚杆支护的实验
;定义一个函数 aa_2
def aa_2
;定义一个循环变量 aaa,为了实现在不同位置开挖4条同样参数巷道,巷道位置循环,循环1
loop aaa (1,4)
caseof aaa
case 1
x_d1=295
case 2
x_d1=520
;10m煤柱
case 3
x_d1=310
case 4
x_d1=505
end_case
;定义几个变量,在下面的循环中要用到
;左帮锚杆的起、终点变量
x_d11=x_d1-1.4
;右帮锚杆的起、终点变量
x_d2=x_d1+5
x_d21=x_d2+1.4
;开挖巷道
command
model null range x x_d1 x_d2 y 0 900 z 44 47
endcommand
;在一定的范围内给巷道加锚杆,加帮锚杆和顶锚杆
loop k (250,500)
y_d=k*0.8-0.8
;帮锚杆的参数及循环,每帮加3个锚杆
loop a_2(1,3)
z_d1=44.0
z_d1=z_d1+0.7*a_2
;左、右两帮锚杆的定义
command
sel cable beg x_d1,y_d,z_d1 end x_d11,y_d,z_d1 nseg 4
sel cable beg x_d2,y_d,z_d1 end x_d21,y_d,z_d1 nseg 4
sel cable prop emod 2e10 ytens 2.5e8 xcarea 1.0 gr_coh 1e10 gr_k 2e10 gr_per 1.0
endcommand
end_loop

;顶锚杆的参数及循环,顶锚杆加6根
loop a_3(1,6)
x_d3=x_d1
x_d3=x_d3+0.7*a_3
;顶锚杆的定义
command
sel cable beg x_d3,y_d,47 end x_d3,y_d,48.4 nseg 4
sel cable prop emod 2e10 ytens 2.5e8 xcarea 1.0 gr_coh 1e10 gr_k 2e10 gr_per 1.0
endcommand
end_loop
;结束每一个循环,大家可以根据位置来判断对应关系
end_loop
end_loop
end
aa_2

step 500

;开挖工作面、软化顶板
ini state=0
model null range x 300 520 y 300 600 z 44 47 ;采底煤
step 500
model null range x 300 520 y 300 600 z 47 50 ;放顶煤
prop den=2700 bulk=7.5e9 shear=30e8 fric=42 coh=1.3e6 range x 300 520 y 300 600 z 50 70
step 1000
save 401.sav

相关文档