基于八叉树的全局接触搜索算法研究

基于八叉树的全局接触搜索算法研究
陈成军;柳明;陈小伟;成杰
【摘 要】接触搜索是接触-碰撞问题有限元模拟中最为耗时的部分,高效的接触搜索算法是提高数值分析效率的关键.以面心坐标和特征长度表征接触主片,并引入树包围盒和从节点包围盒的概念,基于八叉树算法发展了一种高效的全局接触搜索方法,计算复杂度为O(Nlog8M),其中N为从节点数,M为接触主片数.程序实现时,通过引入接触预搜索和相邻搜索方式加速搜索速度.本文算法基于PANDA-Impact软件实现,并进行了算例验证分析.结果表明,本文算法具有很好的接触搜索效率与适用性,与桶排序算法相比,当接触复杂且规模较大时,本文算法表现出较大的优势.%In finite element simulations,contact searching is the most time-consuming part in the problems involving contact-impact,therefore it is significant to develop an efficient contact-pairs searching method.In this paper a new global searching method based on octree algorithm is developed and implemented in PANDA-Impact program.In the proposed method,centroid of the master segment and relevant characteristic length are used to represent its true geometry.Two new concepts,tree-bounding-box and slave-bounding-box,竹粉
are presented.The cost of the new contact searching method is of the order of O(Nlog8M),where N is the number of the slave nodes,and M is the number of master segments.In implementation,pre-searching and neighbor-searching are introduced to accelerate the efficiency of contact-searching.The results of typical numerical experiments show that the new contact searching method is very efficient.In dealing with problems involving complex and large amount of contact pairs,the new method has an apparent observable advantage over the bucket sorting method.
【期刊名称】《计算力学学报》
【年(卷),期】2017(034)003
【总页数】民汉通婚8页(P322-329)
【关键词】有限元;接触-碰撞;全局搜索;八叉树;PANDA-Impact
帅同社区论坛
【作 者】陈成军;柳明;陈小伟;成杰
【作者单位】中国工程物理研究院总体工程研究所,绵阳621900;中国工程物理研究院总体工程研究所,绵阳621900;中国工程物理研究院总体工程研究所,绵阳621900;中国工程物理研究院高性能数值模拟软件中心,北京 100083
【正文语种】中 文
【中图分类】TP311;O242
接触-碰撞广泛存在于实际工程问题,如汽车碰撞[1-3]、冲压成型[4,5]和弹体穿甲/侵彻[6],属于最困难的非线性问题之一[7],通常只能利用数值方法进行求解。该类问题中,接触面常常事前未知,并且随时间动态变化,接触部分的计算非常耗时,甚至占到整个计算量的60%~80%[2]。因此,发展高效的接触算法对于提高数值分析效率具有重要意义。
有限元方法中,接触-碰撞的计算通常分解为三个步骤:全局搜索、局部搜索和约束施加。全局搜索粗略地出系统中存在的潜在接触对(或称为接触测试对),局部搜索精确确定出接触对并求出接触点,约束施加则是根据接触界面间的不可侵入条件计算出接触力。通常,局部搜索和约束施加算法决定了接触计算的精度,而全局搜索决定了接触计算效率[5,8]。
近30年,已有不少学者开展了动态接触搜索方法研究,发展了一些优秀算法以提高接触搜索效率和降低内存需求。Hallquist等[1]提出的主从面算法是最早用于显式有限元的搜索方法,现仍然用于LS -DYNA[9]等通用有限元程序。该算法需要预先定义潜在接触的主面和从面,仅适用于事前可以确定接触面的情形,在处理存在较大扭曲变形或单个物体表面间的接触时存在困难。为克服主从面算法的不足,Benson等[2]发展了单曲面接触算法,通过引入带嵌套的桶排序提高接触搜索效率,是目前LS -DYNA[9]进行接触搜索的主要方法。Oldenburg等[10]通过引入位置码将三维空间的桶排序和搜索映射到一维数组中进行,建立了线性位置码算法。该算法将接触搜索复杂度减小为O(N log2M),式中N为接触从点数,M为接触主片数。Heinstein等[11]在桶排序算法基础上,引入了捕捉盒概念,并改进了桶特征长度的确定方式,降低了搜索算法的内存需求。Wang等[12]通过引入链表改进了桶排序算法,将三维搜索转变为从两个一维数组中取数据的过程,计算量降低为O(N)。Chen等[8]引入层、列和方格概念,建立了内存需求与计算成本呈线性复杂度的全局搜索算法,但该算法在程序实施上非常繁琐。树形算法是近些年发展的另一类有效的接触搜索方法。针对冲压成型中板料与磨具间的动态接触,Bruneel等[5]以树型数据结构组织模具(磨具表面离散为多边形小平面)的M个接触片,建立了计算复杂度为O(N log4M)的接触搜索算法。Ya
ng等[13]针对mortar接触中的面搜索,基于层次包围盒(bounding volume hierarchy)发展了适用于大变形滑移接触问题的二叉树搜索算法。
接触-碰撞界面具有动态和不确定等特性,高性能搜索算法设计有很大挑战,普适、高效及内存需求小的全局搜索算法仍需深入研究。本文将树型数据结构用于点-面型接触的潜在接触对搜索,发展新的全局搜索算法,并基于自主研发的大型显式有限元程序PANDA-Impact[14]实现。本文的搜索算法具有良好的计算性能,并适用于任意类型的接触计算,如单面接触和侵蚀接触等。
接触-碰撞问题的有限元理论与基本求解方法可参考文献[7,15],这里仅概要给出不含摩擦接触系统的基本公式。
不失一般性,考虑物体V1和V2的接触,其边界分别为Γ1和Γ2。沿用Hallquist等[1,9]提出的主体/从体、主面/从面、主片/从片和主点/从点概念,将物体V1设为从体,V2为主体。接触-碰撞系统的基本控制方程与不含接触系统的控制方程是一致的,但在接触界面上需要增加动力学和运动学条件。运动学约束表现为不可侵入条件,即任意时刻任一从点x1与距离最近的主点x2满足
式中n为x2处Γ2的外法线,gN称为间隙函数。如果不考虑两个接触面间的焊接或粘接作用,法向作用力只能为压力
根据虚功原理,接触-碰撞系统的运动方程弱形式可表述为
∫Γcδ(gNpN)dΓ=0
式中σi j为Cauchy应力,εi j为应变,i和ρ bi分别为惯性力和体力,i为给定的面力。式(3)左端最后一项为接触力的虚功,采用罚函数法处理界面约束时pN为gN的依赖变量,
式中kN为接触罚参数,此时接触力的虚功为∫Γc2pNδ gNdΓ。注意,罚函数法处理接触时允许主从面间存在一定的穿透量。
对弱形式(3)进行有限元离散,可得接触-碰撞系统的半离散方程
式中M为质量矩阵,为加速向量,Fext为外力向量,Fint为内力向量,Fc为节点接触力向量。由于接触-碰撞系统通常是高度非线性的,且常需要考虑波动效应,因此通常采用显格式的中心差分法进行求解[9]。若采用集中质量阵,方程(5)则为解耦的常微分方程组。如已求得tn时刻的解,时刻tn +1的位移为
ΔtnΔtn + 1 /2M-1(nFext-nFint+nFc)
吕思勉式中Δtn + 1 /2=tn  +1-tn。方程(6)右端唯一未知量为tn时刻的接触力nFc,这正是接触-碰撞数值方法研究的核心。
由式(4)可见,若确定了从点与相应主片的间隙,则接触力的计算是很简单的。接触-碰撞问题的困难恰恰在于,系统求解之前从点与主片的接触状态是未知的,间隙函数gN无法确定。接触-碰撞问题有限元求解的关键在于确定参与接触的从点-主片对(称为接触对),即接触搜索。
本文接触计算采用点-面界面模型,搜索针对从点和主片的距离关系进行。基于八叉树全局接触搜索的基本思想是,将接触主面递归地分割为若干子域,直至每个子域仅包含一个接触主片,将各级子域分层组织在一个八叉树结构中;对每一个从点,通过遍历主面八叉树结构,确定与其接近的主片,当从点与主片的距离在一定范围内时,构成从点、主片接触测试对。
3.1 接触面表征与包围盒
接触主片可能是三角形面片,也可能是四边形面片,其特征尺寸及空间位置不规则,为高效搜索接触测试对,通常采用某种简化的方式表征其真实几何,如长方体包围盒[11]或多面体形包围盒[13],算法的健壮性与效率依赖于包围盒的定义[11,13]。本文以面心坐标与特征长度L表征接触主片,原理上相当于定义球形包围盒,但并不显式地定义接触主片包围盒。这种主片表征方法不仅简化了潜在接触的判断,更便于主面的递归分割。
假定与八叉树中某个节点关联的接触主片面心占据的空间由最小坐标(xmin,ymin和zmin)与最大坐标(xmax,ymax,zmax)确定,
xmin=  min.(x1,x2,…)≤xi≤xmax=
max.(x1,x2,…)
ymin=  min.(y1,y2,…)≤yi≤ymax=
max.(y1,y2,…)
zmin=  min.(z1,z2,…)≤zi≤zmax=
max.(z1,z2,…)
式中(xi,yi,zi)为第i个面心的坐标。树节点包围盒(简称树包围盒)定义为由最小坐标(xmin,ymin,zmin)与最大坐标 (xmax,ymax,zmax)确定的与坐标面平行的长方体区域。
为快速确定从点与主片的潜在接触引入从节点包围盒。即当主片的面心位于从节点包围盒内时,认为该主片与从点有可能发生接触。从节点包围盒定义为以该从点为中心,2L为宽度的立方体区域,其中L定义为
式中ldiag,i为第i个接触主片对角线的长度,m为接触主面中主片个数。
3.2 树的构建与更新盐酸诺氟沙星
以面心表征接触主片后,接触面简化为空间分布的一系列离散点,接触面的递归子域划分变得极为简单。所有接触主片面心占据的平行于坐标面的最小六面体空间即为树根节点的包围盒,相关数据存储在根节点中。以过根节点包围盒中心平行于坐标面的三个平面,将这些点划分到八个子域中形成八叉树结构的第二层。类似地,将第二层的子域再次分割构
成树的第三层数据,以此类推。接触主面分割与八叉树结构如图1所示。
树的构建通常有两种方式,自顶向下(top-down)和自下而上(bottom-up)。对于通常的接触-碰撞问题,采用自顶向下的方式建立树形数据结构更为方便[13]。本文构建主面八叉树数据结构的具体步骤为,(1) 对所有接触主片循环,计算主片面心坐标,并确定根节点包围盒;(2) 循环所有接触主片,调用树节点插入函数INSERT(),将接触主片置于主面八叉树结构中。INSERT()函数采用递归方式设计,算法伪代码如图2所示。
2012年浙江高考数学
接触-碰撞问题中,接触面通常处于相对大的变形与运动状态,主片面心与树包围盒几何位置是变化的,接触搜索前需要首先对树数据进行更新。树的更新以自下而上的方式实现,其递归算法设计如图3所示。注意,这里树的更新并不改变树的拓扑结构,仅是几何信息的改变。
3.3 树的遍历与接触搜索
建立接触主面的八叉树数据结构后,就可以利用该树快速确定从点的潜在接触主片,即(从点,主片)接触测试对。对每个从点,首先检查树根节点包围盒与该从点包围盒的相交关系,
如果存在交集则检查下一层子树与该从点包围盒的相交关系,若仍存在交集则继续下一层子树的检查,否则结束。当任一子树包围盒与从点包围盒空间存在交集时,则检查该子树包含的面心与从点包围盒的关系,若某个面心位于从节点包围盒内,则该面心所代表的主片视为从点的潜在接触主片,构成(从点,主片)接触测试对。

本文发布于:2024-09-22 03:35:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/212469.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:接触   搜索   主片   算法   包围   碰撞   计算
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议