当前位置: 首页 > news >正文

极限平衡法和应力状态法无限坡模型安全系数计算

极限平衡法和应力状态法无限坡模型安全系数计算

  • 1. 极限平衡法
    • 封装函数
  • 2. 应力状态法
    • 封装函数
  • 3. 计算z值变化时的结果——极限状态法和应力系数法对比

基于应力状态法的波致海底缓倾角无限坡滑动稳定性计算分析探讨——论文复现python程序代码

参考文献:
刘小丽:波致海底缓倾角无限坡滑动稳定性计算分析探讨
顾小芸:粘质海底稳定性实例分析

在这里插入图片描述

rw为水的容重,d为水深,k=2pi/L为波数,L为波长,z为海床面以下的深度
已知海水的密度ρ≈10094牛/m³

在这里插入图片描述

1. 极限平衡法

#角度要转换为弧度
beta=np.deg2rad(1.8);
gammap=9400;
G=3.5*10e6;
u=0.35;
cp=1800;
phip=np.deg2rad(6);
H=5.2;
T=8.6;
depth=8;
L=70.6;
rhow=10094
from __future__ import print_function, division
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline
omega=1/T
#计算p0
p0=rhow*H/(2*np.cosh((2*np.pi)/L*depth))
print(p0)
20757.329154445302
#计算taopxz-m,计算海床面以下1.5m处的,z=1.5m
z=4
k=2*np.pi/L
taop=p0*k*z*np.exp(-k*z)
print(taop)
5176.10500297963
0.5*gammap*z*np.sin(2*beta)
1180.4617671510914
gammap*z*(np.cos(beta)**2)*np.tan(phip)
3948.020141038497
#计算F
F=(cp+gammap*z*(np.cos(beta)**2)*np.tan(phip))/(0.5*gammap*z*np.sin(2*beta)+taop)
print(F)
0.9042648884061498

封装函数

def FS_LIMIT(z,L,beta,gammap,cp,H,rhow,depth,phip):k=2*np.pi/Lp0=rhow*H/(2*np.cosh(k*depth))taop=p0*k*z*np.exp(-k*z)F=(cp+gammap*z*(np.cos(beta)**2)*np.tan(phip))/(0.5*gammap*z*np.sin(2*beta)+taop)return F
FS_LIMIT(z,L,beta,gammap,cp,H,rhow,depth,phip)
array([2.22448458, 1.40392622, 1.14407322, 1.02485479, 0.96226252,0.92829776, 0.91096398, 0.90426489, 0.90487034, 0.91078271,0.92073066, 0.93386596, 0.94960023, 0.96751162, 0.98728879,1.0086959 , 1.03154989, 1.05570539, 1.08104432, 1.10746866,1.13489523, 1.16325195, 1.19247502, 1.22250685, 1.25329451])

2. 应力状态法

#计算K0
K0=u/(1-u)
print(K0)
0.5384615384615384

在这里插入图片描述

tao=0.5*(1-K0)*gammap*z*np.sin(2*beta)+taop*np.cos(2*beta)
segmap=0.5*(1+K0)*gammap*z+0.5*(1-K0)*gammap*z*np.cos(2*beta)-taop*np.sin(2*beta)
print(tao,segmap)
5710.719650040857 37257.867752086866

在这里插入图片描述

np.tan(phip)
0.10510423526567647
F_s=(cp+segmap*np.tan(phip))/tao
print(F_s)
1.0009175809693098

封装函数

def FS_STRESS(z,L,beta,gammap,cp,H,rhow,depth,phip,u):k=2*np.pi/Lp0=rhow*H/(2*np.cosh((2*np.pi)/L*depth))taop=p0*k*z*np.exp(-k*z)K0=u/(1-u)tao=0.5*(1-K0)*gammap*z*np.sin(2*beta)+taop*np.cos(2*beta)segmap=0.5*(1+K0)*gammap*z+0.5*(1-K0)*gammap*z*np.cos(2*beta)-taop*np.sin(2*beta)F=(cp+segmap*np.tan(phip))/taoreturn F
FS_STRESS(z,L,beta,gammap,cp,H,rhow,depth,phip,u)
1.0009175809693098

