许多自适应 FEM 库使用更高级的网格数据结构来处理添加/删除节点、边、三角形、四面体等。例如,p4est库使用八叉树数据结构进行自适应网格细化;您不会经常找到用于在静态网格上进行计算的八叉树。
自适应 FEM 的线性代数方面有何变化?
我能想到的最直接的方法是在网格被细化或粗化时完全重建所有系统矩阵。如果网格自适应是一种非常不频繁的操作,那么这样做的费用最终将分摊到其余的计算中。通过这种方法,人们可以轻松地利用现有的稀疏线性代数软件(PETSc、Trilinos 等)。
这种生硬的方法是最常用的,还是有库可以在细化过程中重用或修改旧矩阵?毕竟,在网格适应过程中,大部分网格和相应的矩阵都没有改变。