python解zuobiaoxi方程_滑坡稳定性分析程序初探---Python版!

4a2b863c3b0f14f97623a7880265a57f.png

0 前言

山体滑坡是常见的自然灾害,从理论分析的角度讲,滑坡的稳定性分析方法源自于高中物理学,如图1所示。前者的滑动分析非常简单,在已知滑块的重量以及接触面摩擦系数的基础上通过计算下滑力和抗滑力的关系即可分析其稳定性;对于后者,情况将变得非常复杂,第一个难题是不知道滑块的形状如何,第二个难题是土体材料能提供多大的抵抗力,同时还要考虑周围环境的影响,比如荷载、地下水等。

fc42a68721f0fd15398c345c67c6a7ab.png
图1 滑动示意图

下面将结合Python介绍黏性土坡稳定性分析程序的实现过程,以最简单的瑞典条分法(Felenius法)为例,下面简要的介绍一下该方法,该方法有主要有如下一些假设:

  • 1、对于第一个难题,其假设滑动面的形状为圆弧;
  • 2、对于第二个难题,假设土坡滑动时滑动面上满足库伦准则;
  • 3、刚体滑动、土体材料均质;
  • 4、以滑动力矩和抗滑力矩的大小来判断土坡的稳定性。

294b65f7b3144de919387c81aadaf41b.png
图2 力矩分析

如图2所示,滑动力矩由滑块的重力产生,而抗滑力矩由土体材料在滑动面上的摩擦力提供。滑动力矩很容易求出,

而抗滑力矩为滑动面上的积分,

根据假定,破坏面上满足库伦准则,即破环面上的剪切力

,
为土体材料的力学参数,
是破坏面法向方向的正应力,方向与剪切力
垂直,

定义安全系数 :

如果

,则表示土坡是安全的,因为抵抗力矩大于滑动力力矩,如果
则 土坡处于极限平衡状态,
则表示土坡会发生滑动。显然,对于上式,
是坐标的函数,很难得到解析解的,常用数值方法进行求解,首先将滑块体离散成若干竖向的条块,如图3所示,用直底边四边形来代替曲底边四边形,先化整为零,然后分析单个竖向条块的稳定性,最后反过来分析整体稳定性,这种采用竖向条块离散求解的方法也被称为竖向条分法。

808e2fe016ca02bbb516a6952dc25b31.png
图3 滑块离散

不难发现,滑块上的未知力、力作用点数量是大于每个条块的平衡方程数量,一般每个条块只有三个平衡方程,

水平方向的力平衡:

竖直方向的力平衡:

,以及

力矩平衡:

,三个方程只能求解三个未知数,当未知数大于3时,则需要做出适当的假定来增加方程数或减少未知数的数量来求解,再加上滑动面形状的假设,从而出现了很多不同的求解方法。

不过,作为最早的条分法,瑞典条分法不考虑条间力的平衡,

e35e8b17282d5e6c69aa90213734e4cb.png
图4 瑞典条分法条块受力
  • 5、假定
    作用点在底边中点,方向指向圆心,
    指向底边中点,且滑动面上的法向合力
    于是

最后化零为整,计算安全系数,

对于均质土体,

,
,为了让问题变得不那么复杂,本例不考虑外力和地下水作用。

现在虽然知道了滑动面的形状以及计算安全系数的方法,但滑动面的位置并不清楚,如何找到滑动面的位置呢?最原始的方法是穷举,认为安全系数

最小的那个滑动面最具有参考价值,也被称为最危险滑动面,此时计算的安全系数也被称最小安全系数,穷举算法如下,

fa0e7847c06aa17917944f8ae3a32d94.png

可以看到,上面的穷举法是一个三重循环,需要预先给定圆心位置和半径的取值范围。

1 程序

瑞典条分法的理论并不复杂,编程难点是条块的划分,涉及到一些几何运算,如多线段与圆的交点,线段于线段的交点,四边形的面积运算等,这里采用Python的一个几何运算库Shapely实现这些几何运算。

本例程序需要用到的Python库包括数组运算库NumPy,几何运算库Shapely以及绘图库Matplotlib,使用pip安装,

pip 

接下来开始编写程序,首先定义描述滑动面的类型Circle,由于Shapely中没有真正的圆类型,而是由多段线来描述,这也导致交点计算时速度会较慢,读者可以自行改进。下面所有的程序编写在同一个模块中,

from 

然后定义土坡类型Slope,初始化参数为构成土坡轮廓线的点集,

class 

接下来,定义根据滑动面信息条分滑块的方法cut(),其需要输入一个滑动面参数,本例为一个Circle对象,