3. 计算z值变化时的结果——极限状态法和应力系数法对比

from __future__ import print_function, division
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.size'] =14
# %matplotlib inline
z=np.arange(0.5,13,0.5)
limit=np.zeros_like(z)
stress=np.zeros_like(z)
#角度要转换为弧度
beta=np.deg2rad(1.8);gammap=9400;G=3.5*10e6;u=0.35;cp=1800;phip=np.deg2rad(6);H=5.2;T=8.6;depth=8;L=70.6;rhow=10094;
fig,ax=plt.subplots(1,1,figsize=(4,5))
for i,j in enumerate(z):limit[i]=FS_LIMIT(j,L,beta,gammap,cp,H,rhow,depth,phip)stress[i]=FS_STRESS(j,L,beta,gammap,cp,H,rhow,depth,phip,u)
plt.plot(limit,z,'-ro',label='极限平衡法',lw=3,ms=8,mfc='none')
plt.plot(stress,z,'-g^',label='应力状态法',lw=3,ms=8,mfc='none')
plt.plot([1,1],[z.min(),z.max()],'--k')ax=plt.gca()
ax.xaxis.tick_top()
ax.invert_yaxis()
ax.set_title('安全系数',fontsize=14)
ax.set_ylabel('潜在滑动面深度/m')
plt.legend()
plt.show()
# fig.savefig(r'depth.svg',bbox_inches='tight')

在这里插入图片描述

#z=4m,泊松比变化
from __future__ import print_function, division
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.size'] =14
# %matplotlib inline
u=np.arange(0.3,0.5,0.02)
limit=np.zeros_like(u)
stress=np.zeros_like(u)
#角度要转换为弧度
beta=np.deg2rad(1.8);gammap=9400;G=3.5*10e6;z=4;cp=1800;phip=np.deg2rad(6);H=5.2;T=8.6;depth=8;L=70.6;rhow=10094;
fig,ax=plt.subplots(1,1,figsize=(4,3))
for i,j in enumerate(u):limit[i]=FS_LIMIT(z,L,beta,gammap,cp,H,rhow,depth,phip)stress[i]=FS_STRESS(z,L,beta,gammap,cp,H,rhow,depth,phip,j)
plt.plot(u,limit,'-ro',label='极限平衡法',lw=3,ms=7,mfc='none')
plt.plot(u,stress,'-g^',label='应力状态法',lw=3,ms=8,mfc='none')
# ax=plt.gca()
# ax.xaxis.tick_top()
# ax.invert_yaxis()
plt.xlabel('泊松比')
plt.ylabel('安全系数')
plt.legend()
plt.show()
fig.savefig(r'possion ratio degree.svg',bbox_inches='tight')

在这里插入图片描述

#z=4m,坡度变化0.3~4
from __future__ import print_function, division
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.size'] =14
# %matplotlib inline
beta=np.arange(0.3,4,0.3)
limit=np.zeros_like(beta)
stress=np.zeros_like(beta)
#角度要转换为弧度
# beta=np.deg2rad(1.8);
gammap=9400;G=3.5*10e6;z=4;cp=1800;phip=np.deg2rad(6);H=5.2;T=8.6;depth=8;L=70.6;rhow=10094;u=0.35
fig,ax=plt.subplots(1,1,figsize=(4,3))
for i,j in enumerate(beta):limit[i]=FS_LIMIT(z,L,np.deg2rad(j),gammap,cp,H,rhow,depth,phip)stress[i]=FS_STRESS(z,L,np.deg2rad(j),gammap,cp,H,rhow,depth,phip,u)
plt.plot(beta,limit,'-ro',label='极限平衡法',lw=3,ms=7,mfc='none')
plt.plot(beta,stress,'-g^',label='应力状态法',lw=3,ms=8,mfc='none')
# ax=plt.gca()
# ax.xaxis.tick_top()
# ax.invert_yaxis()
plt.xlabel('坡角/°')
plt.ylabel('安全系数')
plt.legend()
plt.show()
fig.savefig(r'slope degree.svg',bbox_inches='tight')

