xref: /petsc/doc/index.md (revision fd5a855563b981e3d8ad570cd3f080c8adb7dcc2)
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