三维块体接触检索算法改进研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IMPROVEMENT OF CONTACT DETECTION ALGORITHM OF THREE-DIMENSIONAL BLOCKS
LIU Xingen1,ZHU Hehua2,LIU Xuezeng1,3,WU Wei2
(1. Shanghai Tongyan Civil Engineering Technology Co.,Ltd.,Shanghai 200092,China;2. Department of Geotechnical Engineering,Tongji University,Shanghai 200092,China;3. Mapping and Geographic Information Institute,Tongji University,Shanghai 200092,China)
• 490 •
岩石力学与工程学报
ቤተ መጻሕፍቲ ባይዱ
2015 年
1 引

[1-2]
非连续变形分析 (DDA) 由石根华博士于 1989 年首次提出,是一种平行于有限元的数值方法 。 由于 DDA 具有理论上的严密性,且能够计算块体 的大位移而倍受重视。DDA 的核心难点是块体间的 接触检索算法,该算法的好坏决定了对实际块体系 统模拟的可行性,并很大程度上决定了计算结果的 [3] [4] 可靠性 。正如 G. H. Shi 所说: “The discontinuous contacts between 3D blocks are the main part of 3D DDA algorithms” ,对于三维块体之间的接触检索尤 其复杂。 目前接触检索方法主要有直接法,公共面法
(1)
如果 d 值为正,则表示点在面的正法向侧,为 负值表示点在面的负法向侧,为 0 表示点在面上。
第 34 卷 第 3 期
刘新根等:三维块体接触检索算法改进研究
• 491 •
(2) 判断点是否在块体内:对于凸块体,只要 判断点距凸体各面的距离是否都为负值,如果是, 则点在凸体内,否则只要有一个距离为正则点不在 凸体内。对于凹体除了上述判断外还需进一步判断 点在面上的投影点是否在组成面的边框内,这些算 法的实现有许多方式 参阅马广韬等
[8] [7] [7]
3 接触类型
根据块体几何元素的特征,可以将空间块体的 接触类型分成点–点、点–边、点–面、边–边(包 [6,9] 括边–边重合)、边–面和面–面 6 种接触类型 。 其中点–点接触可转化成点与另一点所引用的面之 间的点–面接触、点–边接触可以转换成点对边相 邻的两个面的点–面的接触、边–面接触可以转化 成相应的点–面接触或边–边接触、面–面接触亦 可以转化成相应的点–面接触或边–边接触。 综上所述,虽然块体间存在 6 种接触类型,但 最终可归纳成 2 种接触,即点–面接触和边–边接 触,这就为确定接触关系提供了便利。
4 几何算法
在接触检索算法中,常利用到以下 4 种几何算 法。 (1) 求点到面的距离:已知点 p 的坐标为(x,y, uv z),面的外法向 N 为(i,j,k),点 o(a,b,c)为面上 的任意一点,则点 p 到面的距离 d 为
d i ( x a ) j ( y b) k ( z c )
第 34 卷 第 3 期 2015 年 3 月
岩石力学与工程学报 Chinese Journal of Rock Mechanics and Engineering
Vol.34 No.3 March,2015
三维块体接触检索算法改进研究
刘新根 ,朱合华 ,刘学增
1 2 1,3
,武 威
2
(1. 上海同岩土木工程科技有限公司,上海 200092;2. 同济大学 地下建筑与工程系,上海 200092; 3. 同济大学 测绘与地理信息学院,上海 200092)
收稿日期:2014–03–27;修回日期:2014–04–29 基金项目:国家自然科学基金重点项目(41130751);西部交通科技项目(2011ZB04) 作者简介:刘新根(1981–),男,硕士,2004 年毕业于郑州大学水利水电建筑工程专业,现任工程师,主要从事岩土工程数值仿真方面的研究工作。 E-mail:xuezhongfei2000@ DOI:10.13722/ki.jrme.2015.03.006
和侵入边法 。直接法利用块体的各几何元素之间 直接进行几何关系的判断,此法简单直观,但计算 工作量大。公共面法是利用假设的无厚度面来确定 块体的接触关系,计算效率较直接法高,但是公共 面的位置需要通过不断地搜索迭代确定,是一个数 值优化问题,其计算工作量不确定,更关键的是确 定的公共面位置并不一定就是正确的公共面位置 。 侵入边法基于 2 个块体接触时会有公共部分的基本 思想,将凸多面体的接触归纳为 7 种容易识别的接 触形式,以充分反映块体局部几何形状的特征,以 弥补公共面方法的不足,但该法仍然存在误判、漏 判的情况,不能总是得到正确的接触类型 。此外, 王健全在其博士论文中提出了切割体法,对公共面 [3] 法和侵入边法进行了改进 ,但该法仅适用于凸多 面体,亦未见广泛的应用。罗海宁和焦玉勇 采用 直接法与公共面法相结合的方法提高了接触检索的 效率。 本文基于直接法和公共面法,并引入块体角点 运动探针思想对三维块体的接触算法做了进一步的 改进,改进算法已在软件中实现。
{Pi } I V
如果 L = 0,则表示探针与平面平行,没有交点, 直接跳过,否则计算交点 J 在探针上的 U 参数为
2 块体数据结构
本文所指的块体系直边多面体,包括凸多面体 和凹多面体,但不包括曲面块体。直边多面体的几 何元素有点、线、平面。在软件中,块体的数据结 构由面、线、点的拓扑关系组成。 例如,四面体数据结构如图 1 所示,由 4 个面 组成,每个面由 3 条边组成,而每条边由 2 个角点 组成,所以块体的几何逻辑层数据可仅存储三维角 点坐标和各几何元素的拓扑关系。这样的数据结构
摘要:在三维非连续变形分析中,快速准确的块体接触检索算法是控制计算效率和分析结果正确性的关键因素之 一。基于直接法和公共面法的思想,将接触类型归纳为点–面、边–边 2 种接触,并结合块体的外包围盒、块体 切割面和接触继承对块体接触检索做进一步的改进。引入块体角点运动探针思想,对接触的正确性做进一步的识 别,以确保块体的接触关系符合模型的力学运动要求,这弥补了以往接触算法中未考虑块体运动趋势的不足。该 算法已在同济曙光三维块体分析软件中实现,算例结果表明,该算法具有良好的适应性、鲁棒性和可实现性,对 于凸体和凹体均适用,能有效地解决现有方法存在的不足。 关键词:数值分析;接触检索;非连续变形分析;块体接触;算法;运动探针 中图分类号:O 241 文献标识码:A 文章编号:1000–6915(2015)03–0489–09
公共面法是利用假设的无厚度面来确定块体的接触关系计算效率较直接法高但是公共面的位置需要通过不断地搜索迭代确定是一个数值优化问题其计算工作量不确定更关键的是确定的公共面位置并不一定就是正确的公共面位置个块体接触时会有公共部分的基本思想将凸多面体的接触归纳为种容易识别的接触形式以充分反映块体局部几何形状的特征以弥补公共面方法的不足但该法仍然存在误判漏判的情况不能总是得到正确的接触类型
[6] [5]
图1 Fig.1
四面体数据结构
Tetrahedral data structure
存储量最小,并可以将许多几何算法判断转化为拓扑 关系的判断,亦能提升运算效率和消除由于计算误 差而引起的错误判断。 此外, 软件亦建立了点→线、 点→面、线→面的反向关联,以便于各几何元素的 快速查找。 需要注意的是,在装配面的角点和边的索引值 时,其索引值的顺序须符合面的外法向朝体外侧(右 手坐标系)。例如图 1 中,面 ABC 装配角点 A,B, C 的顺序可为点 A,B,C 或点 B,C,A,而不能是 点 A,C,B。
Abstract:Contact retrieval algorithm is one of the key factors to guarantee the computational efficiency and accuracy in three-dimensional discontinuous deformation analysis(3D-DDA). Based on the idea of the direct method and the common plane(C-P) method,the algorithm searching the block contacts was improved by transforming all the contact types into two basic ones,the vertex-face contact and the edge-edge contact using the bounding box outside the block,the block cutting surface and the contact inheritance. The probe to the movement of block corners was firstly introduced to identify the correctness of the contact which overcome the weakness of the existing contact algorithms without considering the movement trend of blocks. The algorithm was implemented in a three-dimensional analysis block software TJSG. The results of the examples indicated that the algorithm exhibited good adaptability and robustness for both the convex and concave blocks. Key words:numerical analysis;contact detection;discontinuous deformation analysis(DDA);block contact; algorithm;movement probe

