PETSc

许可证: BSD-2-Clause · 更新于 2026-08-01

简介

PETSc(Portable, Extensible Toolkit for Scientific Computation)是美国阿贡国家实验室维护的高性能科学计算库,提供了大规模线性/非线性方程组求解的核心算法与并行基础设施。几乎所有主流开源 CFD 代码(OpenFOAM、FEniCS、deal.II)底层都依赖 PETSc,是高端科学计算的「底层引擎」。

核心组件

  • 线性求解器:Krylov 子空间方法(CG、GMRES、BiCGStab)+ 预处理器(Jacobi、ILU、AMG)
  • 非线性求解器:Newton-Krylov(SNES)、拟 Newton 法
  • 时间积分:显式/隐式 ODE/DAE 求解器(TS)
  • 并行数据结构:DMDA(结构网格)、DMPlex(非结构网格)

适用场景

  • 大规模多物理场耦合仿真(流-热-结构)
  • 高端 CFD 求解器开发(作为底层求解器)
  • 替代商业求解器(ANSYS、COMSOL)做内部研究
  • 机器学习与物理仿真混合方法的高效实现

使用注意

  • BSD-2-Clause,商用友好
  • 学习曲线陡,官方文档极为详尽(推荐从 Tutorial 开始)
  • C/Fortran 核心,Python 绑定 via petsc4py
  • 常配合 ODE 求解器(SUNDIALS)和网格管理(PyAMG)使用
标签: 求解器线性代数稀疏矩阵HPC并行计算