首页/文章/ 详情

3DEC统计剪切和拉伸接触的数量

6月前浏览2470

1. 引言

有同学问'3DEC显示剪切和拉伸裂隙,并统计个数', 显示方法很简单,在Build Plot中选择Joint Subcontact, 然后选择State即可显示剪切和拉伸裂隙,统计个数需要使用FISH进行编程,原理很简单,对列表block.subcontact.list使用block.subcontact.state进行判别计数即可。

2. 状态指示器

(1) 连续屈服节理模型

(2) 摩尔-库伦模型

3. 命令和FISH

(1) block contact list state

(2) block.subcontact.state.string

(3) block.subcontact.list

(4) block.subcontact.fid

(5) block.subcontact.state

(6) math.and

(7) math.or

4. 代码

下面的代码统计了各种主要状态下的数量:

    model restore 'sample.sav'fish define state_statistics    local elastic_count = 0    local slip_n_count = 0 ;1    local tension_n_count = 0 ;2    local slip_p_count = 0 ;4    local tension_p_count = 0 ;8    local slip_n_p_count = 0 ;5     loop foreach local cx block.subcontact.list        b_state = block.subcontact.state(cx)        if b_state = 0 ; none            elastic_count + = 1        else if b_state = 1 ;Failure in shear now            slip_n_count = slip_n_count + 1        else if b_state = 2 ;Failure in tension now             tension_n_count = tension_n_count + 1        else if b_state = 4 ;Failure in shear in the past             slip_p_count = slip_p_count + 1        else if b_state = 8 ;Failure in tension now             tension_p_count = tension_p_count + 1        else if b_state = 5 ;slip_n, slip_p             slip_n_p_count = slip_n_p_count + 1        endif        endloop    io.out('none = '+ string(elastic_count))    io.out('slip-n = '+ string(slip_n_count))    io.out('tension-n = '+ string(tension_n_count))    io.out('slip-p = '+ string(slip_p_count))    io.out('tension-p = '+ string(tension_p_count))    io.out('slip-n, slip-p = '+ string(slip_n_p_count))end[state_statistics]

    来源:计算岩土力学
    ACT3DEC
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2024-01-14
    最近编辑:6月前
    计算岩土力学
    传播岩土工程教育理念、工程分析...
    获赞 134粉丝 956文章 1776课程 0
    点赞
    收藏
    未登录
    还没有评论
    课程
    培训
    服务
    行家
    VIP会员 学习 福利任务 兑换礼品
    下载APP
    联系我们
    帮助与反馈