Up: Contents
Next: Programming with PETSc
Previous: Referencing PETSc
We conclude this introduction with an overview of the
organization of the PETSc software.
The root directory of PETSc contains the following directories:
- docs - All documentation for PETSc. The files manual.ps
and manual.html contain the users manual in
PostScript and HTML formats, respectively. Includes
the subdirectory
- manualpages (on-line manual pages).
- bin - Utilities and short scripts for use with PETSc, including
- petsarch (utility for setting PETSC_ARCH environmental variable),
- bmake - Base PETSc makefile directory. Includes subdirectories
for various architectures.
- include - All include files for PETSc that are visible to the user.
- include/finclude - PETSc include files for Fortran programmers using
the .F suffix (recommended).
- include/foldinclude - PETSc include files for Fortran programmers using
the .f suffix.
- include/pinclude - Private PETSc include files that should not
be used by application programmers.
- src - The source code for all PETSc components, which
currently includes
- vec - vectors,
- mat - matrices,
- dm
- da - distributed arrays,
- ao - application orderings,
- sles - complete linear equations solvers,
- ksp - Krylov subspace accelerators,
- pc - preconditioners,
- snes - nonlinear solvers and unconstrained minimization,
- ts - ODE solvers and timestepping,
- sys - general system-related routines,
- plog - PETSc logging and profiling routines,
- draw - simple graphics,
- fortran - Fortran interface stubs,
- contrib - contributed modules that use PETSc but are not
part of the official PETSc package. We encourage users who have
developed such code that they wish to share with others to let us
know by writing to petsc-maint@mcs.anl.gov.
Each PETSc source code component directory has the following subdirectories:
- examples - Example programs for the component, including
- tutorials - Programs designed to teach users about PETSc. These
codes can serve as templates for the design of custom applicatinos.
- tests - Programs designed for thorough testing of PETSc. As such,
these codes are not intended for examination by users.
- interface - The calling sequences for the abstract interface
to the component.
Code here does not know about particular implementations.
- impls - Source code for one or more implementations.
- utils - Utility routines. Source here may know about the
implementations, but ideally will not know about implementations
for other components.
Up: Contents
Next: Programming with PETSc
Previous: Referencing PETSc