式中: ( x0,y0,z0 ) 为试算前角点坐标, ( x1,y1,z1 )
(3) 求空间异面线段的垂足:算法实现方法可 的研究成果。 (4) 运动探针:利用块体角点的运动方向和点 坐标可以构建一个运动探针,运动探针的长度一般 取用户设定的允许最大嵌入深度。运动探针利用的 实质是有向线段与平面求交点(见图 2)。
[12] [10-11]
(2) 构造块体角点运动探针,构造方法:对已 建好的 DDA 模型,不考虑任何接触,试算一时步, r 利用分析前后角点的坐标构造一个方向向量 p ( 此 即为角点的运动探针): r p {x1 x0,y1 y0,z1 z0 } 为试算后角点坐标。 (3) 利用空间分区或块体自身外包围盒确定邻 近块体之间的拓扑关系,待块体之间进行具体的接 触判断时,可以仅对邻近块体之间的接触进行判断。 块体的外包围盒如图 3 所示,可由块体的角点坐标 极值确定。 (4)
L i ( x2 x1 ) j ( y2 y1 ) k ( z2 z1 )
图3 Fig.3
块体外包围盒
Bounding box of block
(2)
(4) 邻近块体间接触判断,设两邻近块体编号 为 i 和 j,在具体工程模拟中,如果块体 i,j 均被完 全固定,则不用进行任何接触判断,直接跳过,否 则优先进行点–面接触判断,方法如下: ① 块体 i 是否有角点侵入块体 j,设块体 i 的 角点集合为 {Pi } ,块体 j 的外包围盒域为 V,如果没 侵入,则有
1
2
3
P2 J2 J1 O2 O1 4 5 6 P1
图2
运动探针算法
Fig.2 Probe method of movement
设 探 针的 起 点和 终点 分别 为 P 1 ( x1,y1,z1 ) 和 uv P2 ( x2,y2,z2 ) , j, k), 某平面的法向 N 为(i, 点 o(a, b,c)为面上的任意一点,令
相关文档
最新文档