首页/文章/ 详情

HYRCAN使用Python进行边坡稳定性的参数化分析

1年前浏览784

1 引言

Python语言运用在数值模拟中的一个非常重要的功能是进行参数化分析,本质上是利用Python语言的循环函数自动化多个计算。HYRCAN是一个免费的LEM边坡稳定性分析软件【HYRCAN---一个免费的边坡稳定性分析框架(极限平衡法LEM)】,它能够使用JS语言进行自动化分析【HYRCAN脚本描述以及与SLIDE计算结果比较】。在最新的V2.0版本中,HYRCAN增加了使用Python调用JS命令的功能。下面简要描述如何在HYRCAN中使用Python进行参数化分析。

2 hyrcan模块 

HYRCAN模仿了Itasca软件中itasca模块的编程方法,因此在Itasca软件中发展的编程技巧完全可以用于HYRCAN。

    import hyrcan as hynewmodel()set('failureDir','r2l')extboundary(0,0,130,0,130,50,80,50,50,30,0,30,0,0)matboundary(0,20,130,35)matboundary(56,34,130,42)definemat('ground','matID',1,'matName','Sand','uw',18,'cohesion',5,'friction',38)definemat('ground','matID',2,'matName','Clay','uw',17,'cohesion',57,'friction',0)assignsoilmat('matid',2,'atpoint',85,30)definelimits('limit',20,65,'limit2',80,100)set('Method','BishopSim','on')""")

    hyrcan模块有如下函数:

    (1) hy.command---执行JS命令

    (2) hy.min_fos---取出安全系数。分析方法可以是 "Bishop Simplified", "Janbu Simplified", "Spencer", "GLE/Morgenstern-Price" ;或者使用短语 "BishopSim", "JanbuSim", "Spencer", "GLE/M-P"

    (3) hy.surf_id_list---基于设定的类型返回全部或有效的滑动面

    (4) hy.surf_fos---返回特定滑动面id和计算方法的安全系数

    (5) hy.surf_center---返回特定滑动面id的圆中心

    (6) hy.surf_radius---返回特定滑动面id的半径

    3 参数化分析

    下面对粘土层的粘结力进行参数化分析,变化范围使用数组coh_array = [60,70,80,90]定义,对每个粘结力值循环进行安全系数计算。下面所示的代码并不是最佳的写法,可以使用Python强大的循环函数写出更职业化的代码。

      fos_array = [-1,-1,-1,-1]coh_array = [60,70,80,90]cmd = "definemat('ground','matID',2,'matName','Clay','uw',17,'cohesion',{coh},'friction',0)"for i in range(0, 4):    hy.command(cmd.format(coh=coh_array[i]))    hy.command("compute('silence')")    fos_array[i] = hy.min_fos('BishopSim')

      使用XlsxWriter模块把数组coh_array和fos_array的计算结果写入Excel文件,然后进行作图。

        worksheet.write_column('A2', coh_array)worksheet.write_column('B2', fos_array)

        来源:计算岩土力学
        科普通用
        著作权归作者所有,欢迎分享,未经许可,不得转载
        首次发布时间:2022-11-27
        最近编辑:1年前
        计算岩土力学
        传播岩土工程教育理念、工程分析...
        获赞 122粉丝 880文章 1732课程 0
        点赞
        收藏
        未登录
        还没有评论

        课程
        培训
        服务
        行家

        VIP会员 学习 福利任务 兑换礼品
        下载APP
        联系我们
        帮助与反馈