首页 > 行业资讯 > 二维边坡稳定性分析模块pyCSS

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

时间:2022-10-09 来源: 浏览:

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

原创 GeotechWu 计算岩土力学
计算岩土力学

GeotechWu

计算岩土力学(Geomechanics)是一个综合的岩土工程(Geotechnical)信息源,旨在与岩土工程领域的学生,研究人员和岩土工程师分享先进的岩土工程教育理念,岩土工程分析和设计方法。

收录于合集

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 = False toeDepth = [ 5 , ’m’ ]

上述变量的具体含义参看下图。
(2) 地下水位

wantWatertable = True wtDepthAtCrown = [ 4.0 , ’m’ ] toeUnderWatertable = False

(3) 材料性质

waterUnitWeight = [ 9.8 , ’kN/m3’ ] materialUnitWeight = [ 17 , ’kN/m3’ ] frictionAngleGrad = [ 27 , ’degrees’ ] cohesion = [ 5 , ’kPa’ ]

(4) 计算方法

wantConstSliceWidthTrue = True numSlices = 15 # Number of discretizations of slip surface nDivs = numSlices # Number of discretizations of circular arcs methodString = ’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 inline msg = 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 surface numCircles = 500 # Number of surfaces to assess radiusIncrement = [3, ’m’] # Length of radius increment numberIncrements = 5 # Number of radius increment maxFsValueCont = 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, )

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