1 引言
今天有位同学问了这样一个问题:能不能在3DEC中生成Voronoi块体,然后输入到PFC中。回答是不能也没必要。一方面,PFC不能处理多边形块体的接触,只能处理Ball的接触,另一方面3DEC与UDEC引入Voronoi就是为了处理不规则多边形颗粒之间的接触与分离。如果确实有既要处理球形颗粒又要处理不规则块体的需求,可以通过Socket技术进行3DEC与PFC的耦合计算。现在FLAC3D和PFC已经能够通过内置的插件实现实现耦合, 参看《FLAC3D 7.0 新特性简介(P4)---软件集成》,但3DEC与PFC之间的耦合还必须使用Socket来实现数据交换。
在岩石工程中,有时我们需要监测岩石块体的运动轨迹或者回弹,例如隧道顶板块体脱落和坠落的运动轨迹,或者岩石边坡岩块从高处崩落(Rock Fall)及回弹的运动轨迹。UDEC 5.0之间的版本不能做这种类型的模拟。从UDEC 6.0 开始引入了cell space单元空间的算法,使用单元空间检测逻辑,确保检测到新的接触, 从而可以模拟岩石的崩落行为。
2 Cell Space Detection
单元映射是UDEC内置的另一种接触-检测逻辑。这个逻辑可用来模拟块体与块体之间的分离并可能反弹。在新建项目的Model Options对话框中,"Contact Logic" 有两种选择:一个选择是“Domain detection”, 这是我们以前一直使用的方法,也就是首先将一个整体的Block, 然后在这个Block中再划分块体,如果模型内大多数的块体不动,这种“Domain Logic"域逻辑方法求解得更快。另一个选择是"Cell space detection",如果要处理块体回弹问题,选择这个。不过选择"Cell space detection"需要注意两点: 第一,一旦选择了这个选项,中途不可更改,只有在创建新的项目时才能更改;第二,这个选项不能处理水的流动问题,如下图所示。假如我们想做一个泥石流的模型,不能选择这个选项。
block config cell 10 10
其它一些相关命令
print cell
block cell remap list
需要注意的是,尽管引入了Voronoi多边形和cell space,但UDEC不太适合研究颗粒流的运动形态。因为需要考虑颗粒之间的相互作用,使用PFC的效率更高。
3 滑坡例子
下面的例子使用了cell space detection算法模拟滑坡过程。模拟对象是加拿大BC省的一个真实滑坡案例 Checkerboard Creek slope。
下面简要描述模型的建立过程:
(1) 模型选择cell space
block config cell 300 200
block tolerance corner-round-length 0.1
block tolerance minimum-edge-length 0.2
(2) 创建一个Block
block create polygon -350,425 -350,725 ...
485,725 485,425
(3) 产生边坡表面曲线,可以从外部文件输入,也可以在UDEC环境内直接生成,保存成一个文件slope-surface.dat。
call 'slope-surface.dat'
(4) 删除边坡面以上的块体,形成边坡。
block cut crack table 1
delete range atblock (-15.4227,664.5138)
(5) 在边坡内布置断层和节理, 可以从外部文件输入,也可以在UDEC中直接生成,保存成文件fault-joint.dat。
call 'fault-joint.dat'
(6) 只选择主要断层和节理
block cut crack table 160
block cut crack table 161
block cut crack table 162
...
block joint-delete
(7) 在选定区域增加两组节理
hide range atblock (298.335,496.5181)
block cut joint-set angle 105 ...
spacing 5 origin 0,0 id 100
block joint-delete
block cut joint-set angle 75 ...
spacing 5 origin 0,0 id 100
block joint-delete
(8) 在选定区域增加voronoi多边形,用来模拟碎裂的岩石。
block cut vor edge-maximum 2.5 ...
iterations 20 round 0.1 jointset-id 102
block joint-delete
生成的局部网格如下所示。
最后的模拟结果如下图所示。随着循环数目的不断增加,岩石块体 开始滑坡。
4 结束语
单元映射是UDEC内置的一种接触-检测逻辑,能够用来模拟岩石的碰撞和回弹,产生出类似RocFall的模拟效果。不过,由于在计算过程中不断寻找新的接触,Cell space detection的运算速度要慢一些,而且使用这种方法不能模拟水的流动,因此在实际应用中受到一定的限制。