
res ini.sav
set geometry=0.001
ini ydis0
ini xdis0
ini zdis0
ini yvel0
ini xvel0
ini zvel0
m m
prop bulk 4.0e9shear 2.5e9fri32coh 2.0e6& range grou diban-shayan
;
prop bulk 1.8e9shear 1.2e9fri25coh 1.0e6& range grou diban-niyan any grou hangdao any
;
prop bulk 1.2e9shear0.8e9fri22coh0.8e6& range grou diban-gentuyan
;
prop bulk 1.9e9shear 1.3e9fri24coh 1.0e6& range grou diban-tniyan;
prop bulk0.7e9shear0.8e9fri21coh0.7e6& range grou mc any grou gzm any
;
prop bulk 3.0e9shear 2.5e9fri30coh 1.8e6& range grou dingban-fenshayan
;
prop bulk 1.5e9shear 1.2e9fri25coh 1.1e6& range grou dingban-niyan
;
prop bulk 3.5e9shear 2.5e9fri34coh 1.4e6& range grou dingban-shayan
;添加接触面
gen separate gzm
interface1wrap mc gzm
interface2wrap dingban-fenshayan gzm interface1prop kn20e9ks10e9tens1e9 interface2prop kn20e9ks10e9tens1e9
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_0cut_1
step100
end_command
n=excav_p+cut_Liang
excav_p=excav_p+cut_Liang
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=40then
command
save kwmc40m.sav
end_command
end_if
end_loop
end
;每次需要修改
set cut_liang=5excav_p=0excav_p_z=80
excav_mcsolve
pl block grou
pl add axes red
pl set rotation9000
save kwmc2.sav
call kwhdno.txt
;n
;res kwmc.sav
ini ydis0
ini xdis0
ini zdis0
ini yvel0
ini xvel0
ini zvel0
set large
set mech ratio=5e-4
pl cont ydis shad on outline on
his gp ydis901740;40m处巷道巷道顶部中点his gp xdis77.7514.7540;40m处巷道巷道左帮中点
his gp xdis82.2514.7540;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_0cut_1
step50
end_command
n=excav_p+cut_Liang
excav_p=excav_p+cut_Liang
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=40then
command
save kwhdno40m.sav
end_command
end_ifend_loop
end
set cut_liang=8excav_p=0excav_p_z=80
excav_hangdao
solve
save kwhdno2.sav
call kwhdzh.txt
;n
;res kwmc2.sav
;pl set rot901800;从后视图看,零点面对着
;pl set rot9000;从前视图看,终点面对着
pl set rot907515
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 separate2
;inter1wrap12
;inter2wrap32
;inter1face range plane norm010ori011.08150dist 0.1
;inter2face range plane norm010ori010.71930dist 0.1
;interface1prop kn1e10ks1e10
;interface2prop kn1e10ks1e10
set large
ini ydis0
ini xdis0
ini zdis0
ini yvel0
ini xvel0
ini zvel0
set large
set mech ratio=5e-4
his gp ydis901740;40m处巷道巷道顶部中点
his gp xdis77.7514.7540;40m处巷道巷道左帮中点his gp xdis82.2514.7540;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=;抗压强度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.09
;maogan4
xp4=80.94074=16.7939
xp4_2=81.9680 yp4_2=19.09 ;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 ;maosuo2xps2=77.75
yps2=14.75
xps2_2=71.25 yps2_2=14.75
;maosuo3
xps3=78.3554 yps3=16.2638 xps3_2=73.52 yps3_2=20.6368 ;maosuo4
xps4=80.0
yps4=17.0
xps4_2=80.0
yps4_2=23.5
;maosuo5
xps5=81.66 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_0cut_1
;安装混凝土初衬
;liner单元
;sel liner id1range grou diban-niyan z cut_0cut_1x zh_xx1zh_xx2y zh_yy1zh_yy2;注意range后的范围
;sel liner prop iso=(25e9,0.15)thick0.1;混凝土
;sel liner prop cs_nk8e8cs_sk=8e8cs_ncut=0.0cs_scoh 0.0cs_scohres0.0cs_sfric0.0
;sel nod fix x y z;固结所有节点.对称巷道有yr xr zr range x y z等。例子见p211
;shell单元
sel shell id1range grou diban-niyan z cut_0cut_1x zh_xx1 zh_xx2y zh_yy1zh_yy2
;sel shell id1elemtype=dkt crossdiag range grou……;薄膜单元,不抗弯,可取一。
sel shell prop isotropic(20e9,0.25)thick0.1range grou diban-niyan z cut_0&
cut_1x zh_xx1zh_xx2y zh_yy1zh_yy2;混凝土.
;sel node fix x y xr yr range xy;参考p200实例step50
end_command
;
;删除起点的初衬,这条命令可放在最后。
if cut_0=0then
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 id1begin xp1yp1z_p end xp1_2yp1_2z_p nseg cable_segcable_seg
sel cable id1begin xp3yp3z_p end xp3_2yp3_2z_p nseg cable_seg
sel cable id1begin xp4yp4z_p end xp4_2yp4_2z_p nseg cable_seg
sel cable id1begin xp5yp5z_p end xp5_2yp5_2z_p nseg cable_seg
sel cable id1begin xp6yp6z_p end xp6_2yp6_2z_p nseg cable_seg
;sel cable id1begin xp7yp7z_p end xp7_2yp7_2z_p nseg cable_seg
;sel cable id1begin xp8yp8z_p end xp8_2yp8_2z_p nseg cable_seg
;sel cable id1begin xp9yp9z_p end xp9_2yp9_2z_p nseg cable_seg
;sel cable id1begin xp10yp10z_p end xp10_2yp10_2z_p nseg cable_seg
;sel cable id1begin xp11yp11z_p end xp11_2yp11_2z_p nseg cable_seg
;sel cable id1begin xp12yp12z_p end xp12_2yp12_2z_p nseg cable_segnseg cable_seg
;sel cable id1begin xp14yp14z_p end xp14_2yp14_2z_p nseg cable_seg
;sel cable id1begin xp15yp15z_p end xp15_2yp15_2z_p nseg cable_seg
;sel cable id1begin xp16yp16z_p end xp16_2yp16_2z_p nseg cable_seg
;sel cable id1begin xp17yp17z_p end xp17_2yp17_2z_p nseg cable_seg
;安装锚索(附在网格上)
sel cable id2begin xps1yps1z_p end xps1_2yps1_2z_p nseg s_cable_seg
sel cable id2begin xps2yps2z_p end xps2_2yps2_2z_p nseg s_cable_seg
sel cable id2begin xps3yps3z_p end xps3_2yps3_2z_p nseg s_cable_seg
sel cable id2begin xps4yps4z_p end xps4_2yps4_2z_p nseg s_cable_seg
sel cable id2begin xps5yps5z_p end xps5_2yps5_2z_p nseg s_cable_seg
sel cable id2begin xps6yps6z_p end xps6_2yps6_2z_p
nseg s_cable_
seg
sel cable id2begin xps7yps7z_p end xps7_2yps7_2z_p nseg s_cable_seg
;sel cable id2begin xps8yps8z_p end xps8_2yps8_2z_p nseg s_cable_seg
;sel cable id2begin xps9yps9z_p end xps9_2yps9_2z_p nseg s_cable_seg
;sel cable id2begin xps10yps10z_p end xps10_2yps10_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 id1
sel cable pro emod emod__e xcarea xcarea__x gr_per gr_per__gp yten ytens__y gr_k gr_k__gk range id2
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=0then
command
sel cable id1pre8e4
sel cable id2pre10e4
end_command
else
cut_00=cut_0+cut_liang
cut_11=cut_1+cut_liang
command
sel cable id1pre8e4range z cut_00cut_11
sel cable id2pre10e4range z cut_00cut_11
end_command
end_if
;
;条件判断保存文件,这里判断条件必须和cut_liang对应上,否则不能得到想要的文件。
if cut_1=60.0then
command
save kwhd60m.sav
end_commandend_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
step5000
;hist write1vs step file aaaaaa.xls
;his write1vs step begin1end2000file 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关键字后加上magfac500