在这里插入图片描述


文章转载自:
http://automania.hfytgp.cn
http://boutiquier.hfytgp.cn
http://booze.hfytgp.cn
http://aerophore.hfytgp.cn
http://bunkhouse.hfytgp.cn
http://andvar.hfytgp.cn
http://attendance.hfytgp.cn
http://biconditional.hfytgp.cn
http://augmented.hfytgp.cn
http://artiodactyl.hfytgp.cn
http://biopoesis.hfytgp.cn
http://anechoic.hfytgp.cn
http://browser.hfytgp.cn
http://chemisorption.hfytgp.cn
http://chartbuster.hfytgp.cn
http://albiness.hfytgp.cn
http://bloodily.hfytgp.cn
http://chalone.hfytgp.cn
http://accessories.hfytgp.cn
http://antrustion.hfytgp.cn
http://casket.hfytgp.cn
http://associationism.hfytgp.cn
http://ceremonially.hfytgp.cn
http://apathetic.hfytgp.cn
http://bucuresti.hfytgp.cn
http://boulder.hfytgp.cn
http://barquisimeto.hfytgp.cn
http://appraisable.hfytgp.cn
http://billiken.hfytgp.cn
http://aliform.hfytgp.cn
http://www.dtcms.com/a/262623.html

相关文章:

  • 阿里云-接入SLS日志
  • Wpf布局之Border控件!
  • ​扣子Coze飞书多维表插件-创建数据表
  • GPT,GPT-2,GPT-3 论文精读笔记
  • mapstate
  • 打通Dify与AI工具生态:将Workflow转为MCP工具的实践
  • 养老保险交得越久越好
  • 【ad-hoc】# P12414 「YLLOI-R1-T3」一路向北|普及+
  • 《弦论视角下前端架构:解构、重构与无限延伸的可能》
  • 商业秘密保护新焦点:企业如何守护核心经营信息?
  • 【硬核数学】2.1 升级你的线性代数:张量,深度学习的多维数据语言《从零构建机器学习、深度学习到LLM的数学认知》
  • STM32——MDK5编译和串口下载程序+启动模式
  • 信创背景下应用软件迁移解析:从政策解读到落地实践方案
  • 详细的说一下什么是Arduino?
  • 【硬核数学】2.5 “价值标尺”-损失函数:信息论如何设计深度学习的损失函数《从零构建机器学习、深度学习到LLM的数学认知》
  • OpenCV学习3
  • 《平行宇宙思维如何让前端错误处理无懈可击》
  • (七)集成学习
  • python 使用 pyenv 管理 python 版本
  • 常用指令合集(DOS/Linux/git/Maven等)
  • 高并发电商返利 APP 架构设计:从淘客佣金模型到分布式导购系统的技术落地
  • [分布式并行] 流水线并行 PP(NaivePP/GPipe/F-then-B/PipeDream/1F1B)
  • CppCon 2017 学习:Type Punning in C++17 Avoiding Pun-defined Behavior
  • 设计模式-外观模式、适配器模式
  • Oracle 递归 + Decode + 分组函数实现复杂树形统计进阶(第二课)
  • 基于Pandas和FineBI的昆明职位数据分析与可视化实现(三)- 职位数据统计分析
  • TCP/IP模型、OSI模型与C# Socket编程详解
  • (LeetCode 每日一题) 1498. 满足条件的子序列数目 (双指针)
  • Leetcode 3600. Maximize Spanning Tree Stability with Upgrades
  • ROS的可视化工具rviz介绍