xref: /petsc/doc/index.md (revision bf0c7fc2d7fb4e90d42e412b25194b878e6e442d)
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
14The 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`.
15
16
17The 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>`.
18
19Pierre Jolivet replaces Mrs. Hong Zhang as NumFOCUS signatory due
20to Mrs. Hong Zhang's retirement by unanimous vote of the PETSc council. {any}`Current list of NumFOCUS signatories<numfocus-signatories>`.
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
25## Book
26
27> **PETSc for Partial Differential Equations: Numerical Solutions in C and Python**, by Ed Bueler.
28>
29> - [Book from SIAM Press](https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137)
30> - [Google Play E-book](https://play.google.com/store/books/details/Ed_Bueler_PETSc_for_Partial_Differential_Equations?id=tgMHEAAAQBAJ)
31
32## Main Topics
33
34```{toctree}
35:maxdepth: 1
36
37overview/index
38install/index
39tutorials/index
40manual/index
41manualpages/index
42petsc4py/index
43faq/index
44community/index
45developers/index
46miscellaneous/index
47```
48
49<a href="./manual/manual.pdf">PETSc/TAO Users Manual in PDF</a>
50
51(doc_toolkits_use_petsc)=
52
53## Toolkits/libraries that use PETSc
54
55- [ADflow](https://github.com/mdolab/adflow) An open-source
56  computational fluid dynamics solver for aerodynamic and
57  multidisciplinary optimization
58- [BOUT++](https://boutproject.github.io) Plasma simulation
59  in curvilinear coordinate systems
60- [Chaste](https://www.cs.ox.ac.uk/chaste/) Cancer, Heart and
61  Soft Tissue Environment
62- [code_aster](https://www.code-aster.org/V2/spip.php?rubrique2)
63  open-source general purpose finite element code for solid and
64  structural mechanics
65- [code_saturne](https://www.code-saturne.org)
66  open-source general purpose code for fluid dynamics
67- [COOLFluiD](https://github.com/andrealani/COOLFluiD) CFD,
68  plasma and multi-physics simulation package
69- [DAFoam](https://dafoam.github.io) Discrete adjoint solvers
70  with [OpenFOAM](https://openfoam.com) for aerodynamic
71  optimization
72- [DAMASK](https://damask-multiphysics.org) Unified multi-physics
73  crystal plasticity simulation package
74- [DEAL.II](https://www.dealii.org/) C++-based finite element
75  simulation package
76- [DUNE-FEM](https://dune-project.org/sphinx/content/sphinx/dune-fem/) Python and C++-based finite element simulation package
77- [FEniCS](https://fenicsproject.org/) Python-based finite
78  element simulation package
79- [Firedrake](https://www.firedrakeproject.org/) Python-based
80  finite element simulation package
81- [Fluidity](https://fluidityproject.github.io/) a finite
82  element/volume fluids code
83- [FreeFEM](https://freefem.org/) finite element and boundary element PDE solver
84  with embedded domain specific language
85- [GetDP](https://www.getdp.info/) a General Environment for the Treatment of Discrete Problems
86- [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
87- [hIPPYlib](https://hippylib.github.io) [FEniCS](https://fenicsproject.org/)-based toolkit
88  for solving deterministic and Bayesian inverse
89  problems governed by PDEs
90- [libMesh](https://libmesh.github.io) adaptive finite element
91  library
92- [MFEM](https://mfem.org/) lightweight, scalable C++ library
93  for finite element methods
94- [MLSVM](https://github.com/esadr/mlsvm), Multilevel Support
95  Vector Machines with PETSc.
96- [MoFEM](http://mofem.eng.gla.ac.uk/mofem/html), An open
97  source, parallel finite element library
98- [MOOSE - Multiphysics Object-Oriented Simulation
99  Environment](https://mooseframework.inl.gov/) finite element
100  framework, built on [libMesh](https://libmesh.github.io).
101- [OOFEM](http://www.oofem.org) object-oriented finite element
102  library
103- [OpenCarp](https://opencarp.org/) Cardiac electrophysiology simulator
104- [OpenFOAM](https://develop.openfoam.com/modules/external-solver)
105  Available as an extension for linear solvers for OpenFOAM
106- [OpenFPM](https://openfpm.mpi-cbg.de/) framework for particles and mesh simulation
107- [OpenFVM](http://openfvm.sourceforge.net/) finite volume
108  based CFD solver
109- [PermonSVM](http://permon.vsb.cz/permonsvm.htm) support
110  vector machines and
111  [PermonQP](http://permon.vsb.cz/permonqp.htm) quadratic
112  programming
113- [PetIGA](https://github.com/dalcinl/PetIGA) A framework
114  for high performance Isogeometric Analysis
115- [PFLOTRAN](https://pflotran.org/) An open source, state-of-the-art
116  code for massively parallel simulation of subsurface flow, reactive transport, geomechanics, and electrical resistivity tomography
117- [PHAML](https://math.nist.gov/phaml/) The Parallel
118  Hierarchical Adaptive MultiLevel Project
119- [preCICE](https://www.precice.org) - A fully parallel
120  coupling library for partitioned multi-physics simulations
121- [PyClaw](https://www.clawpack.org/pyclaw/) A massively
122  parallel, high order accurate, hyperbolic PDE solver
123- [SLEPc](https://slepc.upv.es/) Scalable Library for
124  Eigenvalue Problems
125- [tmm4py](https://github.com/samarkhatiwala/tmm) Transport Matrix Method for simulating ocean biogeochemical processes
126- [Underworld3](https://www.underworldcode.org/underworld3-come-and-get-it/) Mathematically Self-Describing Modelling in Python for Geodynamics
127
128(doc_index_citing_petsc)=
129
130## Citing PETSc
131
132You can run PETSc programs with the option `-citations` to print appropriate citations for the software and algorithms being used in that program.
133
134For general citations on PETSc please use the following:
135
136```{literalinclude} /petsc.bib
137:append: '}'
138:end-at: year
139:language: none
140:start-at: petsc-web-page
141```
142
143```{literalinclude} /petsc.bib
144:append: '}'
145:end-at: year
146:language: none
147:start-at: petsc-user-ref
148```
149
150```{literalinclude} /petsc.bib
151:append: '}'
152:end-at: year
153:language: none
154:start-at: petsc-efficient
155```
156
157For petsc4py usage please cite
158
159```{literalinclude} /petsc.bib
160:append: '}'
161:end-at: year
162:language: none
163:start-at: dalcinpazklercosimo2011
164```
165
166For PETSc usage on GPUs please cite
167
168```{literalinclude} /petsc.bib
169:append: '}'
170:end-at: author
171:language: none
172:start-at: mills2021
173```
174
175For `PetscSF` -- parallel communication in PETSc -- please cite
176
177```{literalinclude} /petsc.bib
178:append: '}'
179:end-at: pages
180:language: none
181:start-at: petscsf2022
182```
183
184If you use the `TS` component of PETSc please cite the following:
185
186```{literalinclude} petsc.bib
187:append: '}'
188:end-at: year
189:language: none
190:start-at: abhyankaretal2018
191```
192
193If you utilize the `TS` adjoint solver please cite
194
195```{literalinclude} /petsc.bib
196:append: '}'
197:end-at: year
198:language: none
199:start-at: zhang2022tsadjoint
200```
201