灵活、可扩展的 PETSc DMPlex 网格和数据管理

摘要:为满足下一代基于网格的模拟需求,设计一个科学软件堆栈需要具备可扩展和高效的网格和数据管理能力,同时还需要一个抽象层,使其适用于各种应用程序代码。为了促进代码重用、可扩展性和软件互操作性,应将常见的实用任务(如文件输入/输出、网格分发和工作分区)委托给外部库。在本文中,我们演示了在Fluidity(一个大规模CFD应用程序)中使用PETSc的DMPlex数据管理API来执行网格输入和域分割的方法。我们证明了提高抽象级别可以为应用程序代码增加新功能,例如支持额外的网格文件格式和网格重排序,同时通过更有效的网格分布改进了模拟启动成本。此外,通过这个接口实现的关注点分离将关键的性能和互操作性问题(如可扩展的文件输入/输出和文件格式支持)转移到一个广泛使用且受支持的开源社区库中,提高了Fluidity的可持续性、性能和功能。

作者:Michael Lange and Matthew G. Knepley and Gerard J. Gorman

论文ID:1505.04633

分类:Mathematical Software

分类简称:cs.MS

提交时间:2015-05-19

PDF 下载: 英文版 中文版pdf翻译中