论文部分内容阅读
基于边界积分方程的边界面法具有很多优点。在边界面法中,一般情况下只需要离散目标域的表面,并且可以采用非连续单元。因此,基于边界面法的表面网格划分在面与面之间相互独立,从而使得网格划分更加灵活自由。为了充分利用边界面法的这一优点,实现全自动生成表面自适应网格,本文利用C++编程构建了一个用于边界面法的表面网格生成工具包。该工具包集成了多种表面网格生成方法、网格尺寸控制方法、边界自适应离散、基于网格生成方法的特征识别、网格数据管理等模块。另外,本文将网格生成方法用于单元细分,解决了边界面法中的近奇异积分问题。本文主要完成了以下研究工作: (1)为了充分利用结构化网格的优点,本文提出了基于分块的表面网格生成方法。该方法首先利用映射法生成结构化背景网格,然后在背景网格中确定孔洞、键槽等小特征的位置,删除小特征覆盖的背景网格并在其周围形成一个空腔。由于空腔相对狭小且形状不规则,可以在此空腔内生成非结构化网格。此时整个目标域的网格分为两块,即空腔内的非结构化网格和有效的结构化背景网格。该方法需要和其它方法结合使用,在空腔内利用前沿推进算法生成非结构化网格。该方法综合了结构化网格质量好、效率高、分布均匀、密度可控和非结构化网格几何自适应能力强的优点。 (2)由于四边形网格的生成方法没有三角形网格的生成方法成熟,为了生成高质量的四边形网格,本文提出了一种带约束前沿推进的四边形网格生成方法。该方法是一种结合前沿推进思想的间接法,即先生成三角形网格,再将三角形网格合并生成四边形网格。间接法的难点是在合并的过程中,可能会产生孤立三角形。为了解决此问题,本文在三角形合并的过程中加入了约束条件,有效的避免了孤立三角形的产生,从而生成质量较好的全四边形网格。 (3)为了全自动地生成复杂实体表面自适应网格,本文实现了多种自适应尺寸控制方法。首先实现了基于八叉树的尺寸控制方法,该方法可以识别曲率特征和细小特征且搜索效率较高,不足之处在于无法识别邻近特征。为了识别邻近特征,本文实现了基于邻近特征的尺寸控制方法。但是该方法不能识别细小特征,并且在获取给定点的尺寸值时,需要在 Delaunay三角网中搜索其所在的三角形,这一过程较为耗时。为了解决这一问题,本文提出了基于K-d树的搜索机制,较大程度地提高了搜索效率。由于上述两种尺寸控制方法均存在一定的缺陷,本文综合上述两种尺寸控制方法的优点,提出了基于邻近特征八叉树的尺寸控制方法。该尺寸控制方法既可以识别曲率特征和细小特征,也可以识别邻近特征,且效率较高,此外还可以用于指导三维实体网格的生成。 (4)结构化网格具有网格生成的质量好、速度快、数据结构简单,密度可控,计算效率高等优点,但结构化网格的主要缺点是适用范围窄,只能适用于形状规则的区域。对于复杂的区域,通常需要将其分解为简单子域,然后在子域上进行网格划分。然而这一过程较为耗时,不利于大规模计算。为了解决这一问题,本文首先实现了基于子域分解的分块结构化网格生成方法。该方法通过探索性规则,对目标域进行子域分解,然后在分解的子域上生成结构化网格。该方法可以实现一定程度上的自动化,但仍然不是一种通用的网格生成方法。实现了一种基于中轴线子域分解的分块结构化网格生成方法。该方法从Delaunay三角网中提取目标域的中轴线,并利用中轴线对子域进行分解,然后在子域上生成结构化网格。该方法是一种通用算法,适用于任何剖分域。 (5)实现了任意复杂实体的表面自适应网格生成。通常所说的自适应网格生成主要涉及网格生成过程中的尺寸控制,本文实现了多种自适应尺寸控制方法,可以获取实体表面上任意点的自适应尺寸值。此外,用于边界面法的表面网格在面与面之间相互独立,为了充分利用这一优点,本文实现了基于网格生成方法的特征识别。通过获取目标面的特征,匹配到合适的网格生成方法进行网格划分,从而实现网格生成方法的自适应。本文实现的网格生成工具包可以对任意复杂的实体表面,全自动地生成质量较好、过渡均匀的表面网格。 (6)为了求解边界积分方程中的近奇异积分,本文作者的导师提出了一种基于前沿推进思想的自适应球面细分方法。该方法通过半径不断缩小的球面与单元相交,然后在相邻的两个半径层之间,用前沿推进的方法生成质量较好的单元子块。该方法能够在源点附近自动加密,且对源点位置及单元形状没有任何限制,适用于任意位置的源点,任意形状的单元。在高斯积分点数目大致相同的前提条件下,相对于其它传统方法,球面细分方法得到的计算精度更高且数值稳定性更好。