# PETSc PETSc, the Portable, Extensible Toolkit for Scientific Computation, pronounced PET-see ([/ˈpɛt-siː/](https://en.wikipedia.org/wiki/Help:IPA/English#Key)), is for the scalable (parallel) solution of scientific applications modeled by partial differential equations (PDEs). It has bindings for C, Fortran, and Python (via petsc4py). PETSc also contains TAO, the Toolkit for Advanced Optimization, software library. They support MPI, and GPUs through CUDA, HIP, Kokkos, or OpenCL, as well as hybrid MPI-GPU parallelism; they also support the NEC-SX Tsubasa Vector Engine. Immediately jump in and run PETSc and TAO code {any}`handson`. ## News The exciting [2026 PETSc Annual User Meeting](https://www.firedrakeproject.org/firedrake_26.html) will take place June 1-3, 2026 in Oxford, UK. It is paired with the Firedrake Meeting taking place at the end of the week, and we would encourage everyone to try and stay the whole week. More info at {any}`community/meetings/meeting`. The PETSc community held an online Birds-of-a-Feather (BoF) session on February 11, 2026, as part of the [CASS BoF Days](https://cass.community/news/2026-02-10-cass-bof-days.html). The session was not recorded. The agenda and slides are availabe at {any}`here<2026-feb-cass-petsc-bof>`. Pierre Jolivet replaces Mrs. Hong Zhang as NumFOCUS signatory due to Mrs. Hong Zhang's retirement by unanimous vote of the PETSc council. {any}`Current list of NumFOCUS signatories`. [SIAM News article](https://www.siam.org/publications/siam-news/articles/opencarp-personalized-computational-model-of-the-heart-examines-cardiac-rhythm/) on the PETSc-powered [OpenCarp](https://opencarp.org/) cardiac electrophysiology simulator. ## Book > **PETSc for Partial Differential Equations: Numerical Solutions in C and Python**, by Ed Bueler. > > - [Book from SIAM Press](https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137) > - [Google Play E-book](https://play.google.com/store/books/details/Ed_Bueler_PETSc_for_Partial_Differential_Equations?id=tgMHEAAAQBAJ) ## Main Topics ```{toctree} :maxdepth: 1 overview/index install/index tutorials/index manual/index manualpages/index petsc4py/index faq/index community/index developers/index miscellaneous/index ``` PETSc/TAO Users Manual in PDF (doc_toolkits_use_petsc)= ## Toolkits/libraries that use PETSc - [ADflow](https://github.com/mdolab/adflow) An open-source computational fluid dynamics solver for aerodynamic and multidisciplinary optimization - [BOUT++](https://boutproject.github.io) Plasma simulation in curvilinear coordinate systems - [Chaste](https://www.cs.ox.ac.uk/chaste/) Cancer, Heart and Soft Tissue Environment - [code_aster](https://www.code-aster.org/V2/spip.php?rubrique2) open-source general purpose finite element code for solid and structural mechanics - [code_saturne](https://www.code-saturne.org) open-source general purpose code for fluid dynamics - [COOLFluiD](https://github.com/andrealani/COOLFluiD) CFD, plasma and multi-physics simulation package - [DAFoam](https://dafoam.github.io) Discrete adjoint solvers with [OpenFOAM](https://openfoam.com) for aerodynamic optimization - [DAMASK](https://damask-multiphysics.org) Unified multi-physics crystal plasticity simulation package - [DEAL.II](https://www.dealii.org/) C++-based finite element simulation package - [DUNE-FEM](https://dune-project.org/sphinx/content/sphinx/dune-fem/) Python and C++-based finite element simulation package - [FEniCS](https://fenicsproject.org/) Python-based finite element simulation package - [Firedrake](https://www.firedrakeproject.org/) Python-based finite element simulation package - [Fluidity](https://fluidityproject.github.io/) a finite element/volume fluids code - [FreeFEM](https://freefem.org/) finite element and boundary element PDE solver with embedded domain specific language - [GetDP](https://www.getdp.info/) a General Environment for the Treatment of Discrete Problems - [Gridap](https://gridap.github.io/Gridap.jl/stable/) a Julia-based finite element simulation package through the [GridapPETSc](https://github.com/gridap/GridapPETSc.jl) plugin - [hIPPYlib](https://hippylib.github.io) [FEniCS](https://fenicsproject.org/)-based toolkit for solving deterministic and Bayesian inverse problems governed by PDEs - [libMesh](https://libmesh.github.io) adaptive finite element library - [MFEM](https://mfem.org/) lightweight, scalable C++ library for finite element methods - [MLSVM](https://github.com/esadr/mlsvm), Multilevel Support Vector Machines with PETSc. - [MoFEM](http://mofem.eng.gla.ac.uk/mofem/html), An open source, parallel finite element library - [MOOSE - Multiphysics Object-Oriented Simulation Environment](https://mooseframework.inl.gov/) finite element framework, built on [libMesh](https://libmesh.github.io). - [OOFEM](http://www.oofem.org) object-oriented finite element library - [OpenCarp](https://opencarp.org/) Cardiac electrophysiology simulator - [OpenFOAM](https://develop.openfoam.com/modules/external-solver) Available as an extension for linear solvers for OpenFOAM - [OpenFPM](https://openfpm.mpi-cbg.de/) framework for particles and mesh simulation - [OpenFVM](http://openfvm.sourceforge.net/) finite volume based CFD solver - [PermonSVM](http://permon.vsb.cz/permonsvm.htm) support vector machines and [PermonQP](http://permon.vsb.cz/permonqp.htm) quadratic programming - [PetIGA](https://github.com/dalcinl/PetIGA) A framework for high performance Isogeometric Analysis - [PFLOTRAN](https://pflotran.org/) An open source, state-of-the-art code for massively parallel simulation of subsurface flow, reactive transport, geomechanics, and electrical resistivity tomography - [PHAML](https://math.nist.gov/phaml/) The Parallel Hierarchical Adaptive MultiLevel Project - [preCICE](https://www.precice.org) - A fully parallel coupling library for partitioned multi-physics simulations - [PyClaw](https://www.clawpack.org/pyclaw/) A massively parallel, high order accurate, hyperbolic PDE solver - [SLEPc](https://slepc.upv.es/) Scalable Library for Eigenvalue Problems - [tmm4py](https://github.com/samarkhatiwala/tmm) Transport Matrix Method for simulating ocean biogeochemical processes - [Underworld3](https://www.underworldcode.org/underworld3-come-and-get-it/) Mathematically Self-Describing Modelling in Python for Geodynamics (doc_index_citing_petsc)= ## Citing PETSc You can run PETSc programs with the option `-citations` to print appropriate citations for the software and algorithms being used in that program. For general citations on PETSc please use the following: ```{literalinclude} /petsc.bib :append: '}' :end-at: year :language: none :start-at: petsc-web-page ``` ```{literalinclude} /petsc.bib :append: '}' :end-at: year :language: none :start-at: petsc-user-ref ``` ```{literalinclude} /petsc.bib :append: '}' :end-at: year :language: none :start-at: petsc-efficient ``` For petsc4py usage please cite ```{literalinclude} /petsc.bib :append: '}' :end-at: year :language: none :start-at: dalcinpazklercosimo2011 ``` For PETSc usage on GPUs please cite ```{literalinclude} /petsc.bib :append: '}' :end-at: author :language: none :start-at: mills2021 ``` For `PetscSF` -- parallel communication in PETSc -- please cite ```{literalinclude} /petsc.bib :append: '}' :end-at: pages :language: none :start-at: petscsf2022 ``` If you use the `TS` component of PETSc please cite the following: ```{literalinclude} petsc.bib :append: '}' :end-at: year :language: none :start-at: abhyankaretal2018 ``` If you utilize the `TS` adjoint solver please cite ```{literalinclude} /petsc.bib :append: '}' :end-at: year :language: none :start-at: zhang2022tsadjoint ```