FLAC3D和3DEC导入DFN模型的域范围(model domain extent)设置

1 引言

从Fracman导入DFN模型到FLAC3D或3DEC时,必须首先设置模型的域范围(model domain extent),这是因为DFN只能在模型域内产生,否则会出现错误信息:A domain must be specified before a dfn can be imported(在导入dfn之前必须指定一个域)。事实上,自从版本6.0开始,FLAC3D,3DEC,PFC都强制要求在代码运行开始之前使用这个命令,尽管在FLAC3D中,单元和结构与模型域没有关系,只有DFN会受到域的影响。而在PFC和3DEC中,块体,团块和球必须在指定的域边界条件内运动。对于DFN来说,如果断裂的几何形状超出限定的区域,则在与域边界相交处截断。model domain的使用方法曾经在《设置模型域 model domain》一文针对PFC的模拟讨论过,这个笔记着重讨论从外部模型输入DFN时的一些注意事项。


2 model domain命令

模型域model domain 用来设定处理问题的域或者称作范围。模型域是域是固定的, 它不会随着模型组件的扩展或分散而自动增长,尽管它的大小可以用extent命令重新指定。

用户必须在创建模型组件的任何实例之前指定域范围和边界条件。这一步是通过model domain命令来执行的,它接受两个关键字:extent和condition。extent关键字用于指定模型域的范围,独立于每个全局坐标系方向。除非用户进一步修改,否则域的范围是固定的。当模型组件分散时,它不会自动扩展。相反,它规定了模型组件到达域边界时应遵循的行为;它们可以被破坏、停止、反射,或者定期地在相反的域边界重新插入模型。这种行为是用condition关键字来设置的。

将模型封闭在域内--而不是让模型在无限的空间中自由漂浮--极大地提高了搜索和接触检测的效率, 这反过来又提高了模拟的性能。域边界条件的变化在下一个时间步长期间生效,如果域大小发生变化,落在域外的模型组件将被删除。不存在于模型域中的模型组件包括单元(zones)、网格点(gridpoints)、结构元(structural elements)、结构元节点(structural nodes)、几何数据(geometry data)、用户定义数据{即标量(scalars)、向量(vectors)和张量(tensors)。

model domain命令的关键字如下:

(1) extent fxl fxu <fyl fyu fzl fzu >

指定域的边的位置。每一组数值适用于域的该维度的下限和上限。如果单独指定fxl和fxu,那么该域是一个立方体。其中,fxl是x方向的最小值,fxu是x方向的最大值。如果不设定y方向和z方向的坐标,那么就使用x方向所定义的坐标,因此在这种情况下生成的域是一个立方体。例如命令domain extent -50 50 -50 50 -50 50 和 domain extent -50 50 显示的结果是一样的。

在《FLAC3D导入Fracman生成的离散断裂网络(DFN)模型》的例子中,Framan设置的域范围是(-200,200), 如果在FLAC3D中设置model domain extent -200 200,可能其中一些边缘的断裂会超出边界(does not fall within the model domain),在这种情况下,可以考虑把extent的范围扩大,例如(-300,300), 使得全部断裂落在域范围之内,但一个更恰当的作法是缩小范围取其中心部分。

FLAC3D和3DEC导入DFN模型的域范围(model domain extent)设置的图1

例如使用下面的命令,设置范围为(-100,100), 可以产生出更恰当的DFN模型, 如下图所示。

model domain extent -100 100

FLAC3D和3DEC导入DFN模型的域范围(model domain extent)设置的图2

产生DFN模型后,便可以使用block命令产生数值模型。为了正确生成块体, 另一个必须注意的相关命令是block tolerance。这个值用来定义网格点之间的最小距离连接块网格点的公差以及靠近公共平面顶点的公差。默认值是平均模型尺寸的0.12%, 例如上面的模型尺寸是10,那么这个默认的公差值为0.012,在本例中,如果tolerance值设置为0.02,就会出现错误信息“Atol too large, Atol should be less than minimum block edge”。在这种情况下必须显式地使用block tolerance命令来设置。


(2) condition keyword <keyword >

域边界可以有四个条件,通过condition命令来设置:destroy、stop、reflect和periodic, 这些条件主要应用在PFC的模拟中。当模型组件与域边界交互时,会应用其中一个条件,默认条件是stop条件。注意,停止或反射模型域边界条件不应与力学边界条件相混淆。它们并不对模型部件施加任何力学条件,而是约束它们的运动学以符合给定的约束条件。例如,如果一个在重力载荷下沉降的球在激活停止条件的情况下到达一个域边界,它将被有效地停止,但永远不会达到力学平衡,因为它受到的唯一的力是它自己的重量。因此,一般建议在模型域内使用物理边界条件,除非打算使用周期性边界条件

stop条件规定,如果体的中心点落在模型域之外,体的速度和自旋就会失效。对于PFC墙来说,一旦一个面的中心点落在模型域之外,其速度和自旋就会失效,包括任何顶点速度。reflect条件赋予了速度的相反符号,如果体的中心点落在模型域之外,自旋就不会改变。不建议使用这个条件作为接触规则,因为它可能诱发不稳定性。反射条件与与域相交的墙不兼容。destroy条件会删除单个外延(即紧紧包括物体的轴对齐的边界框)位于模型域之外的球、团块和墙面。

periodic条件应用周期性边界条件。当球或团块的中心点落在模型域之外时,它们会被翻转回模型的另一侧。为了确保接触的产生就像模型是连续的一样,"幽灵 "球和团块被引入。周期性条件与与域相交的墙不兼容。

默认 最新
当前暂无评论,小编等你评论哦!
点赞 评论 收藏 2
关注