yc123292 发表于 2008-9-16 21:15:26

强度折减法命令流问题

这是chunhuo420老兄早前发的强度折减法的命令流,有些问题不懂,向各位高手请教,感激不尽!
new
;====================================建模
def _geoparm
size1=20
size2=30
filecal0=string(size1)+'_'+string(size2)+'_cal'+'.sav'
bf=75   ;      改变此处坡角
af=bf*pi/180    ;
h1=20
;
x00=30.0
x01=105.0
x02=x00
x03=x00+h1/tan(af)
x04=x01
x05=x03
x06=105.0
x07=x06
;
y00=0.0
y01=y00
y02=1.0
y03=y00
y04=y02
y05=y02
y06=y00
y07=y02
;
z00=20.0
z01=z00
z02=z00
z03=100.0
z04=z00
z05=z03
z06=z03
z07=z03
end
_geoparm
gen zone brick p0 0 0 0 p1 30 0 0 p2 0 1 0 p3 0 0 20 size 6 1 6
gen zone brick p0 30 0 0 p1 105 0 0 p2 30 1 0 p3 30 0 20 size size1 1 6
gen zone brick p0 x00 y00 z00 p1 x01 y01 z01 p2 x02 y02 z02 p3 x03 y03 z03 &
               p4 x04 y04 z04 p5 x05 y05 z05 p6 x06 y06 z06 p7 x07 y07 z07 size size1 1 size2
;===============================================
   ;*************强度折减法*******************
;===============================================
def SSR
;------------------
ait1=0.02         ;精度
k11=1.00          ;上限值
k12=2.50          ;下限值
ks=(k11+k12)/2
loop while (k12-k11)>ait1
;------------------
; 弹性模量(Pa)
flag=0
E1=3.0e10   
; 泊松比
poi1=0.27
;
; 粘结力(Pa)
coh1=0.54e6/ks
;
; 容重(N/m3)
weight1=27.0e3
; 膨胀角(度)
dila1=0.0
;
; 内摩擦角(度)
fri1=(atan((tan(50.1*pi/180))/ks))*180/pi
;
;抗拉强度
ten1=0.05e6
grav0=-9.80            ; 重力加速度(N/kg)
dens1=-weight1/grav0   
K1=E1/(3*(1-2*poi1))
G1=E1/(2*(1+poi1))

;==================
command
model null       ;挖空
model mohr;采用莫尔库仑模型
pro bulk K1 she G1 dens dens1 coh coh1 &
friction fri1 dilation 0. tens ten1
fix x range x -0.1 0.1
fix x range x 104.9 105.1
fix y
fix x y z range z -0.1 0.1
set grav 0 0 grav0
set mech ratio 9.8e-6
solve step 30000
endcommand
;==================
;收敛
if mech_ratio<1.0e-5
k11=ks
k12=k12
else
k12=ks
k11=k11
endif
ks=(k11+k12)/2
endloop
fosfile0=string(size1)+'_'+string(size2)+'_fos'+'.sav'
command
save fosfile0
endcommand
end
SSR
pr ks

主要问题有:
(1) set mech ratio 9.8e-6 和 if mech_ratio<1.0e-5中的mech ratio 与mech_ratio意义相同吗?各表示什么?
(2) 该命令流在FLAC3D 3.0版本中运行后一直算到了400000多步还没有什么结果,说明什么?那折减系数是多少呢?

小弟最近在弄边坡方面的论文,用FLAC做,深感资料不足啊,幸好有咱们这个论坛,让小弟获益匪浅!再次感谢各位的帮助!

yc123292 发表于 2008-9-17 09:00:01

急啊,盼高手赐教!

benjackxu 发表于 2008-9-17 10:26:29

set mech ratio 9.8e-6对应内置强度折减法中的一个试算过程的终止标准。

yc123292 发表于 2008-9-17 14:59:36

回复 3# benjackxu 的帖子

先感谢版主的解答!
set mech ratio 9.8e-6设置了标准,那下面那句solve step 30000是指一次循环中先试算30000步,然后再根据if mech_ratio<1.0e-5 来判断收敛与否来确定新的k11、k22和ks,再根据loop while (k12-k11)>ait1判断是否继续循环计算,不循环之后就输出Ks的值。计算过程是这样的吗?
那set mech ratio 9.8e-6设置的标准是什么时候起作用的呢?而且这个标准的数值是怎么定的呢?FLAC默认的值是1e-5吗?
不好意思哈,问了这么多,请大家赐教!3Q

yc123292 发表于 2008-9-18 09:43:46

经过试算研究,觉得set mech ratio 9.8e-6和solve step 30000都是计算循环的标准,达到任意一个就结束该次计算,不过最终判据是mech ratio 9.8e-6,当一次计算结束且 (k12-k11)不大于ait1时,此时循环结束,输出ks的值!
不过还是有疑问:设定的mech ratio 的数值是怎么人为确定的?依据是什么?

yc123292 发表于 2008-9-18 19:21:41

望高手指点哦!

yc123292 发表于 2008-9-22 20:26:08

还是没有回应哦!:L

benjackxu 发表于 2008-9-22 21:36:10

原帖由 yc123292 于 2008-9-18 09:43 发表 http://forum.simwe.com/images/common/back.gif
经过试算研究,觉得set mech ratio 9.8e-6和solve step 30000都是计算循环的标准,达到任意一个就结束该次计算,不过最终判据是mech ratio 9.8e-6,当一次计算结束且 (k12-k11)不大于ait1时,此时循环结束,输出ks的 ...


正是你理解的这个意思,mech ratio 9.8e-6是人为设定的,其实内嵌的强度折减法设定的是10E-3。这方面你可以看手册中关于强度折减法的说明。

yc123292 发表于 2008-9-23 09:03:06

谢谢君之枫版主的解答!小弟一定会多研究手册的!
多问一句,内嵌的强度折减法是不是就是求解fos啊?

yc123292 发表于 2008-9-23 16:26:08

非常感谢斑主的指导,我已经看过手册上的相关内容了,求fos就是强度折减法!

51746170 发表于 2008-10-6 00:42:09

获益匪浅啊:)

amartya2005 发表于 2008-11-3 21:04:16

有收获

有收获:D

hefupu 发表于 2009-8-13 10:54:59

高手对话,获益匪浅啊

woshiwjl 发表于 2009-9-8 11:00:42

楼主怎么联系啊?小弟也正在做相关的研究,有时间可以请教请教不?
QQ:27659420

liusha1057 发表于 2010-3-16 10:55:35

好东西,顶!!!
页: [1]
查看完整版本: 强度折减法命令流问题