Skip to main content
QUICK REVIEW

[论文解读] Support for Non-conformal Meshes in PETSc's DMPlex Interface

Tobin Isaac, Matthew G. Knepley|arXiv (Cornell University)|Aug 11, 2015
Computational Geometry and Mesh Generation参考文献 3被引用 4
一句话总结

本文提出对 PETSc 的 DMPlex 接口进行扩展,通过引入层次树结构和参考树,实现了对非一致网格(如 p4est 的四叉树和八叉树森林)的原生支持,以编码子集-超集关系和非一致界面类型。该方法透明地处理了悬挂节点约束,使为一致网格编写的现有有限元代码可无需修改地直接用于非一致网格。

ABSTRACT

PETSc's DMPlex interface for unstructured meshes has been extended to support non-conformal meshes. The topological construct that DMPlex implements---the CW-complex---is by definition conformal, so representing non- conformal meshes in a way that hides complexity requires careful attention to the interface between DMPlex and numerical methods such as the finite element method. Our approach---which combines a tree structure for subset- superset relationships and a "reference tree" describing the types of non-conformal interfaces---allows finite element code written for conformal meshes to extend automatically: in particular, all "hanging-node" constraint calculations are handled behind the scenes. We give example code demonstrating the use of this extension, and use it to convert forests of quadtrees and forests of octrees from the p4est library to DMPlex meshes.

研究动机与目标

  • 使 PETSc 的 DMPlex 接口能够表示非一致层次网格(如四叉树和八叉树的森林)。
  • 保持与为一致网格编写的现有有限元和有限体积代码的向后兼容性。
  • 通过数据结构扩展,抽象化非一致界面的复杂性,特别是悬挂节点约束。
  • 通过在参考单元上执行映射操作(如拉回变换),在非一致网格上支持高级有限元方法(例如 H(curl)、H(div))。
  • 促进层次网格框架(如 p4est)与 PETSc 更广泛的数值库栈之间的互操作性。

提出的方法

  • 在 DMPlex 现有 CW-复形表示基础上,增加层次树结构,以编码网格实体之间的父子关系。
  • 引入参考树,描述元素边界处非一致界面(如悬挂节点)的几何和拓扑类型。
  • 利用参考树自动计算悬挂节点的约束矩阵,实现连续性强制,无需用户干预。
  • 利用拉回操作(如协变和逆变 Piola 变换)将有限元函数从物理单元映射到参考单元,从而在非一致界面上保持连续性。
  • 通过在接口后隐藏网格层次结构,确保有限元和有限体积求解器中的单元为中心循环在语义上对一致和非一致网格保持一致。
  • 支持将 p4est 的四叉树森林和八叉树森林转换为 DMPlex 网格,同时保持网格拓扑结构,并可与 PETSc 的完整求解器和预条件子库协同使用。

实验结果

研究问题

  • RQ1非一致层次网格如何在基于一致 CW-复形的 PETSc DMPlex 接口中表示?
  • RQ2需要何种数据结构才能在不破坏与现有有限元和有限体积代码向后兼容性的前提下,编码父子关系和非一致界面类型?
  • RQ3是否能通过参考树和层次元数据自动计算自适应网格加密中的悬挂节点约束,从而消除手动组装约束的需要?
  • RQ4现有 PETSc 中的有限元和有限体积求解器在多大程度上可以通过抽象化网格层次结构而无需修改地在非一致网格上运行?
  • RQ5如何通过在参考单元上执行拉回操作,在非一致网格上支持高级有限元(如 H(curl)、H(div))?

主要发现

  • 该扩展成功使 DMPlex 能够表示来自 p4est 库的非一致网格(如四叉树和八叉树森林)。
  • 悬挂节点约束通过参考树和层次树在后台自动计算,有限元代码无需任何修改。
  • 包括需要协变和逆变 Piola 变换的有限元方法,均可通过映射到参考单元在非一致网格上应用。
  • 该方法与 PETSc 的 DM API 完全兼容,包括支持子网格提取、网格分区,以及与 PetscFE 和 PetscFV 的集成。
  • 有限体积方法正在扩展以支持非一致网格,但因面 facet 上的多单元支持和通量重复计数问题仍存在挑战。
  • 该方法实现了在多物理场模拟中无缝使用自适应网格加密,其中有限元和有限体积场共存。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。