xref: /petsc/doc/index.md (revision e28069aeb21816dbada47f7df7222f9c4b552cdb)
19b92b1d3SBarry Smith# PETSc
29b92b1d3SBarry Smith
39b92b1d3SBarry SmithPETSc, the Portable, Extensible Toolkit for Scientific Computation,
49b92b1d3SBarry Smithpronounced PET-see ([/ˈpɛt-siː/](https://en.wikipedia.org/wiki/Help:IPA/English#Key)), is
59b92b1d3SBarry Smithfor the scalable (parallel) solution of scientific
69b92b1d3SBarry Smithapplications modeled by partial differential equations (PDEs). It has bindings for C, Fortran, and Python (via petsc4py).
79b92b1d3SBarry SmithPETSc also contains TAO, the Toolkit for Advanced Optimization, software library.
89b92b1d3SBarry SmithThey support MPI, and GPUs through
99b92b1d3SBarry SmithCUDA, HIP, Kokkos, or OpenCL, as well as hybrid MPI-GPU parallelism; they also support the NEC-SX Tsubasa Vector Engine.
109b92b1d3SBarry SmithImmediately jump in and run PETSc and TAO code {any}`handson`.
119b92b1d3SBarry Smith
12d533f534SBarry Smith## News
13d533f534SBarry Smith
14*e28069aeSJunchao Zhang**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*e28069aeSJunchao Zhang
165b5d10d3SBarry SmithPierre Jolivet replaces Mrs. Hong Zhang as NumFOCUS signatory due
175b5d10d3SBarry Smithto Mrs. Hong Zhang's retirement by unanimous vote of the PETSc council. {any}`Current list of NumFOCUS signatories<numfocus-signatories>`.
185b5d10d3SBarry Smith
195f0c5ebcSBarry SmithThe exciting {any}`2025 PETSc Annual User Meeting<2025_meeting>` recently took place May 20-21, 2025 in Buffalo, New York, USA.
205f0c5ebcSBarry SmithFollow the link for abstracts and talks.
215f0c5ebcSBarry Smith
22d533f534SBarry Smith[SIAM News article](https://www.siam.org/publications/siam-news/articles/opencarp-personalized-computational-model-of-the-heart-examines-cardiac-rhythm/)
23d533f534SBarry Smithon the PETSc-powered [OpenCarp](https://opencarp.org/) cardiac electrophysiology simulator.
24d533f534SBarry Smith
259b92b1d3SBarry SmithPETSc is now on [BlueSky](https://bsky.app/profile/petsc.org).
269b92b1d3SBarry Smith
27d533f534SBarry Smith## Book
289b92b1d3SBarry Smith
299b92b1d3SBarry Smith> **PETSc for Partial Differential Equations: Numerical Solutions in C and Python**, by Ed Bueler.
309b92b1d3SBarry Smith>
319b92b1d3SBarry Smith> - [Book from SIAM Press](https://my.siam.org/Store/Product/viewproduct/?ProductId=32850137)
329b92b1d3SBarry Smith> - [Google Play E-book](https://play.google.com/store/books/details/Ed_Bueler_PETSc_for_Partial_Differential_Equations?id=tgMHEAAAQBAJ)
339b92b1d3SBarry Smith
349b92b1d3SBarry Smith## Main Topics
359b92b1d3SBarry Smith
369b92b1d3SBarry Smith```{toctree}
379b92b1d3SBarry Smith:maxdepth: 1
389b92b1d3SBarry Smith
399b92b1d3SBarry Smithoverview/index
409b92b1d3SBarry Smithinstall/index
419b92b1d3SBarry Smithtutorials/index
429b92b1d3SBarry Smithmanual/index
439b92b1d3SBarry Smithmanualpages/index
449b92b1d3SBarry Smithpetsc4py/index
459b92b1d3SBarry Smithfaq/index
469b92b1d3SBarry Smithcommunity/index
479b92b1d3SBarry Smithdevelopers/index
489b92b1d3SBarry Smithmiscellaneous/index
499b92b1d3SBarry Smith```
509b92b1d3SBarry Smith
519b92b1d3SBarry Smith<a href="./manual/manual.pdf">PETSc/TAO Users Manual in PDF</a>
529b92b1d3SBarry Smith
539b92b1d3SBarry Smith(doc_toolkits_use_petsc)=
549b92b1d3SBarry Smith
559b92b1d3SBarry Smith## Toolkits/libraries that use PETSc
569b92b1d3SBarry Smith
579b92b1d3SBarry Smith- [ADflow](https://github.com/mdolab/adflow) An open-source
589b92b1d3SBarry Smith  computational fluid dynamics solver for aerodynamic and
599b92b1d3SBarry Smith  multidisciplinary optimization
609b92b1d3SBarry Smith- [BOUT++](https://boutproject.github.io) Plasma simulation
619b92b1d3SBarry Smith  in curvilinear coordinate systems
629b92b1d3SBarry Smith- [Chaste](https://www.cs.ox.ac.uk/chaste/) Cancer, Heart and
639b92b1d3SBarry Smith  Soft Tissue Environment
649b92b1d3SBarry Smith- [code_aster](https://www.code-aster.org/V2/spip.php?rubrique2)
659b92b1d3SBarry Smith  open-source general purpose finite element code for solid and
669b92b1d3SBarry Smith  structural mechanics
679b92b1d3SBarry Smith- [code_saturne](https://www.code-saturne.org)
689b92b1d3SBarry Smith  open-source general purpose code for fluid dynamics
699b92b1d3SBarry Smith- [COOLFluiD](https://github.com/andrealani/COOLFluiD) CFD,
709b92b1d3SBarry Smith  plasma and multi-physics simulation package
719b92b1d3SBarry Smith- [DAFoam](https://dafoam.github.io) Discrete adjoint solvers
729b92b1d3SBarry Smith  with [OpenFOAM](https://openfoam.com) for aerodynamic
739b92b1d3SBarry Smith  optimization
749b92b1d3SBarry Smith- [DAMASK](https://damask-multiphysics.org) Unified multi-physics
759b92b1d3SBarry Smith  crystal plasticity simulation package
76558e78d4SPierre Jolivet- [DEAL.II](https://www.dealii.org/) C++-based finite element
779b92b1d3SBarry Smith  simulation package
78558e78d4SPierre Jolivet- [DUNE-FEM](https://dune-project.org/sphinx/content/sphinx/dune-fem/) Python and C++-based finite element simulation package
79558e78d4SPierre Jolivet- [FEniCS](https://fenicsproject.org/) Python-based finite
809b92b1d3SBarry Smith  element simulation package
81558e78d4SPierre Jolivet- [Firedrake](https://www.firedrakeproject.org/) Python-based
829b92b1d3SBarry Smith  finite element simulation package
839b92b1d3SBarry Smith- [Fluidity](https://fluidityproject.github.io/) a finite
849b92b1d3SBarry Smith  element/volume fluids code
859b92b1d3SBarry Smith- [FreeFEM](https://freefem.org/) finite element and boundary element PDE solver
869b92b1d3SBarry Smith  with embedded domain specific language
879b92b1d3SBarry Smith- [GetDP](https://www.getdp.info/) a General Environment for the Treatment of Discrete Problems
88558e78d4SPierre Jolivet- [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
899b92b1d3SBarry Smith- [hIPPYlib](https://hippylib.github.io) [FEniCS](https://fenicsproject.org/)-based toolkit
909b92b1d3SBarry Smith  for solving deterministic and Bayesian inverse
919b92b1d3SBarry Smith  problems governed by PDEs
929b92b1d3SBarry Smith- [libMesh](https://libmesh.github.io) adaptive finite element
939b92b1d3SBarry Smith  library
949b92b1d3SBarry Smith- [MFEM](https://mfem.org/) lightweight, scalable C++ library
959b92b1d3SBarry Smith  for finite element methods
969b92b1d3SBarry Smith- [MLSVM](https://github.com/esadr/mlsvm), Multilevel Support
979b92b1d3SBarry Smith  Vector Machines with PETSc.
989b92b1d3SBarry Smith- [MoFEM](http://mofem.eng.gla.ac.uk/mofem/html), An open
999b92b1d3SBarry Smith  source, parallel finite element library
1009b92b1d3SBarry Smith- [MOOSE - Multiphysics Object-Oriented Simulation
1019b92b1d3SBarry Smith  Environment](https://mooseframework.inl.gov/) finite element
1029b92b1d3SBarry Smith  framework, built on [libMesh](https://libmesh.github.io).
1039b92b1d3SBarry Smith- [OOFEM](http://www.oofem.org) object-oriented finite element
1049b92b1d3SBarry Smith  library
1059b92b1d3SBarry Smith- [OpenCarp](https://opencarp.org/) Cardiac electrophysiology simulator
1069b92b1d3SBarry Smith- [OpenFOAM](https://develop.openfoam.com/modules/external-solver)
1079b92b1d3SBarry Smith  Available as an extension for linear solvers for OpenFOAM
1089b92b1d3SBarry Smith- [OpenFPM](https://openfpm.mpi-cbg.de/) framework for particles and mesh simulation
1099b92b1d3SBarry Smith- [OpenFVM](http://openfvm.sourceforge.net/) finite volume
1109b92b1d3SBarry Smith  based CFD solver
1119b92b1d3SBarry Smith- [PermonSVM](http://permon.vsb.cz/permonsvm.htm) support
1129b92b1d3SBarry Smith  vector machines and
1139b92b1d3SBarry Smith  [PermonQP](http://permon.vsb.cz/permonqp.htm) quadratic
1149b92b1d3SBarry Smith  programming
1159b92b1d3SBarry Smith- [PetIGA](https://github.com/dalcinl/PetIGA) A framework
1169b92b1d3SBarry Smith  for high performance Isogeometric Analysis
1179b92b1d3SBarry Smith- [PFLOTRAN](https://pflotran.org/) An open source, state-of-the-art
1189b92b1d3SBarry Smith  code for massively parallel simulation of subsurface flow, reactive transport, geomechanics, and electrical resistivity tomography
1199b92b1d3SBarry Smith- [PHAML](https://math.nist.gov/phaml/) The Parallel
1209b92b1d3SBarry Smith  Hierarchical Adaptive MultiLevel Project
1219b92b1d3SBarry Smith- [preCICE](https://www.precice.org) - A fully parallel
1229b92b1d3SBarry Smith  coupling library for partitioned multi-physics simulations
1239b92b1d3SBarry Smith- [PyClaw](https://www.clawpack.org/pyclaw/) A massively
1249b92b1d3SBarry Smith  parallel, high order accurate, hyperbolic PDE solver
1259b92b1d3SBarry Smith- [SLEPc](https://slepc.upv.es/) Scalable Library for
1269b92b1d3SBarry Smith  Eigenvalue Problems
127b7c0d3c4SMatthew Knepley- [tmm4py](https://github.com/samarkhatiwala/tmm) Transport Matrix Method for simulating ocean biogeochemical processes
1289b92b1d3SBarry Smith
1299b92b1d3SBarry Smith(doc_index_citing_petsc)=
1309b92b1d3SBarry Smith
1319b92b1d3SBarry Smith## Citing PETSc
1329b92b1d3SBarry Smith
1339b92b1d3SBarry SmithYou can run PETSc programs with the option `-citations` to print appropriate citations for the software and algorithms being used in that program.
1349b92b1d3SBarry Smith
1359b92b1d3SBarry SmithFor general citations on PETSc please use the following:
1369b92b1d3SBarry Smith
1379b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1389b92b1d3SBarry Smith:append: '}'
1399b92b1d3SBarry Smith:end-at: year
1409b92b1d3SBarry Smith:language: none
1419b92b1d3SBarry Smith:start-at: petsc-web-page
1429b92b1d3SBarry Smith```
1439b92b1d3SBarry Smith
1449b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1459b92b1d3SBarry Smith:append: '}'
1469b92b1d3SBarry Smith:end-at: year
1479b92b1d3SBarry Smith:language: none
1489b92b1d3SBarry Smith:start-at: petsc-user-ref
1499b92b1d3SBarry Smith```
1509b92b1d3SBarry Smith
1519b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1529b92b1d3SBarry Smith:append: '}'
1539b92b1d3SBarry Smith:end-at: year
1549b92b1d3SBarry Smith:language: none
1559b92b1d3SBarry Smith:start-at: petsc-efficient
1569b92b1d3SBarry Smith```
1579b92b1d3SBarry Smith
1589b92b1d3SBarry SmithFor petsc4py usage please cite
1599b92b1d3SBarry Smith
1609b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1619b92b1d3SBarry Smith:append: '}'
1629b92b1d3SBarry Smith:end-at: year
1639b92b1d3SBarry Smith:language: none
1649b92b1d3SBarry Smith:start-at: dalcinpazklercosimo2011
1659b92b1d3SBarry Smith```
1669b92b1d3SBarry Smith
1679b92b1d3SBarry SmithFor PETSc usage on GPUs please cite
1689b92b1d3SBarry Smith
1699b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1709b92b1d3SBarry Smith:append: '}'
1719b92b1d3SBarry Smith:end-at: author
1729b92b1d3SBarry Smith:language: none
1739b92b1d3SBarry Smith:start-at: mills2021
1749b92b1d3SBarry Smith```
1759b92b1d3SBarry Smith
1769b92b1d3SBarry SmithFor `PetscSF` -- parallel communication in PETSc -- please cite
1779b92b1d3SBarry Smith
1789b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1799b92b1d3SBarry Smith:append: '}'
1809b92b1d3SBarry Smith:end-at: pages
1819b92b1d3SBarry Smith:language: none
1829b92b1d3SBarry Smith:start-at: petscsf2022
1839b92b1d3SBarry Smith```
1849b92b1d3SBarry Smith
1859b92b1d3SBarry SmithIf you use the `TS` component of PETSc please cite the following:
1869b92b1d3SBarry Smith
1879b92b1d3SBarry Smith```{literalinclude} petsc.bib
1889b92b1d3SBarry Smith:append: '}'
1899b92b1d3SBarry Smith:end-at: year
1909b92b1d3SBarry Smith:language: none
1919b92b1d3SBarry Smith:start-at: abhyankaretal2018
1929b92b1d3SBarry Smith```
1939b92b1d3SBarry Smith
1949b92b1d3SBarry SmithIf you utilize the `TS` adjoint solver please cite
1959b92b1d3SBarry Smith
1969b92b1d3SBarry Smith```{literalinclude} /petsc.bib
1979b92b1d3SBarry Smith:append: '}'
1989b92b1d3SBarry Smith:end-at: year
1999b92b1d3SBarry Smith:language: none
2009b92b1d3SBarry Smith:start-at: zhang2022tsadjoint
2019b92b1d3SBarry Smith```
202