PETSc, pronounced PET-see (the S is silent), is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It supports MPI, and GPUs through CUDA or OpenCL, as well as hybrid MPI-GPU parallelism. PETSc (sometimes called PETSc/Tao) also contains the Tao optimization software library.
News, book on PETSc, by Ed Bueler: PETSc for Partial Differential Equations: Numerical Solutions in C and Python (paper) or at Google Play (E-book)
News, paper on GPU PETSc: Toward Performance-Portable PETSc for GPU-based Exascale Systems
News, source code for petsc4py, developed by Lisandro Dalcin, is now distributed with the PETSc source and supported by the PETSc team and mailing lists
- Scientific applications that use PETSc
- Features of the PETSc libraries (and a recent podcast)
- Linear system solvers accessible from PETSc
-
Related toolkits/libraries that use PETSc
- ADflow An Open-Source Computational Fluid Dynamics Solver for Aerodynamic and Multidisciplinary Optimization
- Chaste Cancer, Heart and Soft Tissue Environment
- code_aster open source general purpose finite element code for solid and structural mechanics
- COOLFluiD CFD, plasma and multi-physics simulation package
- DAFoam Discrete adjoint solvers with OpenFOAM for aerodynamic optimization
- DEAL.II C++ based finite element simulation package
- FEniCS Python based finite element simulation package
- Firedrake Python based finite element simulation package
- Fluidity a finite element/volume fluids code
- FreeFEM finite element PDE solver with embedded domain specific language
- hIPPYlib FEniCS based toolkit for solving large-scale deterministic and Bayesian inverse problems governed by partial differential equations
- libMesh adaptive finite element library
- MFEM lightweight, scalable C++ library for finite element methods
- MLSVM, Multilevel Support Vector Machines with PETSc.
- MoFEM, An open source, parallel finite element library
- MOOSE - Multiphysics Object-Oriented Simulation Environment finite element framework, built on top of libMesh and PETSc
- OOFEM object oriented finite element library
- OpenFOAM Available as an extension for linear solvers for OpenFOAM
- OpenFVM finite volume based CFD solver
- PermonSVM support vector machines and PermonQP quadratic programming
- PetIGA A framework for high performance Isogeometric Analysis
- PHAML The Parallel Hierarchical Adaptive MultiLevel Project
- preCICE - A fully parallel coupling library for partitioned multi-physics simulations
- PyClaw A massively parallel, high order accurate, hyperbolic PDE solver
- SLEPc Scalable Library for Eigenvalue Problems
- Packages that PETSc can optionally use