D302: Fast Partial Differential Equation Solver

Author(s): R.C. Le Bail Library: MATHLIB
Submitter: Submitted: 20.03.1972
Language: Fortran Revised: 01.12.1981

ELPAHY uses fast Fourier transform techniques for the solution, over a rectangular domain, of the following elliptic, parabolic or hyperbolic part differential equation:

displaymath131

where tex2html_wrap_inline133 is the unknown function, tex2html_wrap_inline135 the known source term, and tex2html_wrap_inline137 given coefficients. A large variety of boundary conditions can be specified on the sides of the rectangle.

Structure:

SUBROUTINE subprogram
User Entry Names: ELPAHY
Internal Entry Names: NEWRO, ELANAL, ESOLVE, SYNT, MFT
External References: RFT
COMMON Block Names and Lengths: /FW1/ 774, /FW2/ 100

Usage:

    CALL ELPAHY(F,NX,NY,DX,DY,C,IBX,BWEST,BEAST,JBY,BSOUTH,BNORTH)
F
(REAL) Two-dimensional array, dimensioned (NX,NY) in the calling program. On input it contains the source term tex2html_wrap_inline139 and on return it contains the unknown function tex2html_wrap_inline141 .
NX
(INTEGER) Number of divisions along X. NX must be of the form tex2html_wrap_inline143 .
NY
(INTEGER) Number of divisions along Y.
DX
(REAL) Mesh spacing along X.
DY
(REAL) Mesh spacing along Y.
C
(REAL) One-dimensional array of dimension 3, containing the coefficients tex2html_wrap_inline145 .
IBX
(INTEGER) Controls the type of boundary conditions on the left (BWEST) and right (BEAST) sides of the rectangular domain:
tex2html_wrap_inline147 Imposed periodicity along x; BWEST, BEAST not given.
tex2html_wrap_inline151 Given derivative on either vertical side.
tex2html_wrap_inline153 Given value on either vertical side.
tex2html_wrap_inline155 Given value on the left side, given derivative on the right side.
BWEST
(REAL) One-dimensional array of size NY containing values or derivatives for the left side; the interpretation depends on IBX.
BEAST
(REAL) One-dimensional array of size NY containing values or derivatives for the right side; the interpretation depends on IBX.

JBY
(INTEGER) Controls the type of boundary conditions on the lower (BSOUTH) und upper (BNORTH) sides of the rectangular domain:
Elliptic equation ( tex2html_wrap_inline157 ):
tex2html_wrap_inline159 Given value on both lower and upper sides.
tex2html_wrap_inline161 Given derivative on both lower and upper sides.
tex2html_wrap_inline163 Given value on lower side, given derivative on upper side.
tex2html_wrap_inline165 Given derivative on lower side, given value on upper side.
Parabolic equation ( tex2html_wrap_inline167 ):
Specify BSOUTH array only. (If y=time, BSOUTH are initial values and the future BNORTH cannot be specified).
tex2html_wrap_inline169 Given value on lower side.
tex2html_wrap_inline171 Given derivative on lower side.
Hyperbolic equation ( tex2html_wrap_inline173 ):
The BSOUTH array specifies the value, the BNORTH array the derivative.
tex2html_wrap_inline175 .
BSOUTH
(REAL) One-dimensional array of size NX containing values or derivatives for the lower side; the interpretation depends on JBY.
BNORTH
(REAL) One-dimensional array of size NX containing values or derivatives for the upper side; the interpretation depends on JBY.

Notes:

If tex2html_wrap_inline177 , specify COMMON /FWORK/ of length 6*NX and COMMON /FW1/ of length 6*NX in the calling program. If tex2html_wrap_inline179 , specify COMMON /FW2/ of length 2*NY. In either case, make sure your program is loaded before ELPAHY (D302) (this is automatic unless you recompile D302 in the same job).

References:

  1. R.C. Le Bail, Use of fast Fourier transforms for solving partial differential equations in physics, J. Comput. Phys. 9 (1972) 440-465
A copy of Ref. 1 is available.
tex2html_wrap_inline181

Michel Goossens Wed Jun 5 00:35:46 METDST 1996