块体边坡稳定性评价软件

pybimstab的Python项目详细描述


Pybimstab

made-with-pythonPyPILicenseDocumentation Status

pybimstabpython 3中的一个应用程序软件,用于计算因子 防止基质(BIM)材料中的块体斜坡滑动的安全性。

采用极限平衡法,通过 广义极限平衡法 Fredlund & Krahn (1977)

滑动面有一个弯曲的几何结构,通过使用 a-star算法 Hart, Nilsson & Raphael (1968)

以下图表是两种不同分析的最终结果:

均匀斜率

Outcome plot example1

BIM材料制成的斜坡

Outcome plot example2

功能

要求

代码是用python 3编写的。包裹numpyscipymatplotlibshapely是 使用pybimstab时必需。他们都是 通过打开终端并键入 以下代码行:

pip install numpy
pip install scipy
pip install matplotlib
pip install shapely

安装

要安装pybimstab,请打开终端并键入:

pip install pybimstab

示例

要生成上面显示的绘图,请执行以下脚本

from numpy import array
from pybimstab.slope import NaturalSlope
from pybimstab.watertable import WaterTable
from pybimstab.bim import BlocksInMatrix
from pybimstab.slipsurface import CircularSurface, TortuousSurface
from pybimstab.slices import MaterialParameters, Slices
from pybimstab.slopestabl import SlopeStabl
terrainCoords = array(
    [[-2.49, 0.1, 1.7, 3.89, 5.9, 8.12, 9.87, 13.29, 20.29,
      21.43, 22.28, 23.48, 24.65, 25.17],
     [18.16, 17.88, 17.28, 15.73, 14.31, 13.58, 13, 3.61, 3.61,
      3.32, 2.71, 2.23, 1.21, 0.25]])
slope = NaturalSlope(terrainCoords)
bim = BlocksInMatrix(slopeCoords=slope.coords, blockProp=0.25,
                     tileSize=0.4, seed=12345)
watertabDepths = array([[0, 5, 10, 15],
                        [8, 7, 3, 0]])
watertable = WaterTable(slopeCoords=slope.coords,
                        watertabDepths=watertabDepths,
                        smoothFactor=3)
preferredPath = CircularSurface(
    slopeCoords=slope.coords, dist1=5, dist2=15.78, radius=20)
surface = TortuousSurface(
    bim, dist1=4, dist2=15.78, heuristic='euclidean',
    reverseLeft=False, reverseUp=False, smoothFactor=2,
    preferredPath=preferredPath.coords, prefPathFact=2)
material = MaterialParameters(
    cohesion=15, frictAngle=23, unitWeight=17,
    blocksUnitWeight=21, wtUnitWeight=9.8)
slices = Slices(
    material=material, slipSurfCoords=surface.coords,
    slopeCoords=slope.coords, numSlices=15,
    watertabCoords=watertable.coords, bim=bim)
stabAnalysis = SlopeStabl(slices, seedFS=1, Kh=0, maxLambda=1)
fig = stabAnalysis.plot()

参考文献

D.G.Fredlund和J.Krahn。边坡稳定性分析方法比较。 加拿大岩土工程杂志,14(3)(3):429–4391977。

哈特、尼尔森和拉斐尔。启发式的形式基础 最小成本路径的确定。系统科学和 控制论,ssc-4(2):100-1071968。

历史记录

0.1.0(2018-07-15)

  • pypi上的第一个版本。

0.1.1(2018-07-22)

  • 解决切片结构定义的相关问题。

0.1.2(2018-08-04)

  • 调整收敛图中的插值并附加参数以控制lambda值的数量。

0.1.3(2018-10-06)

  • 添加bishop和fellenius方法。
  • 用收敛来解决一些问题。 解决小问题。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android java。伊奥。FileNotFoundException没有这样的文件或>目录,尽管已授予权限   java机器人将鼠标保持在窗口中   java我无法找到程序发送异常的原因   java创建按钮以更改背景   java如何在POJO类中使用HashMap并检索它?   java不可解PMD冲突:可以组合这些嵌套的if语句   java我正在努力提高Springboot+MyBatis中API的性能,仅用于Select查询   java在Spring中实例化Util类   java集合。洗牌(a)魔术?   java Jackson如何在没有已知属性的情况下失败,这与反序列化功能不同。在未知属性上失败   java spring rest@RequestBody未使用@Valid进行验证   如何匹配这种模式?(Java/regex)   java只有一个google play依赖项,但所有google play库都在应用程序外部库上   计算器如何在Java中使用按钮将两个输入放在两个单独的文本字段中?   java我正在尝试从文件中计算字符数   java如何获取工具。Windows上OpenJDK 11的jar?   java在本地时区上独立解析ZoneDateTime   java防止安卓键盘造成延迟   java在服务器上处理Excel文件