def 

在条块划分完成后,计算安全系数前需要设定土体的力学参数,定义set_soil_prop()方法,

def 

然后计算安全系数,定义方法calc_fos(),

def 

接下来,采用穷举法找到最小的安全系数,定义solve()方法,该方法需要传入一个参数search_box = [xmin,ymin,xmax,ymax],用于设置圆心的位置范围,

def 

最后定义一个绘图方法,利用matplotlib库进行结果输出,默认输出最危险滑动面,

def 

同时,clock_wise_points()函数定义如下,

def 

2 算例

接下来用上述程序做简单的算例,

if 

计算结果如图5所示,动态搜索见图6。

a3a69e60d9f6e9e379698313280c1713.png
图5 算例结果

5f26566f33031982a43ebd8caa29e30d.gif
图6 动态搜索

修改土体参数,比如增大内摩擦角,结果如图7所示。

s

07d2bd7c00e474ec1c34485cb4c352eb.png
图7 计算结果

修改圆心边界,结果如图8所示。

s

b7f939893562d3188436b68f60789c0f.png
图8 计算结果

可以看到,不光是修改土体的力学参数,修改圆心的位置也会影响计算结果。

3 总结

根据上文了解到,一直以来,黏性土坡的稳定性分析理论的研究思路主要集中在以下几个方面,

  • 滑动面形状研究,目前主要分为圆弧滑动面和任意形状滑动面;
  • 条块力学平衡假设研究,通过设定假设条件,增加方程数数量或减少未知数的数量来满足条块的平衡;
  • 最危险滑动面搜索方法研究,穷举法不仅效率低,而且由于步长的存在,也只是近似解,所以考虑将最优化理论应用于搜索最危险滑动面。

4 说明

  • 由于水平有限,笔者无法保证程序在极端几何条件下运行不会出现bug;
  • 本例仅介绍瑞典条分法的基本程序实现,抛砖引玉,未考虑的因素包括地下水影响、荷载作用,多土层分布的情形,后期考虑加入这些功能,也可能会实现更多的条分法,比如常用的Bishop法、Janbu法、Spence法等,欢迎各位同仁交流和指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/513928.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 动态 控件,PHP技术在动态网页表单控件提取中的应用研究

曲小纳摘要:由于电子商务及网络信息技术的飞速发展,动态网站已经逐渐取代传统的静态网站,在不断向人工智能化等方向发展。该篇文章就针对PHP这种技术在动态网页表单控件提取中的应用进行详细的阐述。关键词:PHP;动态网页;表单中图…

冷启动延时缩短50%-80%,阿里云函数计算发布冷启动加速技术

简介: 近日,阿里云函数计算重磅发布冷启动加速技术,将原本属于开发者的镜像优化负担转由函数计算承担,进一步帮助开发者提高生产效率,专注业务创新。该技术源于阿里集团超大规模和场景高度复杂的容器环境,对…

评审恩仇录——IDE也能做代码评审?

简介: 云效Codeup推出了本地IDE插件端的评审,免除了黄药师来回华山的奔波之苦 现代科技公司的同事们平日一起交流开发规约和产品需求,肩上共同扛着业务发展和同行竞争的压力,这份还书贻剑的情谊如何能引来恩仇呢?通过…

云原生数据仓库TPC-H第一背后的Laser引擎大揭秘

简介: 作者| 魏闯先阿里云数据库资深技术专家 一、ADB PG 和Laser 计算引擎的介绍 (一)ADB PG 架构 ADB PG 是一款云原生数据仓库,在保证事务ACID 能力的前提下,主要解决云上海 量数据的实时分析问题。它的架构与传…

新云网、5G、Wi-Fi 6 Plus,探秘2021通信展上的锐捷网络黑科技

供稿 | 锐捷网络 出品 | CSDN云计算 2021年9月27日,主题为“创新点亮数字化未来”的第三十届中国国际信息通信展览会(PT EXPO 2021)在北京如期开幕。展会汇聚业内的科技创新技术专家和优秀企业,共同探讨数字化创新的新趋势、新场…

【OpenYurt 深度解析】边缘网关缓存能力的优雅实现

简介: 阿里云边缘容器服务上线 1 年后,正式开源了云原生边缘计算解决方案 OpenYurt,跟其他开源的容器化边缘计算方案不同的地方在于:OpenYurt 秉持 Extending your native Kubernetes to edge 的理念,对 Kubernetes 系…

python的类名一定要大写吗_python 类名

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果我从中执行此操作的函数是实例的类派生的基类,我如何找到在python中创建对象实例的类的名称…

