我想使用 PETSc 库来做一些关于有限元和并行计算的数值工作,但我想知道使用这些库首先应该知道什么。你能给我一些指导信息吗?任何评论的答案将不胜感激。谢谢你。
了解 PETSc 库的基本要求是什么?
计算科学
有限元
有限差分
宠物
2021-12-05 13:30:30
2个回答
PETSc 是一个出色的线性代数库。它还具有用于非线性求解器的模块,在某种程度上,还具有用于网格和有限元的模块,但后者并不经常使用,因为那里有更全面的有限元包。因此,如果您对 FEM 计算感兴趣,我的建议是使用其他软件包之一(通常在内部使用 PETSc 进行线性代数计算)。
但是,如果您的目标是做线性代数,那么 PETSc 是正确的工具。如前所述,示例程序会有所帮助,但手册相当不错,可以大致了解可用的内容。你不必阅读整篇文章——只要坚持那些你特别感兴趣的部分。
从 src/ksp/ksp/examples/tutorials/ex2.c 或 ex2f.F 开始,然后向上工作。
PETSc 非常易于使用。您只需要担心局部元素级别的计算(矩阵、rhs 等),而 PETSc 会处理其他所有事情(例如并行组装和求解)。
使用 PETSc 快速开发并行高性能 FE 代码非常容易,即使您没有强大的科学计算背景。
有一个轻微的学习曲线和 PETSc 做事的方式,但你应该很快就能提高工作效率。