在UDEC中建模时,一般会在最开始定义一个 round 属性,这个 round d 是指每个块体的 corner(拐角?边角?不知道怎么翻译好╮(╯_╰)╭)都用一个与两边相切的弧来倒角,cornor 与切点的距离就是 d。d 的默认值是0.5。d 的推荐长度为典型块体边长的百分之一,文档还建议,一旦指定了 round 的长度,就不应该更改它,特别是在开始运行模型之后。
上面这些都可以从 round 命令的解释中看到,然而,我们指定的这个 round 的长度会影响节理的生成,有时候指定不当就会生成错误的模型,这也是应该注意的问题。例如下面的一个最简单的单节理块体模型:
new
ro 0.2
;ro 0.1
bl 0,0 0,10 10,10 10,0
cr 0.3,0 9.7,10
指定的 round 长度为0.2,块体的边长为10,指定的一条节理的两端坐标为 (0.3 , 0)和(9.7 , 10),但这时节理却没有按照预定的坐标生成,而是直接从对角线生成了一条节理,如下图所示。这是因为在UDEC中,块体中最小边的长度定义为 round 长度的两倍
,这时最小边的长度应该为0.4,而按照坐标为 (0.3 , 0)和(9.7 , 10)生成节理后,分隔成的两个块体边的最小尺寸为0.3,就无法满足 "最小边的长度应该为0.4" 这个条件了,UDEC就会自动生成一条通过coner的节理。注意:UDEC不会发出任何警告,所以建议通过 plot block命令查看一下生成的节理是不是符合你的要求。
如果将命令改成下面这样:
new
;ro 0.2
ro 0.1
bl 0,0 0,10 10,10 10,0
cr 0.3,0 9.7,10
同样的块体和节理两端的坐标,这时指定 round 的长度为0.1,这时生成的节理就是正常的了,这是因为节理分割的两个块体中的最小边的长度为0.3,大于2倍的 round 长度(0.2),满足块体最小边的尺寸要求,如下图所示:
这个问题比较隐蔽,建议大家在指定 round 值以后,检查一下模型的节理,以免出现错误。