Elasticsearch生态技术峰会 | 阿里云Elasticsearch云原生内核

简介: 开源最大的特征就是开放性,云生态则让开源技术更具开放性与创造性,Elastic 与阿里云的合作正是开源与云生态共生共荣的典范。值此合作三周年之际,我们邀请业界资深人士相聚云端,共话云上Elasticsearch生态与技术…

剑指云原生数据库 2.0,阿里云发布全新一站式敏捷数据仓库解决方案

作为基础软件“三驾马车”之一的数据库,其发展历程可追溯到60年前:从上世纪50年代的层次数据库、网状数据库,70年代的关系型数据库,再到90年代的关系型数据库、数据仓库、PC单机数据库和 2000 年的开源数据库,Oracle等…

深度 | 面向云原生数据湖的元数据管理技术解析

简介: 作者:沐远、明惠 背景 数据湖当前在国内外是比较热的方案,MarketsandMarkets市场调研显示预计数据湖市场规模在2024年会从2019年的79亿美金增长到201亿美金。一些企业已经构建了自己的云原生数据湖方案,有效解决了业务痛点…

sql中“delete from 表名”表示_SQL查询语句知识点总结

为什么要学习SQL?数据分析岗位的基础技能:SQL语句和会使用SQL语句操纵数据库软件;数据量增大的工具需求:excel处理十万以内的数据;数据量增大,需要使用更快速便捷的工具分析数据。SQL知识点总结1数据库基础知识什么是…

Serverless 可观测性的过去、现在与未来

简介: 函数计算可观测性经历了 1.0 -> 2.0 的发展,从闭门造车的可观测发展成开源的可观测,从平台的可观测发展为开发者的可观测,从FaaS Only 的可观测演进成了云原生的可观测。 作者:夏莞 背景 Serverless 将成为…

Gartner:全行业投入人工智能,计算机视觉占比最高

编辑 | 宋慧 供稿 | Gartner Gartner最近一项新调研发现,三分之一拥有人工智能(AI)技术计划的技术和服务提供商企业机构表示,他们在未来两年对人工智能技术的投资将达到100万美元以上。绝大多数将人工智能技术作为主要投资领域的…

爱奇艺大数据生态的实时化建设

简介: 实时化是大数据未来最重要的方向之一。 作者|爱奇艺大数据团队 数据作为互联网时代的基础生产资料,在各大公司企业拥有举足轻重的地位。数据的价值在互联网公司的体现,大致而言可以分成三类: 发掘数据中的信息…

python机械臂仿真_基于Python的3R机器人运动仿真

一、问题描述 如右图所示的三自由度机械臂,关节1和关节2相互垂直,关节2和关节3相互平行。如图所示,所有关节均处于初始状态。 要求: (1) 定义并标注出各关节的正方向; (2) 定义机器人基坐标系{0}及连杆坐标…

AI 事件驱动场景 Serverless 实践

简介: 事件驱动是指事件在持续事务管理过程中,进行决策的一种策略。可以通过调动可用资源执行相关任务,从而解决不断出现的问题。通俗地说是当用户触发使用行为时对用户行为的响应。在 Serverless 场景下,事件驱动完美符合其设计初…

运维质变育新机,华为云能否引领政企运维破局?

头图 | 付费下载于视觉中国 提到IT运维,我们马上想到的,就是“7*24小时待命”、“救火”。作为IT安全运行的保障,长久以来,运维一直都是“不出事看不到价值,一出事全是锅”的角色。例如某企业自动化运维失效导致宕机…

封神-运维大脑 | 日志检测工具

简介: 封神-运维大脑 | 日志检测工具1. 背景目标 阿里云应用业务有问题,云平台监控可以发现问题,但并不能定位到问题根本原因,运维大脑监控底层日志,可快速定位问题原因,帮助现场运维同学解决问题。 运维大…

hive sql练习_经典的SparkSQL/Hive-SQL/MySQL面试-练习题

经典的SparkSQL/Hive-SQL/MySQL面试-练习题​mp.weixin.qq.com第一题需求:已知一个表order,有如下字段:date_time,order_id,user_id,amount。 数据样例:2020-10-10,1003003981,00000001,1000,请用sql进行统…

世纪联华的 Serverless 之路

简介: 2019 年 双11 过后,世纪联华快速上云,将线上核心业务改造为全 Serverless 架构的中台模式,采用“函数计算API 网关OTS”作为计算网络存储核心,弹性支撑日常和大促峰谷所需资源,轻松支撑 618 / 双11 /…