xref: /petsc/doc/index.md (revision daba9d70159ea2f6905738fcbec7404635487b2b)
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
127(doc_index_citing_petsc)=
128
129## Citing PETSc
130
131You can run PETSc programs with the option `-citations` to print appropriate citations for the software and algorithms being used in that program.
132
133For general citations on PETSc please use the following:
134
135```{literalinclude} /petsc.bib
136:append: '}'
137:end-at: year
138:language: none
139:start-at: petsc-web-page
140```
141
142```{literalinclude} /petsc.bib
143:append: '}'
144:end-at: year
145:language: none
146:start-at: petsc-user-ref
147```
148
149```{literalinclude} /petsc.bib
150:append: '}'
151:end-at: year
152:language: none
153:start-at: petsc-efficient
154```
155
156For petsc4py usage please cite
157
158```{literalinclude} /petsc.bib
159:append: '}'
160:end-at: year
161:language: none
162:start-at: dalcinpazklercosimo2011
163```
164
165For PETSc usage on GPUs please cite
166
167```{literalinclude} /petsc.bib
168:append: '}'
169:end-at: author
170:language: none
171:start-at: mills2021
172```
173
174For `PetscSF` -- parallel communication in PETSc -- please cite
175
176```{literalinclude} /petsc.bib
177:append: '}'
178:end-at: pages
179:language: none
180:start-at: petscsf2022
181```
182
183If you use the `TS` component of PETSc please cite the following:
184
185```{literalinclude} petsc.bib
186:append: '}'
187:end-at: year
188:language: none
189:start-at: abhyankaretal2018
190```
191
192If you utilize the `TS` adjoint solver please cite
193
194```{literalinclude} /petsc.bib
195:append: '}'
196:end-at: year
197:language: none
198:start-at: zhang2022tsadjoint
199```
200