1# PETSc 2 3PETSc, the Portable, Extensible Toolkit for Scientific Computation, 4pronounced PET-see ([/ˈpɛt-siː/](https://en.wikipedia.org/wiki/Help:IPA/English#Key)), is 5for the scalable (parallel) solution of scientific 6applications modeled by partial differential equations (PDEs). It has bindings for C, Fortran, and Python (via petsc4py). 7PETSc also contains TAO, the Toolkit for Advanced Optimization, software library. 8They support MPI, and GPUs through 9CUDA, HIP, Kokkos, or OpenCL, as well as hybrid MPI-GPU parallelism; they also support the NEC-SX Tsubasa Vector Engine. 10Immediately jump in and run PETSc and TAO code {any}`handson`. 11 12## News 13 14**Upcoming:** PETSc will hold a free online Birds-of-a-Feather (BoF) session on **February 11, 2026**, from **10:00am - 11:30am (Central Time US and Canada)**, as part of the [CASS BoF Days](https://cass.community/news/2026-02-10-cass-bof-days.html). All participants must register to receive the Zoom link; registration is brief and requires only a name and email address. Please see the agenda and registration details {any}`here<2026-feb-cass-petsc-bof>`. The BoF session will not be recorded. 15 16Pierre Jolivet replaces Mrs. Hong Zhang as NumFOCUS signatory due 17to Mrs. Hong Zhang's retirement by unanimous vote of the PETSc council. {any}`Current list of NumFOCUS signatories<numfocus-signatories>`. 18 19The exciting {any}`2025 PETSc Annual User Meeting<2025_meeting>` recently took place May 20-21, 2025 in Buffalo, New York, USA. 20Follow the link for abstracts and talks. 21 22[SIAM News article](https://www.siam.org/publications/siam-news/articles/opencarp-personalized-computational-model-of-the-heart-examines-cardiac-rhythm/) 23on the PETSc-powered [OpenCarp](https://opencarp.org/) cardiac electrophysiology simulator. 24 25PETSc is now on [BlueSky](https://bsky.app/profile/petsc.org). 26 27## Book 28 29> **PETSc for Partial Differential Equations: Numerical Solutions in C and Python**, by Ed Bueler. 30> 31> - [Book from SIAM Press](https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137) 32> - [Google Play E-book](https://play.google.com/store/books/details/Ed_Bueler_PETSc_for_Partial_Differential_Equations?id=tgMHEAAAQBAJ) 33 34## Main Topics 35 36```{toctree} 37:maxdepth: 1 38 39overview/index 40install/index 41tutorials/index 42manual/index 43manualpages/index 44petsc4py/index 45faq/index 46community/index 47developers/index 48miscellaneous/index 49``` 50 51<a href="./manual/manual.pdf">PETSc/TAO Users Manual in PDF</a> 52 53(doc_toolkits_use_petsc)= 54 55## Toolkits/libraries that use PETSc 56 57- [ADflow](https://github.com/mdolab/adflow) An open-source 58 computational fluid dynamics solver for aerodynamic and 59 multidisciplinary optimization 60- [BOUT++](https://boutproject.github.io) Plasma simulation 61 in curvilinear coordinate systems 62- [Chaste](https://www.cs.ox.ac.uk/chaste/) Cancer, Heart and 63 Soft Tissue Environment 64- [code_aster](https://www.code-aster.org/V2/spip.php?rubrique2) 65 open-source general purpose finite element code for solid and 66 structural mechanics 67- [code_saturne](https://www.code-saturne.org) 68 open-source general purpose code for fluid dynamics 69- [COOLFluiD](https://github.com/andrealani/COOLFluiD) CFD, 70 plasma and multi-physics simulation package 71- [DAFoam](https://dafoam.github.io) Discrete adjoint solvers 72 with [OpenFOAM](https://openfoam.com) for aerodynamic 73 optimization 74- [DAMASK](https://damask-multiphysics.org) Unified multi-physics 75 crystal plasticity simulation package 76- [DEAL.II](https://www.dealii.org/) C++-based finite element 77 simulation package 78- [DUNE-FEM](https://dune-project.org/sphinx/content/sphinx/dune-fem/) Python and C++-based finite element simulation package 79- [FEniCS](https://fenicsproject.org/) Python-based finite 80 element simulation package 81- [Firedrake](https://www.firedrakeproject.org/) Python-based 82 finite element simulation package 83- [Fluidity](https://fluidityproject.github.io/) a finite 84 element/volume fluids code 85- [FreeFEM](https://freefem.org/) finite element and boundary element PDE solver 86 with embedded domain specific language 87- [GetDP](https://www.getdp.info/) a General Environment for the Treatment of Discrete Problems 88- [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 89- [hIPPYlib](https://hippylib.github.io) [FEniCS](https://fenicsproject.org/)-based toolkit 90 for solving deterministic and Bayesian inverse 91 problems governed by PDEs 92- [libMesh](https://libmesh.github.io) adaptive finite element 93 library 94- [MFEM](https://mfem.org/) lightweight, scalable C++ library 95 for finite element methods 96- [MLSVM](https://github.com/esadr/mlsvm), Multilevel Support 97 Vector Machines with PETSc. 98- [MoFEM](http://mofem.eng.gla.ac.uk/mofem/html), An open 99 source, parallel finite element library 100- [MOOSE - Multiphysics Object-Oriented Simulation 101 Environment](https://mooseframework.inl.gov/) finite element 102 framework, built on [libMesh](https://libmesh.github.io). 103- [OOFEM](http://www.oofem.org) object-oriented finite element 104 library 105- [OpenCarp](https://opencarp.org/) Cardiac electrophysiology simulator 106- [OpenFOAM](https://develop.openfoam.com/modules/external-solver) 107 Available as an extension for linear solvers for OpenFOAM 108- [OpenFPM](https://openfpm.mpi-cbg.de/) framework for particles and mesh simulation 109- [OpenFVM](http://openfvm.sourceforge.net/) finite volume 110 based CFD solver 111- [PermonSVM](http://permon.vsb.cz/permonsvm.htm) support 112 vector machines and 113 [PermonQP](http://permon.vsb.cz/permonqp.htm) quadratic 114 programming 115- [PetIGA](https://github.com/dalcinl/PetIGA) A framework 116 for high performance Isogeometric Analysis 117- [PFLOTRAN](https://pflotran.org/) An open source, state-of-the-art 118 code for massively parallel simulation of subsurface flow, reactive transport, geomechanics, and electrical resistivity tomography 119- [PHAML](https://math.nist.gov/phaml/) The Parallel 120 Hierarchical Adaptive MultiLevel Project 121- [preCICE](https://www.precice.org) - A fully parallel 122 coupling library for partitioned multi-physics simulations 123- [PyClaw](https://www.clawpack.org/pyclaw/) A massively 124 parallel, high order accurate, hyperbolic PDE solver 125- [SLEPc](https://slepc.upv.es/) Scalable Library for 126 Eigenvalue Problems 127- [tmm4py](https://github.com/samarkhatiwala/tmm) Transport Matrix Method for simulating ocean biogeochemical processes 128 129(doc_index_citing_petsc)= 130 131## Citing PETSc 132 133You can run PETSc programs with the option `-citations` to print appropriate citations for the software and algorithms being used in that program. 134 135For general citations on PETSc please use the following: 136 137```{literalinclude} /petsc.bib 138:append: '}' 139:end-at: year 140:language: none 141:start-at: petsc-web-page 142``` 143 144```{literalinclude} /petsc.bib 145:append: '}' 146:end-at: year 147:language: none 148:start-at: petsc-user-ref 149``` 150 151```{literalinclude} /petsc.bib 152:append: '}' 153:end-at: year 154:language: none 155:start-at: petsc-efficient 156``` 157 158For petsc4py usage please cite 159 160```{literalinclude} /petsc.bib 161:append: '}' 162:end-at: year 163:language: none 164:start-at: dalcinpazklercosimo2011 165``` 166 167For PETSc usage on GPUs please cite 168 169```{literalinclude} /petsc.bib 170:append: '}' 171:end-at: author 172:language: none 173:start-at: mills2021 174``` 175 176For `PetscSF` -- parallel communication in PETSc -- please cite 177 178```{literalinclude} /petsc.bib 179:append: '}' 180:end-at: pages 181:language: none 182:start-at: petscsf2022 183``` 184 185If you use the `TS` component of PETSc please cite the following: 186 187```{literalinclude} petsc.bib 188:append: '}' 189:end-at: year 190:language: none 191:start-at: abhyankaretal2018 192``` 193 194If you utilize the `TS` adjoint solver please cite 195 196```{literalinclude} /petsc.bib 197:append: '}' 198:end-at: year 199:language: none 200:start-at: zhang2022tsadjoint 201``` 202