您的当前位置:首页正文

支持裂纹扩展的三维有限元网格生成算法

2020-08-03 来源:爱go旅游网
维普资讯 http://www.cqvip.com 支持裂纹扩展的三维有限元网格生成算法 贾超.张树壮 (燕山大学信息科学与工程学院,河北秦皇岛066004) E—mail:jiachao@ySU.edu.all 摘 要:描述了任意形状三维区域的非结构四面体网格生成算法,该算法对不合裂纹的区域、含单裂纹或多裂纹的区域 都适用。算法首先使用八叉树来确定网格单元大小,然后采用前沿推进技术来生成网格。在前沿推进过程中,采用基于几 何形状和基于拓扑结构的两个步骤来保证前沿向前移动过程中发生问题时仍能进行正确执行.并且使用了一种局部网 格优化方法来提高网格划分的质量。最后,将算法运用到带有裂纹的复杂实体模型,实验结果表明该算法具有较强的适 用性和较高的性能 关键词:前沿推进;单元形状优化:网格生成:非结构网格 文章编号:1002—8331(2006)31—0226—04 文献标识码:A 中图分类号:TP391 Algorithm for Three-—Dimensional Mesh Generation ofr Arbitrary Regions with Cracks JIA Chao,ZHANG Shu—zhuang (College of Information Science and Engineering,Yanshan University,Qinhuangdao,Hebei 066004,China) Abstract:An algorithm for generating unstructured tetrahedral meshes of arbitrarily shaped three-dimensional regions is described.The algorithm works for regions without cracks,as well as for regions with one or muhiple cracks.It USeS an octree to develop local guidelines for the size of generated elements,and an advancing front technique to generate meshes.Geometry—Based and Topology-Based element generation two additional steps are used to ensure that a mesh can be generated even when problems happen during the advance of the front,and a local mesh improvement procedure to improve mesh quality.At last the algorithm is applied to a number of complex,geometires with cracks,it shows that the algorithm is suitable and effective to crack mode1. Key words:advancing front;element shape improvement;mesh generation;unsturctured mesh 1 引言 量较低且对边界节点不能进行正确的处理。 单元网格的自动划分技术随着有限元法被越来越多地应 本文首先使用八叉树来分割节点空间.然后对标准的前沿 用到各种工程领域中而备受关注。在网格生成方法中,具有代 推进技术进行了改进.增加了两个附加步骤用以避免在推进过 表性的有delaunay法lll,八叉树法(octree)及前沿推进法(ad— 程中失去封闭性。提出了单元最优几何形状标准并根据此标准 vancing front)[21。近年来。虽然提出了许多有关算法,但却不能 来对网格进行局部优化.提高生成网格的质量。 满足裂纹扩展仿真的需要。因为由于存在裂纹实体的特殊性及 裂纹扩展仿真的特殊要求,在网格划分时。需要满足以下四个 2算法描述 特定要求: 算法的输入是需要进行网格划分的区域.它通过一系列节 (1)避免生成纵横比不恰当的单元。 点和一系列三角面给f J{.节点由它们的坐标定义,二三角面由它 (2)生成的网格能与现有的区域边界上的网格一致。 (3)生成的网格能在单元大小不同的区域之间很好地过渡。 们节点的连通性定义。这种类型的输入可以表示任何形状的几 (4)对截然不同却在几何形状上一致的边界节点(如:裂纹 何体,包括孔洞和裂纹,并且该输入可以容易地融合到现有的 两个相对面上的节点),算法也能正确地区分。 有限元系统中。 目前,已经给出了解决这个问题的若干方法。Chan和 2.1生成八叉树 AnastasiouI。I通过在后处理步骤中使用基于长条形四面体删除 使用八叉树的主要目的是确定在前沿移动过程巾生成单 操作的局部网格重建方法解决单元纵横比不恰当问题; 元的大小。整个空间中单元大小的分布根据输入的初始边界网 Rassineux[4t通过子体积的重构同样优化了网格.其重构也是通 格精细程度来确定。八叉树的生成包括两步:第一步,根据输入 过一组四面体的删除操作完成的。但是,上述算法的一个共同 数据初始化八叉树;第二步,优化八叉树。图1显示了生成八叉 缺点是当对复杂实体进行划分时.有可能失败或生成的单元质 树的过程。由于在图中很难描述三维情况,本文使用四叉树来 基金项目:河北省自然科学基金资助项目(E2004000244)。 作者简介:贾超(1967一),男,博士,副教授,主要研究方向为计算机图形学,虚拟仿真等;张树壮(1982一),男,硕士研究生,研究方向为计算机图形 学.虚拟仿真。 226 2006.31计算机工程与应用 维普资讯 http://www.cqvip.com , ,、 描述一个二维的例子。三维和二维的方式相同 。 \ , 一- 2.2.1基于几何形状的单元生成  、+ 理论上,基于几何学的方法可以完成整个区域的网格划分。 \ ,  .~ 一 \ .但是,网格划分依赖于给定边界模型的几何形状和拓扑结构,并 且网格划分与给定边界网格的几何形状和质量密切相关。 前沿推进首先是创建初始前沿,当前的边界网格被分别存 1 (b) - E ; 储于两个单独的列表中,第一个列表存储活动面,活动面包括 所有没有被用作生成有效单元的边界网格面。另一个列表存储 被丢弃的面,也就是当前阶段不能用来产生单元的面。初始化 时.原始输入的所有面都存储在活动面列表中.该列表将在基 于几何形状的单元生成阶段使用。活动面列表根据面积大小排 序。即从该列表选择的第一个面总是具有最小面积的面,这样 # 广 一 长 {一J -\. 一 。’ (c)  }bt1 (d) 可以防止小面积区域中出现较大单元。 在基于几何形状的单元生成阶段,当前前沿通过形成几何 形状优化的四面体单元来移动。每一步,都从活动面列表中选 图1 八叉树生成及优化过程 择一个称为基面的三角形。这个面在当前前沿中面积最小,其 法线指向要划分的区域的内部。图2显示了生成一个四面体的 过程。这个过程分为以下几步: 2、1.1 基于边界网格的八叉树初始化 首先根据输入顶点来创建边界立方体,确保它能够包含所 有的顶点。把这个边界立方体作为八叉树的根节点,图1(a)显 示了一个二维输入数据,模型右边有一裂纹。从左到右,模型边 界的精细程度逐渐增加。 在八叉树的初始化过程中,输入的边界网格被用来确定细 分的精细程度。首先包含每个输入三角面片质心的八叉树节点 被确定.如果该节点的面积 比与其同一质心面片面积的一定 比例大.则需把该节点细分成8个更小的节点。将这个过程递 归地重复执行。直到每个节点的面积都比与其同一质心面片面 积的一定比例小。在本文的实现过程中,使用的比例系数为 0.4.使用该因数可以避免在八叉树的生成过程中进行过度的 (1)通过八叉树确定四面体顶点最佳位置Ⅳ 。首先找出包 含基面质心M的八叉树单元。则最佳位置Ⅳ_就在通过这个质 心并垂直于基面的直线上。且最佳点到基面质心的距离等于八 叉树立方体单元边长的大小。 (2)定义最佳顶点的搜索区域。这个区域是球心在最佳点 上且半径与八叉树单元大小成正比的球体的一部分,新四面体 的顶点就位于该区域中。在本文实现中采用的比例系数为1.0。 这个球体定义了四面体目标顶点与基面质心之间距离的上界 和下界。因而保证了所产生的四面体的体积大于所能允许的最 小体积。下界四面体的高度等于Ⅳ 和 之间距离的1/10。使 用最佳区域有两个原因:第一。确保生成单元几何形状的质量; 完善操作。图1(b)显示了二维例子的结果。 2.1-2完善八叉树 第二。确保新的内部节点仅在确实需要时才生成。并总位于最 优的位置上。图2中,Q 和Q:可以用来形成一个新的四面体, 而Q 、Q 和Q 不可以。 (3)如果现有节点中没有位于最佳区域内部的节点,则在 最佳位置Ⅳ 处插入一个新节点,并用该节点生成一个单元。如 由于上述步骤可能在区域的内部留下大的八叉树网格节 点(图1(b)中箭头所指),因此需要完善八叉树以保证在区域 内部没有生成树节点的面积大于边界处生成的最大节点面积。 图1(c)显示了执行该操作后的四叉树。 果现有节点中有多于一个的节点位于区域中.则计算节点与基 面的立体角。按照立体角把这些节点进行排列.拥有最大立体 角的节点被用来生成单元。立体角的值通过把基面投影到球心 在顶点i的单位球上并通过计算球多边形的面积来确定.如图 3所示 最后.进一步处理八叉树以强制相邻网格单元之间仅有一 定的完善度差异。这使得不同精细程度的区域之间实现自然过 渡。该操作通过遍历八叉树并检查相邻网格单元的体积差异来 实现。如果相邻网格单元的体积差异超过一定程度,则具有较 大体积的单元继续进行划分,直到满足标准为止。图1(d)显示 了执行该过程后的四又树。 / 2-2前沿推进 前沿推进开始于区域的任一边界面。从区域中每次生成一 个单元,每生成一个单元,则更新边界面,这个过程反复执行, 。 直到整个区域都进行了网格划分或区域中只剩下一个或多个 一 不能进行提取过程的空洞时结束。 本文的算法把前沿推进过程分成=乏个阶段:第一阶段,使 用基于几何形状的单元生成方法来产生最佳几何形状的单元。 当这个方法不能再生成有效单元时.则使用基于拓扑结构的单 元生成方法.该方法试图在剩下的区域中建立有效的但不一定 有很好几何形状的单元。最后一个阶段用一个检查过程来删除 致使算法不能完成网格划分的单元。 每个单元是一个立方体,它有相等的六个面,因此可以使用任意一个面。 图2 三维情况下一个 四面体的确定 图3 四面体顶点i的 立体角定义 (4)执行几何检查。此过程用来保证新单元的任一面不与 前沿上任何已有的面相交,如果相交,则丢弃这个单元。 (5)处理裂纹问题。含有裂纹的边界可能存在两个或两个 计算机工程与应用2006.31 227 维普资讯 http://www.cqvip.com 以上有相同坐标的节点,图4分别显示了二维和三维的此类情 况。此时需要一个算法来选择合适的节点,当裂纹表面上有两 个用以形成同一单元的候选节点时,则选择关于基面同侧的节 点。这里假定所有的裂纹表面都是光滑的。 (6)更新活动面列表。为当前的基面生成了一个有效的四 一 一 竺 (b) 图5 多面体到凸多面体的转换 面体后,首先从列表中移去该基面,然后对于单元的其它面,执 行如下操作:删除每一个与列表中已经存在的面重合的面.若 没有面与之重合,则把这个面按大小插入到活动面列表中。 o裂纹表面节点 ・内部区域节点 (C) 鲁 数目。 及多面体质心到多面体所有顶点的连线与多面体面的交点的 (3)如果多面体中有任一面存在一个交叉点,则需要修改 图4裂纹表面上一候选节点的选择 (7)更新丢弃面列表。由于当前前沿所使用的几何约束.可 能致使算法不能为某一基面形成一个有效四面体,在这种情况 下,把当前基面从活动面列表中移出,然后将之存储在单独的 丢弃面列表中 (8)利用丢弃面生成单元。由于前沿单元的增加和改变.一 些以前不能用于生成单元的基面现在变得可能.因此算法最后 使用先前丢弃的面来生成单元。当丢弃面列表中不再有面时 (在这种情况下,最佳网格被生成),或某一丢弃面不能再次用 于生成单元时,基于几何形状的单元生成过程结束。 2.2.2基于拓扑结构的单元生成 算法在此阶段尽可能地强制生成有效四面体单元.甚至生 成不满足上一步所述几何形状约束的单元。在本阶段,把前一 阶段的丢弃面列表看作是活动面列表,并且也创建一丢弃面列 表来存放最终仍不能生成有效四面体的面 在此阶段,任何接近于当前基面的节点都被选取出来并存 储在候选节点列表中。与基面形成最佳立体角的节点被选来生 成新的四面体,如果该四面体的面不与当前前沿的任何其它面 相交,则创建单元,并且边界也相应更新。当活动面列表为空或 由于与前沿的某一面交叉问题而被丢弃两次时.基于拓扑结构 的网格生成阶段结束。 2.2_3 利用含有面删除操作的检查过程生成单元 在某些情况下前面两个阶段都不能生成完整的网格.例如 图5(b)所示的多面体,在这个多面体内部生成四面体网格的 唯一可能方法是在多面体中心插入一个新的节点,再通过把这 个节点连接到 角形边界面即可形成有效单元 但是.有些情 况下这种构造方法是不可行的,如图5(a)所示的多面体。能通 过插入节点方法生成网格的多面体具有如下特点:其区域内部 任一点,都可以通过一条直线与它的任一顶点连接。对于不满 足此特征的多面体,本算法使用局部修改前沿来解决这种问 题,即删除已经生成的邻接四面体,直到形成一个未划分的且 满足要求的多面体。 将不满足要求的多面体转换成可划分的多面体过程如下: (1)识别出与当前基面相关的不满足要求的多面体的边界。 (2)执行连通性测试。测试过程是计算多面体质心的坐标, 228 2006.31计算机工程与应用 多面体.通过除去与有最多交叉点的面相联系的单元来实现。 该过程反复执行,直到满足可划:分条件。 图5显示了删除一“交叉”面后,多面体的转换过程。从节 点b到质心的线与面acd相交,因此需要除去由节点a、b、C和 d组成的单元,所得结果如图5(}))所示。图5(C)显示了在已转 换后的多面体质心插入节点之后生成的四面体单元。 如果需要除去的面是初始边界网格的一部分,获取多面体 的过程可能会失败。这时,应该删除与交叉点数不为零的内部 面相关联的单元,并重新执行单:无生成过程。 3网格的局部优化 一 一V6  在前沿推进的最后两个阶段.有可能会生成形状不好的四 一『∑  S 面体单元。本章所述内容就是为提高网格质量而执行的两个局 部优化过程。第一个是节点重定位平滑技术,该技术用有效性 检验来调和节点坐标;第二个是重检查过程,与前沿推进技术 的最后一个阶段相似.即删除形状不好的单元,以得到一个可 生成具有更好形状单元的区域。 局部网格优化过程意味着必须有单元形状质量的度量标 准,本文采用的度量方法是用S 和 的标准化比值[61: S 3/=— 其中S = ,S.为四面体的边长, 为四面体的体积。 上面所使用的度量方法能产生一个高质量的度量标准,并 且有很高计算效率。 的有效值范围为【1,∞】,对规则四面体来 说,最优值约为8.5。 3.1 带有有效性检验的拉普拉斯平滑过程 平滑技术是通过重新定位节点来改进网格质量,这种技术 的原理由式(2)给 ,它是加权拉普托斯函数的一般形式: . Yfr/J+ = + ∑ (L XI'-X ) —一 (2) ∑ 其巾,,n是与节点0相连的节点的数目; 是节点0在第n次 平滑时的位置;可,是节点i和0之间的加权函数; 是松弛系 数,其取值范围通常为【0,11。这种平滑技术提供了对网格内部 节点进行调整的方法,能够得到具有更好质量的网格。但在三 维情况下,这种技术有时会得到体积为负的无效单元,通过降 低松弛系数 的取值可减少这个问题发生的可能性。本文采 用的松弛系数为(b=0.5,平滑过程重复执行5次,在每一步平 滑中,计算了每一个内部节点的新位置后,都要执行一致性检 维普资讯 http://www.cqvip.com 验,若任一相邻单元体积为负,则当前步中不执行该节点的重 新定位操作 3.2质量评估及具有单元删除的局部检查过程 本文使用局部检查过程来进一步提高已生成网格的质量。 该方法也适用于任何其它类型的网格。 局部检查过程包括删除形状不好的单元及该单元附近的 一组单元。本文“好”“坏”四面体的划分是基于式(1)的 度量 方法。对生成网格的每一个单元,求其 的值,如果 的值超出 了预先定义的范围,则把该单元归为形状“坏”的单元,范围的 上界和下界根据试验和观察得到的经验确定。本文使用的下界 值为5.O.上界值为255。 局部检查过程的目的是删除“坏”单元周围的单元面.以此 来创建一个可以用更好形状单元重新进行网格划分的多面体。 图6显示了一个二维情况下的例子。创建局部多面体后,通过 在多面体的质心位置插入一个新的内部节点来生成单元。 一 _ ', ・一 图6二维情况下检查过程中进行“坏”单元 周围区域的网格重划分 4算例分析 本文研究了两个模型:机架(图7)和齿轮(图8),两个模型 都有小的表面裂纹。在对这两个模型的分析中,使用一种 ( 3R /R )度量法,其中,R 和R 分别为内切球和外接球的半径。 对最佳单元,该度量值为1.O,而长条单元的值低于O.1。此处采 用 度量法而不是前面描述的 度量方法,是因为 度量法 的解释更加直观,并且它的应用更加广泛。表1给出了两个例 子有关的统计数据.表中的数字显示了在运用质量改进过程前 后单元的部分参数。 图7对机架的网格划分 由统计数据得出,无论是否应用质量改进过程,在范围 【O 7,O 8]之间的单元都占绝大部分,这个范围代表形状好的单 元。但是,在没应用质量改进过程之前,有相当数量 值低于 O 1(1.76%一3 77%)的不合要求单元,而在应用了质量改进过程 之后,形状不好的单元数目明显减少(O。49%一0.90%),并且这 图8齿轮的网格划分 表1 有关例子单元质量的统计值 实例步骤 单元数目 哪 J啦 m 机架 前 16 374 0.675 0.729 0.025 机架 后 17123 0.696 0.740 0.029 齿轮 前 16 973 0.684 0.738 0.025 齿轮 后 】7 345 0.699 0.742 0.033 种形状不好的单元大多数都位于模型的内部.它们远离需要生 成更好单元的裂纹前端或应力集中区域。 5 结论 本文描述了一个任意形状三维区域的非结构四面体网格 生成算法.算法支持含有单裂纹或多裂纹的情况。首先用八叉 树来控制区域内部生成的节点的分布,然后对前沿推进算法进 行了改进,使用了基于几何形状和基于拓扑结构两个单元生成 过程,并用检查和删除相关单元的方法来保证网格生成过程的 成功执行。最后,对生成的网格使用标准的拉普拉斯平滑过程 及局部的单元调整来提高网格的质量。 最终的实验结果表明.本文算法能够对给定的任意模型进 行高质量的网格划分,并可满足裂纹扩展仿真的特殊要求。在 全部的生成单元中,仅有很小一部分是形状不好的单元,且这 些单元一般位于模型的内部.远离需要生成更高质量单元的裂 纹前端和应力集中区域。(收稿日期:2006年1月) 参考文献: [11王建华,徐强勋,张锐.任意形状三维物体的Delaunay网格生成算 法『J].岩石力学与工程学报,2003(5). 【2]关振群,宋超,顾元宪,等.有限元网格生成方法研究的新进展【Jl_计 算机辅助设计与图形学学报,2003(1). 【3]CHAN C T,ANASTASIOU K.An automatic tetrahedral mesh gen— eration scheme by the advancing front method[J].Communications in Numerical Methods in Engineering.1997.13:33—46. 【4]RASSINEUX A.Generation and optimization of tetrahedral meshes by advancing front technique[J].International Journal for Numerical Methods in Engineering,1998,41:65l一674. 【5]SHEPHARD M S,GEORGES M K.Automatic tri-dimensional mesh generation by the finite octere technique[J].International Journal for Numerical Methods in Engineering,1991,32:709-749. 『61 WEATHERILL N P,HASSAN O.Efficient three—dimensional Delau— nay tirangulation with automatic point creation and imposed boun— dary constraints[J].International Journal for Numerical Methods in Engineering,1994,37:2005—2039. 计算机工程与应用2006。31 229 

因篇幅问题不能全部显示,请点此查看更多更全内容