[论文解读] mVEM: A MATLAB Software Package for the Virtual Element Methods
本论文提出 mVEM,一个免费且开源的 MATLAB 软件包,用于在二维和三维的多边形及多面体网格上实现虚拟元方法(VEMs)。该软件包提供了高效、透明且可重用的代码,用于求解椭圆问题——包括 Darcy 方程和泊松方程——采用混合与协调 VEM 格式,且在各种网格类型(包括三角剖分、结构化四边形/多面体网格以及重心 Voronoi 划分,CVT)上展示了最优收敛率。
This paper summarizes the development of mVEM, a MATLAB software package containing efficient and easy-following codes for various virtual element methods (VEMs) published in the literature. We explain in detail the numerical implementation of the mixed VEMs for the Darcy problem and the three-dimensional linear VEMs for the Poisson equation. For other model problems, we present the construction of the discrete methods and only provide the implementation of the elliptic projection matrices. Some mesh related functions are also given in the package, including the mesh generation and refinement in two or three dimensions. mVEM is free and open source software.
研究动机与目标
- 开发一个全面、可重用且易于理解的 MATLAB 软件包,用于适用于复杂几何形状和通用多边形/多面体网格的虚拟元方法(VEMs)。
- 提供三维 Darcy 问题的混合 VEM 与泊松方程的线性 VEM 的详细数值实现,此前此类实现尚不存在。
- 支持二维和三维的网格生成与加密,包括从 Delaunay 三角剖分构建对偶网格,以及特定类型的网格(如 CVT)。
- 支持针对不同偏微分方程(PDEs)的多种 VEM 格式实现,包括反应-扩散方程、线性弹性力学、板弯曲、Stokes 流以及变分不等式。
- 为未来扩展至时间依赖问题、自适应方法、非线性力学以及多物理场问题(如 Cahn-Hilliard 和 Navier-Stokes 系统)提供基础。
提出的方法
- 该软件包基于分部积分的变分格式实现虚拟元方法,其中弱形式通过可计算的投影在单元上逐个组装。
- 对于每个单元,该方法使用 $L^2$ 投影和椭圆投影来计算局部刚度矩阵,从而在无需显式了解形函数的情况下处理非多项式项。
- 该软件使用数据结构表示多边形和多面体网格,包括顶点列表、单元连接关系,以及用于 Dirichlet 和 Neumann 边界条件的边界标记。
- 网格生成通过改进的 PolyMesher 算法和基于 Delaunay 的对偶网格化实现,支持结构化网格和重心 Voronoi 划分(CVT)网格。
- 实现采用逐单元循环以提高清晰度和可扩展性,尤其适用于三维问题,尽管建议通过向量化提升性能。
- 代码包含用于 $H^1$ 和 $L^2$ 范数误差计算、收敛率分析以及解和网格可视化功能。
实验结果
研究问题
- RQ1如何为一般多边形和多面体网格上的二维和三维问题,设计一种透明且可重用的 MATLAB 虚拟元方法实现?
- RQ2在无结构多面体网格上,三维泊松方程的线性 VEM 的最优收敛行为如何?
- RQ3当网格由三角形组成时,VEM 实现的性能与经典有限元方法相比如何?
- RQ4VEM 格式能否以极低的代码复杂度扩展至混合格式(如 Darcy 问题)和高阶问题?
- RQ5VEM 实现中的计算瓶颈是什么?如何通过代码设计和潜在的向量化来缓解?
主要发现
- mVEM 软件包成功实现了 Darcy 问题的混合 VEM 和三维泊松方程在一般多面体网格上的线性 VEM,且代码清晰并附有详细文档。
- 在四面体、结构化四边形和 CVT 网格上,泊松问题在 $L^2$ 范数下达到二阶最优收敛率,在 $H^1$ 范数下达到一阶最优收敛率。
- 在粗网格上,$L^2$ 误差的收敛率次优(未接近 2),这是标准线性有限元中也已知的问题,但在更细网格上可恢复最优收敛率。
- 对于三角剖分网格,线性 VEM 退化为标准线性有限元方法,验证了该格式的一致性。
- 当前实现采用逐单元循环以保证清晰度,但可通过向量化提升性能,尤其适用于大规模三维问题。
- 该软件包具有可扩展性,并为未来在时间依赖问题、自适应 VEM 和非线性固体力学应用方面的开发提供了基础。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。