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:
where is the unknown function, the known source
term, and 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
and on return it contains the unknown function .
- NX
- (INTEGER) Number of divisions along X.
NX must be of the form .
- 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 .
- IBX
- (INTEGER) Controls the type of boundary conditions on
the left (BWEST) and right (BEAST) sides of the rectangular
domain:
Imposed periodicity along x; BWEST, BEAST
not given.
Given derivative on either vertical side.
Given value on either vertical side.
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 ( ):
Given value on both lower and upper sides.
Given derivative on both lower and upper sides.
Given value on lower side, given derivative on upper
side.
Given derivative on lower side, given value on upper
side.
Parabolic equation ( ):
Specify BSOUTH array only. (If y=time, BSOUTH are initial
values and the future BNORTH cannot be specified).
Given value on lower side.
Given derivative on lower side.
Hyperbolic equation ( ):
The BSOUTH array specifies the value, the BNORTH array
the derivative.
.
- 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 , specify COMMON /FWORK/ of length 6*NX
and COMMON /FW1/ of length 6*NX in the calling program.
If , 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:
- 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.
Michel Goossens
Wed Jun 5 00:35:46 METDST 1996