首页/文章/ 详情

三种生成预制裂隙的方法

1年前浏览3097

预制裂隙的裂纹扩展也是近年比较热的研究课题,因为岩石往往不会是一个完整的,所以研究含裂隙的岩石非常有必要。但是随机裂隙又不是特别的规律性,所以预制裂隙的研究就显得尤为重要。


    这里介绍三种预制裂隙的方法。


一、删除颗粒形成预制裂隙


    这个是最简单也是最直接的方法,直接根据裂隙的角度、长度、厚度,在我们需要加裂隙的地方删除原本存在的颗粒。注意这个裂隙的平整度对颗粒数要求比较高,如果裂隙厚度大于颗粒粒径很多的话,效果会比较好点。


    下面为在已经加胶结的试样中删除颗粒的方法:


    restore jiajiaojie[houdu=10e-3]
    ball delete range plane origin 0 0  dip 30 distance [houdu*0.5] x [-wlx*0.1*math.cos(30*math.degrad)] [wlx*0.1*math.cos(30*math.degrad)]cycle 1 solvesave addliexi


        这里的裂隙都为角度为30,厚度为10mm,长度为0.1*wlx的裂隙。


        这里的逻辑也比较简单,range后面加多个条件是取交集的意思,这里其实有两个range。


        第一个range是一个plane,plane可以指定某个半平面,还有个用法,是指定这个plane线附近的区域。这里就是第二个用法,origin和dip确定直线,distance确定的是离这个直线的距离,我们试一下不加后面x条件下是什么效果:这里因为厚度没有比粒径大很多,导致某些颗粒没删除,可以看出不加x条件的话,删除了有厚度的线区域。


    640.png


        加了x条件取了交集后,就是我们想要的区域了:


    image.png


    二、使用dfn施加sj模型


        在PFC手册里面也有一个使用dfn加滑裂面的例子,这里道理一样,先生成我们所需要的dfn,然后在dfn某距离内生成sj模型就可以了。这个逻辑也不难,sj模型我了解的不深,所以这里我也不敢多讲。




      restore jiajiaojie[houdu=10e-3]dfn addfracture dip 30 position 0 0 size [wlx*0.2]dfn property sj_kn 2e9 sj_ks 2e9 sj_fric 0.70 sj_coh 0.0 sj_ten 0.0 sj_large 1dfn model name smoothjoint install dist [houdu*0.5]cycle 1 solvesave addliexi


          效果如下:



      image.png



      三、直接生成预制裂隙的胶结材料


          这个方法是我比较推荐使用的,应该也没多少人会去用,这个方法的优点在于:


      1)裂隙平整,且不会受粒径影响

      2)不会像第二个方法一样在裂隙中间还存在颗粒


          这个方法的逻辑是在预压的时候,在裂隙位置生成wall,然后删除wall内的颗粒,并且继续伺服,之后生成胶结,删除这个wall。


          这部分代码可能比较复杂,这里的长度和角度忘了和前面统一了,用户可以自己修改一下。


          逻辑是根据裂隙的长度厚度和角度找到wall的四个节点,生成wall后平衡。

      image.png

      image.png

          运行完后,试样中间的蓝色就是我们的墙,这个是个矩形,因为比较薄,所以看上去像一条线。



      之后加胶结并删除墙:



        restore liexi[pb_coh=10e6][ten_coh=2.7]cmat default type ball-facet model linear method deformability emod 10e8 kratio 1.5
        cmat default type ball-ball model linearpbond method deformability ...            emod 12e8 kratio 1.5 pb_deformability emod 54e8 kratio 1.5 ...    property pb_coh [pb_coh] pb_ten [pb_coh*ten_coh] pb_fa 50 fric 0cmat applycleancycle 1solvecontact method bond gap [rdmin*0.2]wall delete walls range id 5cycle 1 solvesave jiajiaojie


        image.png

        之后加胶结并删除墙:



          restore liexi[pb_coh=10e6][ten_coh=2.7]cmat default type ball-facet model linear method deformability emod 10e8 kratio 1.5
          cmat default type ball-ball model linearpbond method deformability ...            emod 12e8 kratio 1.5 pb_deformability emod 54e8 kratio 1.5 ...    property pb_coh [pb_coh] pb_ten [pb_coh*ten_coh] pb_fa 50 fric 0cmat applycleancycle 1solvecontact method bond gap [rdmin*0.2]wall delete walls range id 5cycle 1 solvesave jiajiaojie



          image.png


          四、效果比较:


          方法一:

          image.png


          方法二

          image.png


          方法三:

          image.png


          对上述三个方法进行评价:


          如果生成宽裂隙,方法1和方法3都很好,方法2不太行。


          如果生成窄裂隙,方法2和方法3都可以,方法1不太行。


          综上:方法3大家可以好好学一下。


          材料代码&命令科普结构基础PFC
          著作权归作者所有,欢迎分享,未经许可,不得转载
          首次发布时间:2022-07-18
          最近编辑:1年前
          lobby
          硕士 |擅长颗粒流PFC
          获赞 828粉丝 4381文章 85课程 21
          点赞
          收藏

          作者推荐

          未登录
          3条评论
          CAE小韩
          签名征集中
          4月前
          如何改变裂隙位置呀
          回复
          money
          签名征集中
          6月前
          第三个方法生成新墙的代码没有看到,是不是您忘记放上去了
          回复
          聪明
          签名征集中
          6月前
          lobby,您好。请问一下,第三种方法的完整代码在哪里购买呢
          回复

          课程
          培训
          服务
          行家

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