FISHPACK
A Poisson Equation Solver


FISHPACK is a library of routines in FORTRAN77 for solving Poisson's equation.

FISHPACK is a package of subroutines for solving separable partial differential equations in various coordinate systems. Such equations include the Laplace, Poisson and Helmholtz equations and have the form:


        Uxx + Uyy            = 0         (Laplace)
        Uxx + Uyy            = F(X,Y)    (Poisson)
        Uxx + Uyy + lambda*U = F(X,Y)    (Helmholtz)
      
in two dimensional cartesian coordinates.

The coordinate systems include

The algorithm uses 5 point finite differences and an evenly spaced grid. Other routines are included which solve related problems in which the derivative terms have coefficient functions.

In the documentation, the words "standard" and "staggered" grid are used. The difference between these grids is simple. In the one dimensional case, a standard grid of size H on the interval (A,B) would be (A, A+H, A+2*H, ..., B-H, B) whereas a staggered grid would be (A+H/2, A+3H/2, ..., B-3H/2, B-H/2). Versions of 2D solvers are offered below using both kinds of grids. Depending on the boundary conditions, or other singularities near the boundary, one or the other type of grid may be preferred.

The version of FISHPACK presented here has been altered and adapted somewhat. To obtain a clean and correct copy of the original version, go to http://www.netlib.org/fishpack/index.html

Related Programs:

BETIS is an executable FORTRAN77 program which solves Laplace's equation in a 2D region using the boundary element method.

FEM_50 is an executable MATLAB program which solves Laplace's equation in an arbitrary region using the finite element method.

FEM2D_POISSON is an executable FORTRAN77 program which solves Poisson's equation in a 2D rectangle using the finite element method.

FFTPACK is a FORTRAN90 library which computes Fast Fourier Transforms. A version of this library is included in FISHPACK.

FREE_FEM_POISSON is an executable FORTRAN77 program which solves Poisson's equation in an arbitrary triangulated region using the finite element method.

PLTMG_SINGLE is a FORTRAN77 library which solves elliptic partial differential equations in an arbitrary triangulated region using the finite element method and the multigrid algorithm.

SERBA is an executable FORTRAN77 program which solves problems in planar elasticity using the boundary element method.

SLATEC is a FORTRAN90 library which includes a copy of FISHPACK.

Reference:

  1. Paul Swarztrauber, Roland Sweet,
    Efficient FORTRAN Subprograms for the Solution of Elliptic Equations,
    NCAR Technical Report TN/IA-109,
    National Center for Atmospheric Research, 1975.

Source Code:

Examples and Tests:

FISHPACK_PRB runs many tests on the FISHPACK software.

FISHPACK_PRB2 runs a single test to solve a PDE.

List of Routines:

You can go up one level to the FORTRAN77 source codes.


Last revised on 08 December 2007.