Skip to main content
Ctrl+K
Logo image Logo image

Site Navigation

  • Overview
  • Install
  • Tutorials
  • User-Guide
  • C/Fortran API
  • Python API
  • FAQ
  • Community
  • Developers
  • Misc.

Site Navigation

  • Overview
  • Install
  • Tutorials
  • User-Guide
  • C/Fortran API
  • Python API
  • FAQ
  • Community
  • Developers
  • Misc.

Section Navigation

  • PETSc in a nutshell
  • Supported Systems
  • GPU Support Roadmap
  • Summary of Vector Types Available In PETSc
  • Summary of Matrix Types Available In PETSc
  • Summary of Sparse Linear Solvers Available In PETSc
  • Summary of Nonlinear Solvers Available In PETSc
  • Summary of Tao Solvers
  • Summary of Discretization Management Systems
  • User-Guide
    • Introduction to PETSc
      • About This Manual
      • Getting Started
    • The Solvers in PETSc/TAO
      • Vectors and Parallel Data
      • Matrices
      • KSP: Linear System Solvers
      • SNES: Nonlinear Solvers
      • TS: Scalable ODE and DAE Solvers
      • TAO: Optimization Solvers
    • DM: Interfacing Between Solvers and Models/Discretizations
      • DM Basics
      • DMPlex: Unstructured Grids in PETSc
      • DMSTAG: Staggered, Structured Grids in PETSc
      • PetscDT: Discretization Technology in PETSc
      • PetscFE: Finite Element Infrastructure in PETSc
      • Networks
    • Additional Information
      • PETSc for Fortran Users
      • Using MATLAB with PETSc
      • Profiling
      • Hints for Performance Tuning
      • The Use of BLAS and LAPACK in PETSc and external libraries
      • Other PETSc Features
      • Advanced Features of Matrices and Solvers
      • Running PETSc Tests
      • Acknowledgments
  • C/Fortran API
    • Vectors and Index Sets
      • Vector Operations (Vec)
      • Index sets (IS)
    • Matrices and Matrix Operations
      • Matrix Operations (Mat)
      • Matrix colorings (MatColoring), orderings (MatOrdering), and partitionings (MatPartitioning)
      • Finite difference computation of Jacobians (MatFD)
    • Data Layout and Communication
      • Star Forest Communication (PetscSF)
      • Section Data Layout (PetscSection)
      • Application Orderings (AO)
    • Data Management between Vec and Mat, and Distributed Mesh Data Structures
      • Data Management (DM)
      • Structured Grids (DMDA)
      • Staggered, Structured Grids (DMStag)
      • Unstructured Grids and Cell Complexes (DMPlex)
      • Graphs and Networks (DMNetwork)
      • A Forest of Trees and Structured Adaptive Refinement (DMFOREST)
      • Sequences of parallel mesh patches (DMPatch)
      • Particle Discretizations (DMSwarm)
      • MOAB Mesh Representation (DMMOAB)
      • Selecting Parts of Meshes (DMLabel)
      • Tensor products of meshes (DMProduct)
    • Discretization and Function Spaces
      • Discretization Technology and Quadrature (DT)
      • Function Spaces (PetscSpace)
      • Dual Spaces (PetscDualSpace)
      • Finite Elements (PetscFE)
      • Finite Volumes (PetscFV)
      • Defining your own mathematical functions (PF)
      • Landau Collision Operator
    • Linear Solvers and Preconditioners
      • Linear Solvers and Krylov Methods (KSP)
      • Preconditioners (PC)
    • Nonlinear Solvers
      • Nonlinear Solvers (SNES)
      • Full Approximation Storage (FAS) nonlinear multigrid
    • Forward and Adjoint Timestepping
      • Time Stepping ODE and DAE Solvers (TS)
      • Sensitivity Analysis for ODE and DAE
      • Semi-Lagrangian Solves using the Method of Characteristics
    • Optimization
      • Optimization Solvers (Tao)
      • Optimization Line Search (TaoLineSearch)
    • Graphics and Visualization
      • Graphics (Draw)
      • Viewing Objects (Viewer)
    • System Routines, Profiling, Data Structures
      • PETSc Options, IO, and System Utilities
      • Hash Tables
      • Profiling and Logging
    • Changes for each release
      • main - PETSc development version
    • Single Index of all PETSc Manual Pages
  • Changes for each release
    • main - PETSc development version
  • Single Index of all PETSc Manual Pages

Introduction to PETSc#

  • About This Manual
  • Getting Started
    • Suggested Reading
    • Running PETSc Programs
    • Writing PETSc Programs
    • Simple PETSc Examples
  • Parallel and GPU Programming
    • MPI Parallelism
    • CPU SIMD parallelism
    • CPU OpenMP parallelism
    • GPU kernel parallelism
    • GPU stream parallelism
  • Compiling and Running Programs
  • Profiling Programs
  • Writing C/C++ or Fortran Applications
  • PETSc’s Object-Oriented Design
    • User Callbacks
  • Directory Structure

previous

User-Guide

next

About This Manual

Edit this page
Show Source

© Copyright 1991-2023, UChicago Argonne, LLC and the PETSc Development Team.

Created using Sphinx 5.3.0.

Last updated on 2023-03-20T03:48:39-0500 (v3.18.5-1055-gbacc28a0d96).