HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)

1 引言

在【HYRCAN脚本描述以及与SLIDE计算结果比较】中讨论了单一土层边坡安全系数的计算过程,在这个笔记中,我们讨论由多层土组成的非均质边坡(Non-Homogeneous Slope)的稳定性分析,并与SLIDE的计算结果进行了比较。


2 计算步骤

这个例子边坡由三种不同的土组成,如下图所示。

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图1

(1) 项目设置

选择四种方法,改变“条块数量”值,设置为50。

set("Method","GLE/M-P","on","Method","JanbuSim","on","Method","Spencer","on")set("numSlice",50)

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图2

(2) 边坡形状

按顺序把边坡的外部形状画出来,使用主菜单”几何构型->外部边界”命令,顺序输入外部边界坐标,结束后输入”c[close]”, 形成边坡形状,如下图所示。

extboundary(20,25,30,25,50,35,70,35,70,20,20,20,20,25)

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图3

(3) 材料边界

由于本例有三种土,因此需要把材料边界画出来。使用主菜单"几何构型->材料边界”命令,顺序输入第一个材料边界和第二个材料边界,结果如下图所示。

matboundary(30,25,50,29,54,31,70,31)matboundary(40,27,52,24,70,24)

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图4

(4) 材料参数

使用“属性->定义材料”打开定义材料属性对话框,输入三种土的参数。

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图5

definemat("ground","matID",1,"matName","soil 1","uw",19.5,"cohesion",0,"friction",38)definemat("ground","matID",2,"matName","soil 2","uw",19.5,"cohesion",5.3,"friction",23)definemat("ground","matID",3,"matName","soil 3","uw",19.5,"cohesion",7.2,"friction",20)

(5) 分派属性

因为本例有三种土,我们已经划分了土层的边界,也对每种土定义了材料参数,接下来必须把材料参数赋值到相应的土层上,否则程序不知道哪层土对应哪个参数。使用“属性->分配属性”命令打开"指定材料"对话框,选择土层名称,然后用鼠标点击土层的区域,程序会自动把材料参数赋值到对应的土层。

assignsoilmat("matid",1,"atpoint",44.1517,29.8778)assignsoilmat("matid",2,"atpoint",48.762,33.2468)assignsoilmat("matid",3,"atpoint",37.591,22.2532)

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图6

(6) 边坡约束

当产生边坡形状时,程序会自动设置边坡约束。使用“表面->定义边坡约束”打开对话框, 在本例中我们选择“第二组约束“,并且把第二组约束的X坐标改为45。

definelimits("limit",20,36.665,"limit2",45,70)

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图7

(7) 计算

使用“分析->计算”命令开始进行计算。

compute()

(8) 结果显示

选择主菜单”结果”下的“全部表面“和”展示条块”,如下图所示的Bishop Simplified方法。

show("allsurfaces")show("slices")

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图8

相同的数据在SLIDE下运行,计算结果比较如下:

HYRCAN多层土边坡(Non-Homogeneous Slope)稳定性分析以及安全系数的自动提取(JavaScript)的图9

可以看出,两个软件的计算结果基本一样。


3 提取安全系数FOS

下面使用JavaScript语言自动提取每种计算方法的安全系数。代码如下:

fid = fopen("out.txt", "w")var fos_bishop = Math.round(getminfos("BishopSim")*1000)/1000;var fos_gle = Math.round(getminfos("GLE/M-P")*1000)/1000;var fos_janbu = Math.round(getminfos("JanbuSim")*1000)/1000;var fos_spencer = Math.round(getminfos("Spencer")*1000)/1000;fprintf(fid, "Min. FOS for Bishop Simplified Method: "+ fos_bishop +"\n");fprintf(fid, "Min. FOS for GLE/M-P Method: "+ fos_gle+"\n");fprintf(fid, "Min. FOS for Janbu Simplified Method: "+ fos_janbu +"\n");fprintf(fid, "Min. FOS for Spencer Method: "+ fos_spencer+"\n");fprintf(fid, "\n");

取出的结果如下:

Min. FOS for Bishop Simplified Method: 1.407Min. FOS for GLE/M-P Method: 1.376Min. FOS for Janbu Simplified Method: 1.26Min. FOS for Spencer Method: 1.376

交换脚本使用哪种语言其实并不重要,HYRCAN是使用QtScript来实现的,但我觉得使用pyQT实现更好,毕竟Python的句法规则更灵活一些。 

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏
关注