- 积分
- 1
- 注册时间
- 2008-6-30
- 仿真币
-
- 最后登录
- 1970-1-1
|
本帖最后由 accbd 于 2009-3-3 11:59 编辑
在强度折减方法中,为什么对所定义的上下限(K11、K12)稍作修改所得结果却大相径庭?问题出在哪里?谢谢!
下面具体说一下情况:
我的目的是对一岩坡进行安全系数的计算,利用内置fos命令,所花时间极长,故采用chunhuo版主的命令。
该模型是在ansys中建模并剖分,然后导入flac3d中的。我总共进行了三次安全系数的计算,第一次将上下限设定为0.8和1.4;第二次把设定为1.0和1.6;第三次设定为0.2和2.0,计算结果分别为:Fs=0.809、Fs=1.009、Fs=0.713。其余命令均未改动,为何会产生如此大的差异?问题出在哪里?
以下是命令流:
new
impgrid Flacmodel.Flac3D
pl bl gr
pl set rot 90 0 0 mag 1
plo add axes
;============================================
def derive
sh_mod=young_mod/(2.0*(1.0+Possion_rat))
bu_mod=young_mod/(3.0*(1.0-2.0*Possion_rat))
den_sity1=(unit_weight1/9.81)*1000
den_sity2=(unit_weight2/9.81)*1000
end
set young_mod=3.8e7 possion_rat=0.26 unit_weight1=26.4 unit_weight2=27.0
derive
print sh_mod bu_mod den_sity1 den_sity2
;history
hist id=11 gp disp 72.80 74 0
hist id=12 gp vel 72.80 74 0
hist id=21 gp disp 36.45,38.10,0
hist id=22 gp vel 36.45,38.10,0
hist id=3 unbal
;===============强度折减=============
def SSR
ait1=0.02
k11=0.8 ;【第一次K11=0.8 第二次K11=1.0 第三次K11=0.2】
k12=1.4 ;【第一次K12=1.4 第二次K12=1.6 第三次K12=2.0】
kr=(k11+k12)/2
loop while (k12-k11)>ait1
coh_1=36200/kr
coh_2=576000/kr
fri_1=(atan((tan(29.90*pi/180))/kr))*180/pi
fri_2=(atan((tan(37.51*pi/180))/kr))*180/pi
ten_1=5.81e6
ten_2=9.49e6
bu_lk=bu_mod
dens_1=den_sity1
dens_2=den_sity2
sh_ear=sh_mod
command
model null
model elas
prop bulk=bu_lk sh=sh_ear dens=dens_1 co=coh_1 range group 1
prop bulk=bu_lk sh=sh_ear dens=dens_2 co=coh_2 range group 2 any &
group 3 any group 4 any group 5 any group 6 any
;暂将group2\3\4\5\6作为一种介质处理
fix x range x -29.9 -30.1
fix x range x 179.9 180.1
fix x y z range y -79.9 -80.1
fix z
set grav 0 -9.81 0
plo con ssi ou on
step 10000
save ini.sav
ini xdis 0 ydis 0 zdis 0 xvel 0 yvel 0 zvel 0
model mohr
prop dens=dens_1 bulk=bu_lk sh=sh_ear co=coh_1 fric=fri_1 tens=ten_1 &
dila=0 range group 1
prop dens=dens_2 bulk=bu_lk sh=sh_ear co=coh_2 fric=fri_2 tens=ten_2 &
dila=0 range group 2 any group 3 any group 4 any group 5 any group 6 any
set mech ratio 1.0e-5
solve step 10000
endcommand
if mech_ratio<1.0e-5
k11=kr
k12=k12
else
k12=kr
k11=k11
endif
kr=(k11+k12)/2
endloop
fosfile0='no_contact_fos'+'.sav'
command
save fosfile0
endcommand
end
SSR
print kr |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|