首页/文章/ 详情

使用WELSIM生成MFEM初始网格文件

1年前浏览1030

最近几年比较活跃的开源有限元求解器要数MFEM (mfem.org)了。此开源包虽然定位于轻量级可扩展的C++程序求解库,但提供了高阶有限元空间,支持混合单元、非连续伽辽金单元、等几何分析方法等等。尤其在高性能计算上有巨大优势,不仅支持消息传递机制并行(MPI)和共享内存并行(OpenMP),同时对GPU并行计算也有很好的支持。自带的后处理显示GLVis程序可以方便读取显示结果文件。BSD协议对于开发者也是极为友好。近MFEM支持了Python编程,对各种类型的科研人员显得更加友好。


笔者10多年前就开始关注MFEM这个开源包,当时只能进行一些简单的电磁场计算。随着时间的发展,功能越来越稳定,支持的线性求解器也越来越丰富。如hypre和PETSc,特征值求解器SLEPc,各种并行的迭代求解器Ginkgo都已很好支持。支持众多不同类型的单元和网格自适应功能。程序也提供了大量的实例,可以帮助使用者快速理解并运用此程序。

和很多偏微分方程求解器一样,MFEM需要用户提供网格文件,初始网格文件是不可或缺的输入文件MFEM的方便之处在于,用户可以选择使用简单粗糙的初始网格,通过求解中的网格再划分功能,可以在计算中生成更加优化的网格。MFEM的网格格式清晰易懂,包含了dimension, elements, nodes, boundary 等信息块。其官网提供了详细的网格格式注解。

尽管MFEM有着众多优异的特性,并且网格文件格式清晰易懂。但对于复杂几何模型,很难通过手动编写完成。目前社区也没有一个款好用的初始网格生成工具,这也一定程度上限制了其在复杂几何模型上的应用。WELSIM不仅具有简单好用的前端界面,同时支持几何到网格的生成,并导出各种格式的网格文件。用户可以快速获得复杂模型的网格,并直接用于MFEM的计算求解。只需要在WELSIM中选择输出网格文件为MFEM格式即可。


在很多科学计算或求解偏微分过程中,网格文件只含有节点和单元信息是不够的。我们还需要提供边界条件所选择的边界网格信息。WELSIM也提供了很好的解决方案,用户只需要在GUI中将分析类型设置为电磁场(Electromagnetics),添加一些边界条件如电压等,同时选择好对应的几何模型边界。选择导出输入文件(Export Input Scripts)。


此时就会生成多个求解器相关的文件,其中网格文件中不仅含有节点和单元信息,还有边界条件中所需要的边界单元信息。


通过这种方式,用户可以快速生成用于MFEM求解器的复杂网格文件,从而进行更为复杂的仿真研究,或者更贴近实际工程应用的计算。

目前WelSim支持自动化生成Tet4/10和Tri3/6网格。

注:WELSIM不隶属于MFEM,与MFEM开发团队没有直接关联。这里引用“MFEM”仅用作技术博客文章与软件使用的参考。

来源:WELSIM
WELSIM
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-06-24
最近编辑:1年前
WELSIM
一枚搞仿真的老员工
获赞 23粉丝 62文章 253课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