1 引言
在UDEC中,通过顺时针输入四个角点的坐标使用block create polygon命令可以产生出一个初始的长方形块体,这是UDEC计算的基础,而且这个命令只能使用一次,除非使用block config cell算法【Cell Space Detection---UDEC的单元映射算法】;在3DEC中,通过定义六个面的坐标点使用block create polyhedron face命令可以产生一个长方体。不过,这种生成块体的方式非常麻烦,一种更方便的创建方式是使用geometry命令,即通过几何数据交换文件产生块体,使用geometry命令的一个优点是可以同时产生多个多边形,然后使用extrude关键字拉伸成为一个长方体。
相关文章,在仿真秀官网搜索:
Itasca几何数据交换文件---Geometry Files
建立更真实的数值模型(2):FLAC3D与曲面地形的集成
使用Extrusion工具产生非结构化的网格(unstructured Mesh)
三维Voronoi块体的单轴抗压强度试验
这个笔记简要讨论了使用几何数据产生块体的方法,包括命令行和FISH函数。
2 geometry polygon create
使用命令行创建多边形块体的基本格式为:
geometry set 'polygons'
geometry polygon create
一个基于几何数据的多边形(多面体)使用geometry polygon create来创建,这个命令可以带3个主要的关键字: by-edges,by-nodes,by-positions, 不过最常使用的关键字是by-positions,即通过点的坐标来产生多变形,与block create polygon的使用方法类似,首先顺时针产生一个长方形,然后extrude成为一个长方体,例如:
geometry polygon create by-positions ...
(0,0,0) (0,0,10) (20,0,10) (20,0,0) extrude (0,5,0)
一个更万能的方法是直接定义点的坐标,从而产生出任意形状的块体。
3 geom.poly.create
geom.poly.create函数能够创建或改进已经产生的多边形,这个命令通过几何集的指针返回到多边形的指针,例如:
local gset = geom.set.find("GeotechWu")
if gset = null then
gset = geom.set.create("GeotechWu")
endif
local poly = geom.poly.create(gset)
新创建的多边形没有边,所以处于无效状态。在多边形处于有效状态之前,必须使用geom.poly.add.edge或geom.poly.add.node添加边。
4 创建RBlock
与3DEC的BBM【粘合块体模拟BBM---Bonded Block Modeling】不同,RBblock产生的粘结块体模型块体之间允许产生孔隙,而且块体可以是多种几何形状,能够更好地表征近地面岩土体的几何形状,例如碎石土。下图所示的例子首先使用geom.poly.create函数产生基本的多边形,然后使用rblock template产生出不同形状的多边形。