首页/文章/ 详情

离散断裂网络DFN三维模型与二维模型的倾角(Dip)近似等效方法

1年前浏览980

1 引言

相同的数据在二维模型中生成的DFN与在三维模型中生成的DFN结果是完全不一样的。原因是

在二维空间内,倾角fdip(fracture.dip)的范围是在0到180°,而在三维空间内fdip的角度是在0到90°;且在二维空间内没法表示倾向。3DEC提供了一个命令block to-udec,可以使用原点、法线或倾角和倾角方向指定一个平面,然后把这个平面导出到UDEC。显然这种操作方法得出的DFN结果不是UDEC自身生成的DFN。 


block to-udec origin 0,25,0 dip 90 dip-direction 0

下图所示的是相同数据生成的300条断裂2D 和3D DFN模型。这个笔记简要讨论了二维模型和三维模型倾角近似等效的方法,也许这种方法并不具有实际意义。


2 等效方法 

对于一个生成的3D DFN模型,我们可以求出这个模型中所有断裂的平均倾角,这可以通过编写一个简单的FISH程序来实现,对fracture.list进行遍历,把每条断裂的倾角相加,再除以断裂总数,就可以得到整个模型断裂的平均倾角,例如得出的平均倾角为54°。


相同的模型在2D中运行,为了与3D模型得出的倾角相同,第一个过滤准则是只保留那些倾角小于90°(fracture.dip(frac)<90)的断裂,第二个过滤准则是保留那些倾角在54°左右的断裂,一个更精确的方法是在3D中求出倾角的平均值和标准偏差,然后在2D中使用这个值。这样就可以在2D中作出一个仅倾角近似3D的DFN模型。


3 断裂数目 

在生成2D DFN的过程中,为了与3D生成的断裂数目相同,需要用到断裂数目的判断方法。有三个不同层次的判断断裂数目的函数。dfn.num返回整个模型的DFN数目,不是断裂数目;dfn.fracturenum(PNT)返回指定DFN内的断裂数目; fracture.num返回整个模型的总断裂数。


4 UDEC的一个小Bug 

在试验上述模型的过程中,无意中发现了UDEC的一个小bug, 当取出一条断裂的倾角时,计算本身没有问题,但在FISH变量的显示面板中,无论如何改变断裂的ID,那个值始终不变。




[fp = fracture.find(5)][fdip = fracture.dip(fp)][io.out(fdip)]

我相信这是软件的一个Bug, 但为啥显示的是这条断裂的倾角,而不是其它断裂的倾角,目前还不知道是啥原因。


5 UDEC不能使用先进的遍历算法 

在上述试验过程中,也发现UDEC目前还不能使用新的遍历算法,只能使用loop foreach。








define find_dip     sum = 0    loop foreach fp fracture.list        fdip = fracture.dip(fp)        io.out(fdip)        sum = sum + fdipend_loop

新的循环算法只使用一句代码,目前在3DEC,FLAC3D和PFC 7.0 中能够使用,但还没有改进到UDEC中。


[fdip = fracture.dip(::fracture.list)]


6 3DEC新的改进(7.00.144)

刚刚看到3DEC 7.00.144 (12/02/2021)出来了,简要描述新版的改进之处。

(1) 增加了range jmodel 命令。我怎么记得早期的版本就有这个命令呢。

(2)增加了使用FISH函数获取有限元高斯点的数据,这个功能是为了从外部有限元程序导入网格。

(3) 修正了在所有自由度不固定的情况下用刚性块求解的问题。

(4) 修正了DFN与几何体相交的计算。

(5) 修正了block dynamic eigen命令。

(6) 修正了命令转换工具。

(7) 修正了删除已开挖和填充的块。

(8) 修正了子接触绘图命令。

(9) 修正了block.face.next fish函数。


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