首页 > 行业资讯 > Python in Itasca software---UCS的参数化研究

Python in Itasca software---UCS的参数化研究

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

Python in Itasca software---UCS的参数化研究

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

GeotechWu

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

收录于合集

1 引言

使用Python进行数值分析最广泛的一个用途是参数化研究,例如【 HYRCAN使用Python进行边坡稳定性的参数化分析 】。而在Itasca软件中,通过FISH函数的传递可以更灵活地进行参数化研究,这样作的好处是能够最大程度地把Python代码与Itasca命令实现分离,便于修改和扩充代码的功能。下面讨论手册中一个例子《 Uniaxial Compressive Strength of a Jointed Material Sample 》。这个例子使用ubiquitous-joint模型计算 带有节理面试件的单轴抗压强度, 试件的单轴抗压强度是岩石材料和节理属性的函数,如下图所示。在此省略了所有的过程模拟过程,仅把注意力集中在参数化研究上。

2 参数化研究

在Python代码中,使用range改变节理的角度beta,把beta传递给UCS计算代码ucs_test,从而得到19组数据。

betas = range(0,91,5) for beta in betas: it.command(f""" model new [global beta = {beta}] program call ’ucs_test’ """)

使用的主要Python函数:

(1) gp.force_unbal_y

(2) it.gridpoint.list

(3) gp.in_group

ucs = [] for beta in betas: filesav = f"./ucs_ {beta} .sav" if os.path.exists(filesav): it.command( f"model restore ’ {filesav} ’" ) sigmavs = [-gp.force_unbal_y() for gp in it.gridpoint.list() if gp.in_group( "bottom" )]         ucs.append(sum(sigmavs)/ 3.06 * 1e-3 )

3 绘图

使用matplotlib绘制参数化研究得到的计算结果【 FLAC3D与Python的集成 (2)---数据交换至Numpy 】。

import matplotlib.pyplot as plt

对曲线形状的控制试验了如下四种可以使用的类型:

plt.plot(betas,ucs, "r*--" ) plt.plot(betas,ucs, "bD-." ) plt.plot(betas,ucs, "go--" ) plt.plot(betas,ucs, "b*-" )

plt .xlabel (" Weak-plane angle [°] ") plt .ylabel (" Axial strength [kPa] ") plt .xlim (0,90) plt .ylim (3,10) plt .grid () plt .title (" UCS test using ubiquitous-joint model ") plt .show ()

GeotechWu

赞赏二维码 微信扫一扫赞赏作者 赞赏

已喜欢, 对作者说句悄悄话
最多40字,当前共

  人赞赏

1 / 3

长按二维码向我转账

赞赏二维码

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

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