首页/文章/ 详情

离散断裂网络 (DFN) [P2]: fracture generate

1年前浏览1482

1 引言

在《离散断裂网络Discrete Fracture Network (DFN)[P1]》中,简要介绍了DFN的特性以及两个重要的术语:Fracture和Intersection, 同时引入了生成确定性断裂的命令fractue create以及计算相交的命令fracture intersections compute,本文接着介绍随机产生的断裂网格。

2 生成随机断裂网格DFN

一个DFN是一组断裂。在文章【P1】中,使用四个fractue create命令创建出4条断裂,形成一个DFN。可以同时存在多个DFN, 尽管一条断裂只能属于一个DFN。下图所示的是两组确定性的DFN,其中一组DFN是垂直的,另一组DFN是水平的。DFN分组对于计算是有用的,因为可以对不同组设置不同的断裂属性。

通常的情况是我们不能直接确定岩体中断裂的大小、方向和频率,而是使用地质测绘或地球物理技术来断裂的特征。在检查现场数据后,可以确定出断裂尺寸(size)、位置(position)和方向(dip, dip-direction)的边界(domain)。断裂模板(Fracture Template)包含了这些统计参数,使用fracture generate命令产生随机断裂(上篇文章已经使用过这个命令fracture generate fracture-count 400) 。断裂模板包含了断裂的大小、位置和方向分布的描述。为了使用断裂模板,采用fracture template create命令。断裂模板是一组断裂的随机表示,能够用来产生任意数目的断裂。

3 生成随机的DFN

fractue create命令不同,fracture generate命令从一个统计描述中生成断裂,在生成之前必须首先指定模型域(model domain extent)。如果不指定断裂生成模板,也就是不使用fracture template create命令,那么就使用系统默认的模板(上一篇的例子就没有使用fracture template create命令)。可以使用fracture template modify-default 命令改变默认的模板参数,如果不提供modify关键字,并且模板不是默认值, 那么DFN 可以链接到断裂模板,在满足指定的停止条件之前生成断裂。这些条件包括:

  • 目标断裂数目 (fracture-count);

  • 目标 P10 (p10);

  • 目标密度 (P21 in 2D; P32 in 3D) (mass-density);

  • 目标渗透量 (percolation);

  • 连接阈值处的 DFN (connectivity-threshold); 

  • 用户定义的准则 (fish-stop)

此外,在每个断裂生成之后,可以调用用户定义的 FISH 函数来修改断裂,跳过或添加/计算特定数量 (modify)。然后可以使用fracture attribute命令修改断裂特征,使用fracture property命令分配属性。用于接触模型的按照断裂生成顺序分配断裂优势(fracture contact-model命令)。注意:指定的DFN必须不存在或为空。如果未指定DFN,则使用下一个可用ID创建DFN,DFN 名称为 dfn XX,其中 XX 是 ID。

3.1 实例1---fracture generate

为了生成一个DFN,首先需要使用fracture template create命令指定断裂随机分布的参数,这些参数如下所示。

然后使用fracture generate 命令产生出一个DFN。如下面的例子所示。

model new

model random  10000

model domain extent -50 50

; ---生成 DFN ---

fracture template create 'dfn_template' size power-law 3 size-limits 2 20 ...

  position uniform orientation uniform

fracture generate dfn 'my_dfn' template 'dfn_template' mass-density 0.1

; merge sub-parallel fractures that are close together

fracture combine angle 10 distance 0.1 merge

3.2 实例2---fracture combine

fracture combine 命令用来合并小的断裂。在这个例子中,合并了角度小于10度和距离小于0.1的断裂。去掉和合并小的断裂有助于划分单元,因为我们的目的是要进行力学计算。

下面的例子首先合并了角度<20度的断裂,然后把角度小于50的断裂投影在同一平面上面,但不合并。在没有合并之前,共有400条断裂,使用第一个combine命令后,只剩下178条断裂,使用第二个combine命令后只剩下152条断裂。如图所示。

model new

model domain extent -5 5 

fracture template create 'default' orientation gauss (50,20)

fracture generate dfn 1 fracture-count 400

fracture combine angle 20 distance 0.5 merge

fracture combine angle 30 distance 0.5 collapse

return 

3.3 实例3---stop停止条件

下面的例子演示了三种阻止断裂继续生成的方法。第一层使用了mass-density关键字,第二层使用了p10关键字,第三层使用了fish-stop关键字。

这段代码的运行结果如下图所示。

4 DFN 2D和3D命令差异

尽管2D和3D的命令格式相同,但是毕竟一个在二维空间,另一个在三维空间,因此个别命令还是不一样的。本节仅就上面例子中出现的命令简要说明一下二者的区别。(1) geometry

geometry在2D是由线组成的,而在3D是由面组成的,因此

2D: geometry edge create by-position (-5,3) (5,3) 

3D: geometry polygon create by-positions (-5,-5,3) (-5,5,3) (5,5,3) (5,-5,3)

(2) fracture.geomp

fracture.geomp10 是geometry线段每单位长度上切割断裂的数目,只在2D上使用;fracture.geomp20 是geometry多边形每单位面积上切割断裂的数目,只能在3D上使用;fracture.geomp21是fracture.geomp20中切割长度的总和,只能在3D上使用。下面的例子演示了这个函数的用法。

把四个DFN得到的切割数相加,与geometry求出的切割数进行比较,可以看出,二者结果相等。顺便说一下,model random 10000这个语句一定要有,否则每次运行得出的结果不一样。

5 结束语

本文描述了断裂模板fracture template create命令和fracture generate命令的使用方法,这是DFN的核心命令。下一篇将继续讨论DFN各个函数的使用方法。

本文相似文档:

UDEC: 岩体边坡阶梯状节理模拟---一个操作指导

FLAC3D 7.0 新特性简介(P2)---FISH的显著改进

3DEC的编程变化(1)

笔记本电脑需要更换了?--3DEC运行速度比较

FLAC3D与Python的集成 (1)---简述

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

课程
培训
服务
行家

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