首页/文章/ 详情

提高块体划分的质量(Block Quality Metrics)

1年前浏览660

1 引言

块体和单元的划分质量直接影响着模拟是否能顺利进行,3DEC在运行时出现的大多数错误信息与块体的差的几何形状的有关(bad block geometries)。尽管一个项目使用的划分方法不能完全照搬到另一个项目中,但必须遵守一些通用的规则。3DEC提供了非常强大的以任何角度和任何尺寸切割块体的能力。第一种方法是似随机方法,多次使用block cut joint-set命令即可产生出任意角度和任意尺寸的块体;第二种方法是真随机方法,使用断裂模板产生离散断裂网络fracture template create和fracture generate dfn (离散断裂网络 (DFN) [P2]: fracture generate)。不过,无论使用哪种方法,都会产生一些非常薄或者非常小的块体,这导致了当块体发生大变形时(小应变和大应变),系统会出现错误信息,如显示负体积单元(negative volume zone) 或坏的面法线向量(bad face normal)。因此在运行之前,需要检查块体的几何形状是否合适。

Cubit提供了非常强大的网格质量控制功能【sculpt parallel 网格质量控制(12)Griddle与Cubit网格生成质量的比较】,不过由于目前Cubit网格转换到3DEC网格时还存在一些暂时解决不了的问题,因此需要配合使用3DEC内置的检查功能。

2 检查方法

第一步是识别坏块(bad blocks)。通过range设定检查变量的上下限,使用block group命令识别那些有问题的块体。可以同时设定5种变量从不同角度进行检查。
(1) range volume fl fu
体积检查---选择体积在指定下限和上限内的块体,这个选项用来识别体积非常小的块体。
(2) range edge-length fl fu
边长检查---选择最小边的长度在指定上限和下限之间的块体,这个选项用来识别体积大但可能有非常小的边长的块体,如果边长非常小,那么很难划分单元。
(3) range aspect-ratio fl fu
长宽比检查---选择最大长宽比在指定上限和下限之间的块体,长宽比是最大边长除以体积的立方根。一般来说,很难划分长宽比大于10的块体,并且在计算时可能会引起数值问题。解决方法是将这些长而薄的块体切割成具有较好长宽比的短块的组合。
(4) range face-area fl fu
块体面的面积检查---选择指定上限和下限之间的最小面面积的块体。这个选项与边长检查类似,有助于识别体积可能不太小,但有非常小的面的块体。
(5) range concave
凸凹性检查---选择呈凹陷(concave)的块体。这是由于在切割块体的操作中,可能会导致某些块体略微凹陷。尽管这些凹陷的块体仍然可以划分成单元并且能够运行,但凹面块体之间的接触检测和力的计算可能不准确。
一旦识别出来,如果在大应变下运行,具有不良几何形状的块体通常可以被删除。如果在小应变下运行,则不建议这样做,因为这样做会在模型中留下无法关闭的空隙。如果坏的块体成功地划分成单元,它们可以设置为弹性以防止虚假的塑性变形;如果它们没有被成功地划分成单元,就设置成刚性体。事实上这个途径在实践中是行不通的,因为3DEC不可以随机地把刚性块体和变形块体混合在一起进行计算。

3 试验例子

下面显示的例子是由DFN产生的块体模型,共有2390个块体,然后使用上述准则进行检查,结果发现face-area,edge-length,aspect-ratio这三项都有问题:

    model newmodel random 10000model domain extent -50 50 -50 50 -50 50; -- Generate DFN --fracture template create 'dfn_template' size power-law 3 size-limits 1 100fracture generate template 'dfn_template' dfn '99' mass-density 0.1; create blockblock tolerance 0.001block create brick -20 20 -20 20 -20 20block cut dfn name '99';; --- find and group bad blocks ---;block group 'bad_face' slot '1' range face-area 0 0.0001block group 'bad_edge' slot '2' range edge-length 0 0.005block group 'bad_aspect' slot '3' range aspect-ratio 10 1000block group'bad_volume' slot '4' range volume 00.001

    为了得到合适尺寸的块体,一种方法是试着使用fracture combine angle命令合并其中的一些小的断裂,另一种方法是阻止断裂继续生成,这包括使用mass-density, p10和fish-stop关键字。在fish-stop中,可以联合使用下面的FISH函数改善块体的生成:

    fracture.area

    fracture.len

    fracture.ddir

    fracture.dip

    fracture.density

    fracture.diameter

    4 其它途径

    还有其它一些块体检查方法,例如:

    (1) 使用z.vol检查块体的体积[it.zone.near((5,5,5))>z.vol()];

    (2) 使用block zone list命令,其中ratio, state和metric三个关键字可以检查单元生成质量。

    来源:计算岩土力学
    断裂通用3DEC控制试验
    著作权归作者所有,欢迎分享,未经许可,不得转载
    首次发布时间:2023-02-27
    最近编辑:1年前
    计算岩土力学
    传播岩土工程教育理念、工程分析...
    获赞 125粉丝 886文章 1776课程 0
    点赞
    收藏
    未登录
    还没有评论

    课程
    培训
    服务
    行家

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