MFEM源码分析:代数库

MFEM源码分析:代数库 数值计算引擎通常需要将表征物理模型的数学模型转化为线性/非线性方程组,进而求解这些线性/非线性方程组来获取数值解。因此,代数库自然成为数值计算引擎不可或取的模块。而且,普遍认为,代数库的性能在很大程度上决定数值计算引擎的性能。随着软硬件的发展,特别是异构并行计算的成熟,已经涌现出众多性能良好的代数库,因此,代数库在设计阶段,就要将可拓展、灵活性作为接口设计的重要工作。MFEM是一套开源跨平台的有限元开发框架,借助于算子运算,构筑了统一的代数库编程模型,因此,有必要对MFEM 代数库模块予以分析总结。Ref. from MFEMMFEM is commonly used as a "finite element to linear algebra translator", since it can take a problem described in terms of finite element-type objects, and produce the corresponding linear algebra vectors andsparse matrices.注1:限于研究水平,分析难免不当,欢迎批评指正。注2:文章内容会不定期更新。零、预修一、OperatorMFEM Operator主要接口,包括