FLAC3D模拟实例 循环开挖与支护
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n
res ini.sav
set geometry=0.001
ini ydis 0
ini xdis 0
ini zdis 0
ini yvel 0
ini xvel 0
ini zvel 0
m m
prop bulk 4.0e9 shear 2.5e9 fri 32 coh 2.0e6 &
range grou diban-shayan
;
prop bulk 1.8e9 shear 1.2e9 fri 25 coh 1.0e6 &
range grou diban-niyan any grou hangdao any
;
prop bulk 1.2e9 shear 0.8e9 fri 22 coh 0.8e6 &
range grou diban-gentuyan
;
prop bulk 1.9e9 shear 1.3e9 fri 24 coh 1.0e6 &
range grou diban-tniyan
;
prop bulk 0.7e9 shear 0.8e9 fri 21 coh 0.7e6 &
range grou mc any grou gzm any
;
prop bulk 3.0e9 shear 2.5e9 fri 30 coh 1.8e6 &
range grou dingban-fenshayan
;
prop bulk 1.5e9 shear 1.2e9 fri 25 coh 1.1e6 &
range grou dingban-niyan
;
prop bulk 3.5e9 shear 2.5e9 fri 34 coh 1.4e6 &
range grou dingban-shayan
;添加接触面
gen separate gzm
interface 1 wrap mc gzm
interface 2 wrap dingban-fenshayan gzm
interface 1 prop kn 20e9 ks 10e9 tens 1e9
interface 2 prop kn 20e9 ks 10e9 tens 1e9
set mech ratio=5e-4
def excav_mc
loop n (excav_p,excav_p_z+cut_liang)
;每次开挖量
cut_0=excav_p
cut_1=excav_p+cut_liang
;开挖
command
m null range grou gzm z cut_0 cut_1
step 100
end_command
n=excav_p+cut_Liang
excav_p=excav_p+cut_Liang
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=40 then
command
save kwmc40m.sav
end_command
end_if
end_loop
end
;每次需要修改
set cut_liang=5 excav_p=0 excav_p_z=80
excav_mc
solve
pl block grou
pl add axes red
pl set rotation 90 0 0
save kwmc2.sav
call kwhdno.txt
;n
;res kwmc.sav
ini ydis 0
ini xdis 0
ini zdis 0
ini yvel 0
ini xvel 0
ini zvel 0
set large
set mech ratio=5e-4
pl cont ydis shad on outline on
his gp ydis 90 17 40 ;40m处巷道巷道顶部中点
his gp xdis 77.75 14.75 40 ;40m处巷道巷道左帮中点
his gp xdis 82.25 14.75 40 ;40m处巷道巷道右帮中点
def excav_hangdao
loop n (excav_p,excav_p_z+cut_liang)
;每次开挖量
cut_0=excav_p
cut_1=excav_p+cut_liang
;开挖
command
m null range grou hangdao z cut_0 cut_1
step 50
end_command
n=excav_p+cut_Liang
excav_p=excav_p+cut_Liang
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=40 then
command
save kwhdno40m.sav
end_command
end_if
end_loop
end
set cut_liang=8 excav_p=0 excav_p_z=80
excav_hangdao
solve
save kwhdno2.sav
call kwhdzh.txt
;n
;res kwmc2.sav
;pl set rot 90 180 0 ;从后视图看,零点面对着
;pl set rot 90 0 0 ;从前视图看,终点面对着
pl set rot 90 75 15
pl cont syy range grou hangdao
pl add sel geom node off fill on black blue ;显示支护单元
;pl add sel geom cable blue
;sel set damp combined
;sel liner prop slide on
;添加接触面
;gen separate 2
;inter 1 wrap 1 2
;inter 2 wrap 3 2
;inter 1 face range plane norm 0 1 0 ori 0 11.0815 0 dist 0.1
;inter 2 face range plane norm 0 1 0 ori 0 10.7193 0 dist 0.1
;interface 1 prop kn 1e10 ks 1e10
;interface 2 prop kn 1e10 ks 1e10
set large
ini ydis 0
ini xdis 0
ini zdis 0
ini yvel 0
ini xvel 0
ini zvel 0
set large
set mech ratio=5e-4
his gp ydis 90 17 40 ;40m处巷道巷道顶部中点
his gp xdis 77.75 14.75 40 ;40m处巷道巷道左帮中点
his gp xdis 82.25 14.75 40 ;40m处巷道巷道右帮中点
;监控锚杆索命令
;his sel cable force x y z
;his sel cable stress x y z
;his sel cable grout stress x y z ;监控锚杆索构件端部水泥浆应力(端部)
;his sel cable grout slip x y z ;滑动状态(端部)(0未屈服1正在屈服2曾屈服)
;his sel cable grout disp x y z ;监控锚杆索构件端部在水泥浆中的位移
; ———————————————————————————————————
;—————————————————————————————————————————————
; 锚杆(索)、初撑参数及剖面位置参数
;
;
;—————————————————————————————————————————————
; ———————————————————————-————————————
def maogan_canshu
cable_seg=10 ;构件数
emod_e=180e9 ;弹性模量
xcarea_x=3.46185e-4 ;锚杆(索)横截面积
ytens_y=25e4 ;抗拉强度
gr_per_gp=0.11 ;水泥浆外圈长度
gr_k_gk=6e6 ;单位长度上水泥浆刚度
gr_fric_gf=30.0 ;水泥浆摩擦角
gr_coh_gc=1.0e5 ;单位长度上水泥浆的粘结力
; ycomp_y= ;抗压强度
end
def maosuo_canshu
s_cable_seg=12 ;构件数
emod__e=200e9 ;弹性模量
xcarea__x=3.46185e-4 ;锚杆(索)横截面积
ytens__y=35e4 ;抗拉强度
gr_per__gp=0.11 ;水泥浆外圈长度
gr_k__gk=6e6 ;单位长度上水泥浆刚度
gr_fric__gf=30 ;水泥浆摩擦角
; gr_coh__gc= ;单位长度上水泥浆的粘结力
; ycomp__y= ;抗压强度
end
maogan_canshu
maosuo_canshu
def maogan(suo)_p
;锚杆位置
;maogan1
xp1=77.75
yp1=14.0
xp1_2=72.25
yp1_2=14.0
;maogan2
xp2=77.8686
yp2=15.4709
xp2_2=75.5004
yp2_2=16.2719
;maogan3
xp3=79.0593
yp3=16.7939
xp3_2=78.0140
yp3_2=19.0649
;maogan4
xp4=80.9407
yp
4=16.7939
xp4_2=81.9680
yp4_2=19.0649
;maogan5
xp5=82.1314
yp5=15.4709
xp5_2=84.4996
yp5_2=16.2719
;maogan6
xp6=82.25
yp6=14.0
xp6_2=84.75
yp6_2=14.0
;
;锚索位置
;maosuo1
xps1=77.75
yps1=13.3536
xps1_2=71.25
yps1_2=13.3536
;maosuo2
xps2=77.75
yps2=14.75
xps2_2=71.25
yps2_2=14.75
;maosuo3
xps3=78.3554
yps3=16.2638
xps3_2=73.5264
yps3_2=20.6368
;maosuo4
xps4=80.0
yps4=17.0
xps4_2=80.0
yps4_2=23.5
;maosuo5
xps5=81.6646
yps5=16.2638
xps5_2=86.4736
yps5_2=20.63668
;maosuo6
xps6=82.25
yps6=14.75
xps6_2=88.75
yps6_2=14.75
;maosuo7
xps7=82.25
yps7=13.3336
xps7_2=88.75
yps7_2=13.3536
end
maogan(suo)_p
;
;
;开挖量、范围、支护排距控制等参数
def excav_canshu
cut_x=80.0
cut_y=14.75
cut_r=2.25 ;开挖巷道半圆拱的中心坐标及半径
cut_zhiqiang=1.5 ;直墙壁高度
;
cut_0=0.0 ;开挖起始位置
cut_Liang=10 ;一次开挖量
cut_1=cut_0+cut_liang
excav_p_z=80.0 ;开挖终点位置
;
paiju=1.0 ;支护断面间的排距
first_p=0.0 ;开挖起始段第一排支护的位置,参数first_p需要根据前一开挖段剩下的排距大小调整
end
excav_canshu
gen separate hangdao ;添加初衬liner或shell单元前需要产生一分离单元面
;开挖与支护
def excavandzhihu
excav_p=cut_0
loop n (excav_p,excav_p_z+2*cut_liang) ;(2是参数,防止循环跳出,未装锚杆索,下个循环中亦是如此)
;每次开挖量
cut_0=excav_p
cut_1=excav_p+cut_liang
;
;下面的参数是控制添加初衬单元范围,1.1为参数,可更改。
zh_xx1=cut_x-1.09*cut_r ;cut_x,cut_y是直墙半圆拱的圆心,cut_r是半径。控制x方向左范围
zh_xx2=cut_x+1.09*cut_r ;控制x方向右范围
zh_yy1=cut_y-cut_zhiqiang ;控制y方向下范围
zh_yy2=cut_y+1.1*cut_r ;控制y方向上范围
zh_zz0=cut_0+0.0001 ;控制z方向起点(零点)面不能加初衬,终点面通过末尾delete取删除。
;
;开挖与初衬
command
;开挖巷道
m null range grou hangdao z cut_0 cut_1
;安装混凝土初衬
;liner单元
;sel liner id 1 range grou diban-niyan z cut_0 cut_1 x zh_xx1 zh_xx2 y zh_yy1 zh_yy2 ;注意range后的范围
;sel liner prop iso=(25e9,0.15) thick 0.1 ;混凝土
;sel liner prop cs_nk 8e8 cs_sk=8e8 cs_ncut=0.0 cs_scoh 0.0 cs_scohres 0.0 cs_sfric 0.0
;sel nod fix x y z ;固结所有节点.对称巷道有yr xr zr range x y z等。例子见p211
;shell单元
sel shell id 1 range grou diban-n
iyan z cut_0 cut_1 x zh_xx1 zh_xx2 y zh_yy1 zh_yy2
;sel shell id 1 elemtype=dkt crossdiag range grou …… ;薄膜单元,不抗弯,可取一。
sel shell prop isotropic (20e9,0.25) thick 0.1 range grou diban-niyan z cut_0 &
cut_1 x zh_xx1 zh_xx2 y zh_yy1 zh_yy2 ;混凝土.
;sel node fix x y xr yr range x ? ? y ? ? ;参考p200实例
step 50
end_command
;
;删除起点的初衬,这条命令可放在最后。
if cut_0=0 then
command
sel delete shell range z (-0.5,0.1)
end_command
end_if
;
;添加锚杆索
loop z_p (first_p,cut_1+paiju) ;开挖段第一排支护的位置,参数first_p需要根据前一开挖段剩下的排距大小调整(2是参数)
command
;安装锚杆(附在网格上)
sel cable id 1 begin xp1 yp1 z_p end xp1_2 yp1_2 z_p nseg cable_seg
sel cable id 1 begin xp2 yp2 z_p end xp2_2 yp2_2 z_p nseg cable_seg
sel cable id 1 begin xp3 yp3 z_p end xp3_2 yp3_2 z_p nseg cable_seg
sel cable id 1 begin xp4 yp4 z_p end xp4_2 yp4_2 z_p nseg cable_seg
sel cable id 1 begin xp5 yp5 z_p end xp5_2 yp5_2 z_p nseg cable_seg
sel cable id 1 begin xp6 yp6 z_p end xp6_2 yp6_2 z_p nseg cable_seg
;sel cable id 1 begin xp7 yp7 z_p end xp7_2 yp7_2 z_p nseg cable_seg
;sel cable id 1 begin xp8 yp8 z_p end xp8_2 yp8_2 z_p nseg cable_seg
;sel cable id 1 begin xp9 yp9 z_p end xp9_2 yp9_2 z_p nseg cable_seg
;sel cable id 1 begin xp10 yp10 z_p end xp10_2 yp10_2 z_p nseg cable_seg
;sel cable id 1 begin xp11 yp11 z_p end xp11_2 yp11_2 z_p nseg cable_seg
;sel cable id 1 begin xp12 yp12 z_p end xp12_2 yp12_2 z_p nseg cable_seg
;sel cable id 1 begin xp13 yp13 z_p end xp13_2 yp13_2 z_p nseg cable_seg
;sel cable id 1 begin xp14 yp14 z_p end xp14_2 yp14_2 z_p nseg cable_seg
;sel cable id 1 begin xp15 yp15 z_p end xp15_2 yp15_2 z_p nseg cable_seg
;sel cable id 1 begin xp16 yp16 z_p end xp16_2 yp16_2 z_p nseg cable_seg
;sel cable id 1 begin xp17 yp17 z_p end xp17_2 yp17_2 z_p nseg cable_seg
;安装锚索(附在网格上)
sel cable id 2 begin xps1 yps1 z_p end xps1_2 yps1_2 z_p nseg s_cable_seg
sel cable id 2 begin xps2 yps2 z_p end xps2_2 yps2_2 z_p nseg s_cable_seg
sel cable id 2 begin xps3 yps3 z_p end xps3_2 yps3_2 z_p nseg s_cable_seg
sel cable id 2 begin xps4 yps4 z_p end xps4_2 yps4_2 z_p nseg s_cable_seg
sel cable id 2 begin xps5 yps5 z_p end xps5_2 yps5_2 z_p nseg s_cable_seg
sel cable id 2 begin xps6 yps6 z_p end xps6_2 yps6_2 z_p nseg s_cable_
seg
sel cable id 2 begin xps7 yps7 z_p end xps7_2 yps7_2 z_p nseg s_cable_seg
;sel cable id 2 begin xps8 yps8 z_p end xps8_2 yps8_2 z_p nseg s_cable_seg
;sel cable id 2 begin xps9 yps9 z_p end xps9_2 yps9_2 z_p nseg s_cable_seg
;sel cable id 2 begin xps10 yps10 z_p end xps10_2 yps10_2 z_p nseg s_cable_seg
;
;赋予锚杆(索)参数
sel cable pro emod emod_e xcarea xcarea_x gr_per gr_per_gp ytens ytens_y gr_k gr_k_gk range id 1
sel cable pro emod emod__e xcarea xcarea__x gr_per gr_per__gp yten ytens__y gr_k gr_k__gk range id 2
end_command
z_p=z_p-(1-paiju) ;这里(1-排距)理由?但命令正确,与实际相符。
end_loop
n=excav_p+cut_Liang
excav_p=excav_p+cut_Liang
;
;条件判断给锚杆(索)添加预紧力
if cut_0=0 then
command
sel cable id 1 pre 8e4
sel cable id 2 pre 10e4
end_command
else
cut_00=cut_0+cut_liang
cut_11=cut_1+cut_liang
command
sel cable id 1 pre 8e4 range z cut_00 cut_11
sel cable id 2 pre 10e4 range z cut_00 cut_11
end_command
end_if
;
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=60.0 then
command
save kwhd60m.sav
end_command
end_if
;
end_loop
end
excavandzhihu
;删除多余的锚杆(索)及初衬单元等
def delete_more
aa=excav_p_z+0.2
bb=excav_p_z+30
cc=excav_p_z-0.001
command
sel delete cable range z (aa,bb)
sel delete shell range z (cc,bb)
end_command
end
delete_more
solve
step 5000
;hist write 1 vs step file aaaaaa.xls
;his write 1 vs step begin 1 end 2000 file aaaaaaa.his
save kwhdzh.sav
;pl sel geom node off fill on
;pl sel geom cable
;pl sel geom shell (liner)
;pl sel recover ydis active off
;pl sel recover sres (active off)
;如果想看结果不明显,可在pl 关键字后加上magfac 500