适应过程分为两个不同的任务。

  1. 根据从几何和/或解数据创建的适应函数,标记单个单元格进行细化或粗化。

  2. 根据这些适应标记,对单元格进行细化或考虑粗化。

这种模块化方法的主要优点是能够创建复杂的适应函数,并可以在不修改现有网格的情况下尝试各种适应函数。

重要提示:在开始适应过程之前,请编写案例和数据文件。如果生成了不理想的网格,可以使用保存的文件重新启动过程。

Ansys Fluent中提供了两种适应方法:

  • 悬挂节点适应

此方法根据预定义的模板细化各种单元类型(参见悬挂节点适应(第1026页))。它不会细化多面体单元,并且需要额外的内存来维护网格细化级别的层次结构。

  • 多面体非结构化网格适应(PUMA)

该方法将所有单元类型视为多面体,并采用单一细化方法(参见多面体非结构化网格自适应(第1028页))。它不会创建悬挂节点,并且所需的内存比悬挂节点自适应少。该方法仅适用于三维网格(默认情况下),并且提供了一个适用于2.5维网格(即单层单元网格)的版本。

24.1.1 悬挂节点自适应

悬挂节点自适应用于二维网格,并且可以选择用于三维网格。该方法生成的网格特点是边缘和面上的节点并非所有共享这些边缘或面的单元的顶点,如图24.1所示:悬挂节点示例(第1026页)。

图24.1:悬挂节点示例

图1 悬挂节点

悬挂节点自适应方法使用多种预定义模板来递归细化网格中的单元。在Ansys Fluent中实现时,它可以细化三角形、四边形、四面体、六面体、楔形和金字塔形单元,但不支持多面体单元。为了维持网格细化层次结构,该方法需要额外的内存,这是恢复原始网格的粗化过程所必需的。

标记为细化的单元按以下方式划分:

  • 一个三角形被分割成4个三角形。
  • 一个四边形被分割成4个四边形。
  • 一个四面体被分割成8个四面体。细分过程包括修剪四面体的每个角,并通过引入最短对角线来细分包含的八面体。
  • 一个六面体被分割成8个六面体。
  • 一个楔形被分割成8个楔形。
  • 一个金字塔被分割成6个金字塔和4个四面体。

图24.2:二维单元类型的悬挂节点自适应(第1027页)和图24.3:三维单元类型的悬挂节点自适应(第1027页)展示了支持的单元形状的划分。

为了保持准确性,相邻单元之间的细化级别差异不得超过一级。这防止了自适应产生过度的单元体积变化(减少截断误差),并确保父(原始)单元和子(细化)单元的中心位置相近(减少通量评估中的误差)。

图24.2:二维单元类型的悬挂节点自适应

图2 二维网格细化

图24.3:三维单元类型的悬挂节点自适应

图3 三维网格细化

网格在细化后可以进行粗化,通过重新引入非活动父单元(将子单元合并以恢复之前细分过的父单元)。如果所有子单元都被标记为粗化,则非活动父单元将被重新激活。通过反复应用粗化,最终可以恢复原始网格。通过这一过程,不可能将网格粗化到比原始网格更粗的程度。

悬挂节点方法具有以下限制:

  • 当应用此方法时,多面体不会被细化。

  • 自适应网格中的悬挂节点与动态分层和重网格方法不兼容。

  • 在进行悬挂节点自适应之前,应完成面和/或单元区域的分离,否则需要将带有悬挂节点的单元转换为多面体。

  • 对于经过悬挂节点自适应的网格,不支持传统的各向异性或棱柱细化。

  • 不支持对悬挂节点自适应的网格进行面区域融合。

24.1.2 多面体非结构化网格自适应

多面体非结构化网格自适应(PUMA)方法仅适用于三维网格,并且是默认选中的。该方法将自适应技术推广到包含任意多面体的网格中。由于它不依赖于细化模板,因此不受限于特定的单元类型,能够细化任何三维类型(多面体、四面体、六面体等)。与悬节点方法相比,在网格细化过程中,它消耗的内存更少。

图24.4:多面体单元PUMA细化

图4 多面体网格自适应

网格在细化后可以进行粗化,使得子单元聚合以重新获取之前细分过的父单元。只有当所有子单元都被标记为粗化时,父单元才能被重新获取。通过反复应用粗化,最终可以重新获取原始网格。通过这一过程,无法将网格粗化到比原始网格更粗的程度。

PUMA方法有以下限制:

  • 它仅适用于三维问题。

  • 无法保证非凸多面体被细化;如果无法产生具有正体积和可接受正交质量的子单元,它们将被跳过。

  • 自适应后的网格很可能会包含多面体单元,这些单元与网格重构方法不兼容。

  • 如果选择将case文件写入legacy格式(cas与dat格式文件),则不支持将网格适应层次结构及网格细化历史写入文件。这意味着以传统格式保存的数据文件被重新读入后,网格是无法粗化的。

  • PUMA方法不能应用于具有层次结构的网格(如hexcore类型的网格),不过可以使用mesh/polyhedra/convert-hanging-nodes文本命令将网格转换为多面体从而删除网格层次结构。

  • 对于已经使用PUMA方法进行适配的网格,不支持遗留的各向异性或棱柱细化。

  • 网格面融合只能在串行模式下使用