首页/文章/ 详情

二维边坡稳定性分析模块pyCSS

1年前浏览291

1 引言

在过去的文章中,曾经介绍过一个二维边坡稳定性分析模块pyslope【二维边坡稳定性分析模块pyslope;学习工具pyslope---二维边坡稳定性分析软件】, pyslope使用了Bishop方法进行边坡稳定性分析。本文为大家介绍另一个与之类似的二维边坡稳定性分析模块pyCSS (V0.1.0, 10/8/2022),这个模块提供了两种计算方法: Fellenius 和 Bishop。Fellenius方法求解的条件是力矩平衡,但力不平衡;简化的Bishop方法求解的条件是力矩平衡,力仅在x方向平衡,在y方向不平衡。应当指出的是在目前实践的边坡稳定性分析中,Ordinary/Fellenius 方法已经很少使用,4种流行的分析方法分别为: GLE/M-P, 简化的Janbu, 简化的Bishop和Spencer方法。

本文描述了pyCSS模块的安装方法和使用方法,计算结果的精度没有与标准的极限平衡法软件进行比较,有兴趣的同学可以检查其结果的可靠性。

2 安装pyCSS

为了方便起见,pyCSS安装在pyslope环境下面,由于这两个模块使用的库很简单,二者不会发生冲突。pyCSS使用的库包括numpy, matplotlib和scipy。使用下面的命令行安装。


pip install pycss-lem

计算结果函数有两个,一个是get_fos,计算指定滑动面的安全系数;另一个是get_min_fos,计算所有滑动面中的最小安全系数。


from pycss_lem import get_fos, get_min_fos


3 试验pyCSS
使用Jupyter Notebook进行了试验:
(1) 边坡几何形状






slopeHeight = [5, 'm']slopeDip = [1.5, 1.0]crownDist = [10, 'm']toeDist = [5, 'm']wantAutomaticToeDepth = FalsetoeDepth = [5, 'm']
上述变量的具体含义参看下图。
(2) 地下水位



wantWatertable = TruewtDepthAtCrown = [4.0, 'm']toeUnderWatertable = False
(3) 材料性质




waterUnitWeight = [9.8, 'kN/m3']materialUnitWeight = [17, 'kN/m3']frictionAngleGrad = [27, 'degrees']cohesion = [5, 'kPa']
(4) 计算方法
 





wantConstSliceWidthTrue = TruenumSlices = 15  # Number of discretizations of slip surfacenDivs = numSlices  # Number of discretizations of circular arcsmethodString = 'Allm'  # Select the method to calcualte Fs ['Flns', 'Bshp' or 'Allm']outputFormatImg = '.svg'

(5) 单一滑动面的安全系数




hztDistPointAtCrownFromCrown = [-5, 'm']hztDistPointAtToeFromCrown = [7.5, 'm']slipRadius = [12, 'm']


 



























%matplotlib inlinemsg = get_fos(    projectName,    projectAuthor,    projectDate,    slopeHeight,    slopeDip,    crownDist,    toeDist,    wantAutomaticToeDepth,    toeDepth,    hztDistPointAtCrownFromCrown,    hztDistPointAtToeFromCrown,    slipRadius,    wantWatertable,    wtDepthAtCrown,    toeUnderWatertable,    waterUnitWeight,    materialUnitWeight,    frictionAngleGrad,    cohesion,    wantConstSliceWidthTrue,    numSlices,    nDivs,    methodString,    outputFormatImg)

(6) 最小滑动面的安全系数






numSlices = 8  # Number of discretizations of slip surfacenumCircles = 500  # Number of surfaces to assessradiusIncrement = [3, 'm']  # Length of radius incrementnumberIncrements = 5  # Number of radius incrementmaxFsValueCont = 3  # Mask to plot fs at screen






























%matplotlib inline get_min_fos(    projectName,    projectAuthor,    projectDate,    slopeHeight,    slopeDip,    crownDist,    toeDist,    wantAutomaticToeDepth,    toeDepth,    numCircles,    radiusIncrement,    numberIncrements,    maxFsValueCont,    wantWatertable,    wtDepthAtCrown,    toeUnderWatertable,    waterUnitWeight,    materialUnitWeight,    frictionAngleGrad,    cohesion,    wantConstSliceWidthTrue,    numSlices,    nDivs,    methodString,    outputFormatImg,)


来源:计算岩土力学
材料试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-12-03
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 143粉丝 1040文章 1776课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