基于边坡稳定性分析算法的MATLAB GUI 界面设计
2023-09-21孟唱,李忠
孟 唱, 李 忠
(上海工程技术大学城市轨道交通学院, 上海 201620)
0 引 言
社会经济的高速发展,公路、铁路等基础设施的大量建设,人工边坡、自然边坡出现的问题也越来越多,各种滑坡、泥石流等事故常有发生,其部分原因在于边坡稳定性评价方法的使用存在一定的问题[1]。 传统极限平衡方法多为人工操作,搜集边坡数据进行相关计算分析,缺点十分显现,对于复杂边坡,数据参数处理困难,耗费大量时间,且容易出错[2]。 寻找一种简单有效的方法快速计算并分析边坡的稳定性,对边坡工程建设具有重要意义。
随着计算机的快速发展,科学计算可视化在各行各业都有广泛的应用。 许多学者开始尝试使用各种语言工具来设计可视化界面应用在不同的行业内,实现工程上的便捷管理。 如:俞坚道等[3]基于图片的像素值,提取已发表文献的缓冲材料应力、应变数据,并利用Matlab/GUI 用户界面为包装设计提供了有效途径;林峰等[4]为解决电力企业信息量的处理,设计并实现了PI2000 界面系统;秦浩等[5]为了更加高效处理水电站工程安全监测数据,基于MATLAB GUI 功能设计了一个系统处理界面。 计算机语言种类多,功能侧重点不同,一些编程操作功能强大,但在可视化方面较差,所以选择优良的语言程序也变得非常重要。 MATLAB 软件不仅在数值计算方面屈指一数,而且还能为用户提供高品质的可视化设计以及与其它程序的接口功能,已经在工业生产、机械工程、桥梁工程等行业有了一定的应用,但是在边坡工程中却鲜为人见[6]。
基于上述分析,本文提出利用MATLAB GUI 软件开发边坡稳定性算法分析界面,该界面为用户提供了一个方便、高效的操作平台,对于边坡工程建设来说,不同边坡参数数据不同,为避免传统计算方法耗时且易出错的缺点,一个可视化的交互式图形用户界面显得十分必要。
1 基本理论
1.1 极限平衡法基本原理
极限平衡法是根据斜坡上滑块(滑体)的静力平衡原理,分析边坡在各种破坏模式下的受力状态,以及斜坡上的抗滑力与下滑力之间的关系,来评价边坡的稳定性。 本文将瑞典圆弧法和条分法相结合,将滑动面假设为一圆弧,将滑坡体划分为若干垂直土条,以摩尔-库仑的抗剪强度理论为基础,建立力的平衡方程式,求得边坡最危险滑移面和最小安全系数[7],如图1 所示。
图1 圆弧滑动面上土体细分的条块Fig. 1 Segments of soil subdivision on circular arc sliding surface
下滑力矩表达式如式(1):
式中:r表示圆弧半径,Wi表示第i块条块的重量,αi表示条块底部与水平面的夹角。
抗滑力矩表达式如式(2):
式中Si表示第i块条块底部的土体强度。
1.2 安全系数求解
由坡底向坡顶引无数个圆弧假设面,坡顶按一定比例向右移动,分别计算每个圆弧的安全系数。选取其中最小的安全系数,即对应最危险滑移面[8]。 安全系数表达式如式(3):
式中:si表示第i块条块底部的土体强度,ci表示第i块条块底部的土体粘聚力,σi表示第i块条块底部的土体剪平面的法向应力,F表示抗滑力矩之和与下滑力矩之和的比值,Δli表示第i块条块底部面积。
2 可视化界面设计方法
2.1 MATLAB GUI 界面设计步骤
首先,在MATLAB 界面的命令板中输入guide的命令,得到GUI 界面设计的选择窗口,如图2 所示。 选择新建GUI,即可进入功能设计界面[9]。
图2 新建GUI 界面入口Fig. 2 New GUI interface entrance
如图3 所示,进入GUI 编辑界面,即可根据所需功能,从左侧菜单栏中拖拽控件到画布上,将各个控件整齐、美观、方便地摆放[10]后,完成各控件的回调函数。 最后的程序设计是GUI 界面设计的灵魂,编写界面动态功能程序后,必须对各功能进行逐项反复检查,完成可视化界面的程序调试。
图3 GUI 编辑界面Fig. 3 GUI editing interface
2.2 边坡分析软件的功能
依据边坡模型的特性,建立如图4 所示的边坡稳定性分析软件功能框图。 边坡稳定性分析计算主要包括边坡各参数输入、边坡安全系数的计算以及边坡模型结果可视化[11]。
图4 边坡稳定性分析软件功能框图Fig. 4 Functional block diagram of slope stability analysis software
2.3 边坡稳定性分析界面布局
本文界面设计分为参数设定和图形显示两个区域。 图形显示使用axes1 控件,主要功能是显示边坡模型几何尺寸、边坡土层数量以及最危险滑移面[12]。 如图5 所示,参数设定主要分为4 个部分:土层参数、边坡参数、搜索参数以及结果输出参数。
图5 边坡稳定性分析界面布局Fig. 5 Layout of slope stability analysis interface
(1)土层参数设计:通过设计表格1,输入土层的各种参数,包括序号、土层参数、土体粘聚力、土体内摩擦角、土体天然重度以及土体厚度。 在表格1 上方设置添加、删除、下移、上移、导入、保存等6 个功能键。 其中,添加和删除键可增加或减少土层数量;上、下移键可变换土层位置;导入键可导入“.xlsx”文件,如果土层数量和参数较多,可事先在表格中填好,直接导入表格内即可;保存键可将编写或调整后的土层参数保存到电脑文件夹内,以备下次直接使用。
(2)边坡参数设计:通过设计表格2 输入边坡模型的几何尺寸,其中包括边坡阶数、边坡高度、边坡坡角、边坡坡顶宽度以及平台荷载;同时也设置6个功能键,其功能与上述功能键类似,主要是便于边坡阶数的增减调整,以及边坡角度、边坡高度等变化调整,更加方便快捷的更改边坡模型几何尺寸,对边坡模型重建、快速调整具有重要意义。
(3)搜索参数设计:该部分是调节主函数的部分参数,主要作用是对主函数的循环、步长等进行微调,能适应多种复杂边坡的搜索,完成边坡安全系数的计算。 其中包括圆弧切线与水平方向角度等分变量、滑移面距底面角点的高度、辅助滑移横坐标步长变化。
(4)计算与结果参数设计:计算设计了两部分,“阶段计算”是指对边坡每阶段的计算分析,在下拉列表中点击边坡阶数,即可计算该阶数的边坡滑移面,如点击3,即指自边坡顶部向下数3 层,计算这3层边坡的危险滑移面和最小安全系数;而“开挖高度”是指自边坡顶部向下开挖的深度,其余部分可看做未挖土体,在静态文本中输入开挖高度,即可计算任意开挖高度下的边坡最危险滑移面以及对应最小安全系数。 最后表格中主要显示计算后的安全系数、最危险滑移面的圆心坐标及圆弧半径。 保存键主要作用是将界面中的所有参数保存到文本文件中,便于边坡稳定性分析的数据整理。
界面本着简单性、一致性以及习惯性的设计原则,既要便于操作,又要美观协调,另还可根据自己的爱好对控件进行颜色背景布置。 本文通过极限平衡法的基本原理,完成主函数的编程,再通过GUI界面的各控件实现用户与机器的交互,完成边坡稳定性分析的界面设计。
3 GUI 边坡应用案例
3.1 案例模型
案例模型采用澳大利亚计算机协会(ACADS)所提供的考题为例,以此来检验边坡稳定性分析算法的可行性,并检验GUI 界面功能的有效性。 该算例边坡的几何尺寸、边界条件等具体情况如图6 所示,土层参数见表1。
表1 ACADS 边坡考题的力学参数Tab. 1 Mechanical parameter of ACADS slope illustrative example
图6 ACADS 边坡案例尺寸示意图Fig. 6 Schematic diagram of dimensions of ACADS slope case
表1 中,C表示边坡土层的粘聚力;ϕ表示边坡土层的内摩擦角;E表示土体弹性模量;γ表示边坡土层的天然重度;μ表示边坡土层的泊松比。
3.2 计算结果分析
打开设计好的边坡稳定性分析界面,在土层参数表格内输入ACADS 边坡案例的土层参数,在可视化图形窗口即可显示出土层数量;在边坡参数表格内输入ACADS 边坡案例的几何参数,在可视化图形窗口即可显示边坡模型;最后点击阶段计算,完成边坡最小安全系数的计算,并在可视化窗口显示边坡最危险滑移面和最小安全系数的大小,如图7所示。
图7 边坡案例GUI 界面结果显示Fig. 7 GUI interface results of slope case show
GUI 界面中计算结果显示,该边坡最小安全系数为0.979 1,案例推荐答案为1.0,计算值与推荐值误差约为2.1%,本文计算的边坡滑移面与案例的滑移面基本一致,表明基于极限平衡理论的算法,计算边坡最小安全系数是可行的,同时也验证了GUI 界面功能的安全运行,证明了GUI 界面的计算,比在MATLAB 主程序上输入参数更加简单直接方便,图形可视化效果更直观、更好。
4 结束语
本文利用MATLAB GUI 功能对边坡稳定性分析算法进行了可视化编程,设计出友好的用户图形界面。 在实际工程现场,只需将测得边坡数据输入GUI 界面相应表格中,即可计算出该边坡的稳定性状况,而且可迅速更改和调整数据,完成不同边坡的计算分析,对于边坡现场施工具有很重要的经济价值和实用价值。
关于如何将二维边坡稳定性分析界面应用于更为复杂的边坡,以及将其扩展到三维边坡稳定性分析界面,后续将会进一步深入研究。