FISHPAK
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* F I S H P A K *
* *
* *
* A PACKAGE OF FORTRAN SUBPROGRAMS FOR THE SOLUTION OF *
* *
* SEPARABLE ELLIPTIC PARTIAL DIFFERENTIAL EQUATIONS *
* *
* (VERSION 3.1 , MAY 1981) *
* *
* BY *
* *
* JOHN ADAMS, PAUL SWARZTRAUBER AND ROLAND SWEET *
* *
* OF *
* *
* THE NATIONAL CENTER FOR ATMOSPHERIC RESEARCH *
* *
* BOULDER, COLORADO (80307) U.S.A. *
* *
* WHICH IS SPONSORED BY *
* *
* THE NATIONAL SCIENCE FOUNDATION *
* *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1 SUBROUTINE HWSCRT SOLVES THE STANDARD FIVE-POINT FINITE
DIFFERENCE APPROXIMATION TO THE HELMHOLTZ EQUATION IN
CARTESIAN COORDINATES
(D/DX)(DU/DX) + (D/DY)(DU/DY) + LAMBDA*U = F(X,Y)
USING A CENTERED FINITE DIFFERENCE GRID.
2 SUBROUTINE HWSPLR SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE HELMHOLTZ EQUATION IN POLAR COORDINATES
(1/R)(D/DR)(R(DU/DR)) + (1/R**2)(D/DTHETA)(DU/DTHETA)
+ LAMBDA*U = F(R,THETA)
USING A CENTERED FINITE DIFFERENCE GRID.
3 SUBROUTINE HWSCYL SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE MODIFIED HELMHOLTZ EQUATION IN CYLINDRICAL
COORDINATES
(1/R)(D/DR)(R(DU/DR)) + (D/DZ)(DU/DZ)
+ (LAMBDA/R**2)*U = F(R,Z)
USING A CENTERED FINITE DIFFERENCE GRID.
4 SUBROUTINE HWSSSP SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE HELMHOLTZ EQUATION IN SPHERICAL
COORDINATES AND ON THE SURFACE OF THE UNIT SPHERE
(1/SIN(THETA))(D/DTHETA)(SIN(THETA)(DU/DTHETA))
+ (1/SIN(THETA)**2)(D/DPHI)(DU/DPHI)
+ LAMBDA*U = F(THETA,PHI)
USING A CENTERED FINITE DIFFERENCE GRID.
5 SUBROUTINE HWSCSP SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE MODIFIED HELMHOLTZ EQUATION IN SPHERICAL
COORDINATE ASSUMING AXISYMMETRY (NO DEPENDENCE ON LONGITUDE)
(1/R**2)(D/DR)(R**2(DU/DR))
+ 1/(R**2*SIN(THETA))(D/DTHETA)(SIN(THETA)(DU/DTHETA))
+ (LAMBDA/(R*SIN(THETA)**2))*U = F(THETA,R)
USING A CENTERED FINITE DIFFERENCE GRID.
7 6 SUBROUTINE HSTCRT SOLVES THE STANDARD FIVE-POINT FINITE
DIFFERENCE APPROXIMATION TO THE HELMHOLTZ EQUATION IN
CARTESIAN COORDINATES
(D/DX)(DU/DX) + (D/DY)(DU/DY) + LAMBDA*U = F(X,Y)
USING A STAGGERED FINITE DIFFERENCE GRID.
7 SUBROUTINE HSTPLR SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE HELMHOLTZ EQUATION IN POLAR COORDINATES
(1/R)(D/DR)(R(DU/DR)) + (1/R**2)(D/DTHETA)(DU/DTHETA)
+ LAMBDA*U = F(R,THETA)
USING A STAGGERED FINITE DIFFERENCE GRID.
8 SUBROUTINE HSTCYL SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE MODIFIED HELMHOLTZ EQUATION IN CYLINDRICAL
COORDINATES
(1/R)(D/DR)(R(DU/DR)) + (D/DZ)(DU/DZ)
+ (LAMBDA/R**2)*U = F(R,Z)
USING A STAGGERED FINITE DIFFERENCE GRID.
9 SUBROUTINE HSTSSP SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE HELMHOLTZ EQUATION IN SPHERICAL
COORDINATES AND ON THE SURFACE OF THE UNIT SPHERE
(1/SIN(THETA))(D/DTHETA)(SIN(THETA)(DU/DTHETA))
+ (1/SIN(THETA)**2)(D/DPHI)(DU/DPHI)
+ LAMBDA*U = F(THETA,PHI)
USING A STAGGERED FINITE DIFFERENCE GRID.
10 SUBROUTINE HSTCSP SOLVES A FIVE-POINT FINITE DIFFERENCE
APPROXIMATION TO THE MODIFIED HELMHOLTZ EQUATION IN SPHERICAL
COORDINATE ASSUMING AXISYMMETRY (NO DEPENDENCE ON LONGITUDE)
(1/R**2)(D/DR)(R**2(DU/DR))
+ 1/(R**2*SIN(THETA))(D/DTHETA)(SIN(THETA)(DU/DTHETA))
+ (LAMBDA/(R*SIN(THETA)**2))*U = F(THETA,R)
USING A STAGGERED FINITE DIFFERENCE GRID.
11 SUBROUTINE HW3CRT SOLVES THE STANDARD SEVEN-POINT FINITE
DIFFERENCE APPROXIMATION TO THE HELMHOLTZ EQUATION IN
CARTESIAN COORDINATES
(D/DX)(DU/DX) + (D/DY)(DU/DY) + (D/DZ)(DU/DZ)
+ LAMBDA*U = F(X,Y,Z)
USING A CENTERED FINITE DIFFERENCE GRID.
12 SUBROUTINE SEPX4 AUTOMATICALLY DISCRETIZES AND SOLVES SECOND
AND (OPTIONALLY) FOURTH ORDER FINITE DIFFERENCE APPROXIMATIONS
ON A UNIFORM GRID TO CERTAIN SEPARABLE ELLIPTIC PARTIAL
DIFFERENTIAL EQUATIONS WITH CONSTANT COEFFICIENTS IN ONE
DIRECTION.
13 SUBROUTINE SEPELI AUTOMATICALLY DISCRETIZES AND SOLVES SECOND
AND (OPTIONALLY) FOURTH ORDER FINITE DIFFERENCE APPROXIMATIONS
ON A UNIFORM GRID TO A SEPARABLE ELLIPTIC PARTIAL DIFFERENTIAL
EQUATION ON A RECTANGLE.
14 SUBROUTINE GENBUN SOLVES THE LINEAR SYSTEM OF EQUATIONS THAT
RESULTS FROM A FINITE DIFFERENCE APPROXIMATION ON A CENTERED
GRID TO CERTAIN TWO-DIMENSIONAL ELLIPTIC PARTIAL DIFFERENTIAL
EQUATIONS WITH CONSTANT COEFFICIENTS IN ONE DIRECTION.
15 SUBROUTINE BLKTRI SOLVES BLOCK TRIDIAGONAL LINEAR SYSTEMS THAT
ARISE FROM FINITE DIFFERENCE APPROXIMATIONS TO SEPARABLE TWO-
DIMENSIONAL ELLIPTIC PARTIAL DIFFERENTIAL EQUATIONS.
16 SUBROUTINE POISTG SOLVES A BLOCK TRIDIAGONAL LINEAR SYSTEM OF
EQUATIONS THAT ARISES FROM FINITE DIFFERENCE APPROXIMATIONS
ON A STAGGERED GRID TO TWO-DIMENSIONAL ELLIPTIC PARTIAL
DIFFERENTIAL EQUATIONS WITH CONSTANT COEFFICIENTS IN ONE
DIRECTION.
17 SUBROUTINE POIS3D SOLVES A BLOCK TRIDIAGONAL LINEAR SYSTEM OF
EQUATIONS THAT ARISES FROM FINITE DIFFERENCE APPROXIMATIONS TO
THREE-DIMENSIONAL ELLIPTIC PARTIAL DIFFERENTIAL EQUATIONS IN A
BOX.
18 SUBROUTINE CMGNBN SOLVES A COMPLEX BLOCK TRIDIAGONAL LINEAR
SYSTEM ARISING FROM FINITE DIFFERENCE APPROXIMATIONS TO SEPARAB
COMPLEX TWO-DIMENSIONAL ELLIPTIC PARTIAL DIFFERENTIAL EQUATIONS
19 SUBROUTINE CBLKTR SOLVES A COMPLEX BLOCK TRIDIAGONAL LINEAR
SYSTEM OF EQUATIONS ARISING FROM FINITE DIFFERENCE APPROXIMATIO
TO SEPARABLE COMPLEX TWO-DIMENSIONAL ELLIPTIC PARTIAL
DIFFERENTIAL EQUATIONS.