论文部分内容阅读
在进行数值模拟和有限元分析时,相较四面体单元组成的网格而言,六面体网格有许多数值计算上的优点,是更希望获得的一种网格。然而,现有的六面体网格剖分算法主要是针对离散网格模型来操作。在计算机辅助几何设计领域中,大多数CAD模型都是基于边界表示的实体模型,有精确的几何边界信息。对这类模型的六面体网格剖分,希望在模型边界处得到的网格单元的质量最好。但是,离散网格剖分算法无法简单直接的运用到此类模型上,且得到的网格质量不能令人满意。由此,本文提出一个边界表示模型的六面体网格剖分算法。 本文针对基于边界表示的CAD模型,通过修改Catmull-Clark实体细分规则,使剖分得到的六面体网格更好的保留了实体模型边界处的几何特征。算法主要通过以下四步来完成:1.构造初始网格,在实体模型上采样顶点,尽量保证采样顶点分布均匀并且突出模型几何特征,然后将采样顶点连接成初始六面体网格;2.网格剖分,将初始网格按照C-C实体细分规则进行剖分,每个六面体单元被细分成8个小的六面体单元;3.边界调整,对剖分过程中产生的边界顶点进行位置调整,按顶点类型将其投影到模型边界曲线或曲面上;4.网格平滑,使用拉普拉斯平滑算法对得到的六面体网格进行顶点平滑,在边界点处做约束平滑处理。 对于上述算法和边界表示实体模型,本文借助ACIS几何造型引擎定义了包含边界信息的六面体网格数据结构,并对上述算法进行了C++实现。在文章最后阐述了使用雅可比矩阵行列式来评价网格质量的准则。通过此准则对实验得到的六面体网格进行了质量检验。实验验证,在给定模型良好初始六面体网格的条件下,本文方法可以将边界表示实体模型剖分成较高质量的六面体网格。