二维边坡稳定性分析模块pyCSS
二维边坡稳定性分析模块pyCSS
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
slopeHeight
= [
5
,
’m’
]
slopeDip
= [
1.5
,
1.0
]
crownDist
= [
10
,
’m’
]
toeDist
= [
5
,
’m’
]
wantAutomaticToeDepth
=
False
toeDepth
= [
5
,
’m’
]
wantWatertable
=
True
wtDepthAtCrown
= [
4.0
,
’m’
]
toeUnderWatertable
=
False
waterUnitWeight
= [
9.8
,
’kN/m3’
]
materialUnitWeight
= [
17
,
’kN/m3’
]
frictionAngleGrad
= [
27
,
’degrees’
]
cohesion
= [
5
,
’kPa’
]
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,
)
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
