Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] acvg_v2_0.gz(15 Kbytes)
Manuscript Title: FDEXTR 2.1: A new version of a program for the finite-difference solution of the coupled-channel Schrodinger equation using the Richardson extrapolation.
Authors: A.G. Abrashkevich, D.G. Abrashkevich
Program title: FDEXTR version 2.1
Catalogue identifier: ACVG_v2_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 113(1998)105
Programming language: Fortran.
Computer: DEC 3000 ALPHA AXP 800.
Operating system: UNIX4.0, AIX3.2.5, SunOS4.1.2, HP/UX9.01, Irix4.05.
RAM: 844K words
Word size: 64
Peripherals: disc.
Keywords: General purpose, Richardson extrapolation, Finite difference method, Schrodinger equation, Eigensolutions, Ordinary, Differential equations, Atomic, Molecular, Chemical physics.
Classification: 4.3.

Nature of problem:
Coupled second-order differential equations of the form
     [-P---  + Q(x)]Y(x) = lambdaY(x), x in [a,b],                       
 with boundary conditions                                                
     Y(a) = 0 or -----|   = 0,                                           
                  dx  |x=a                                               
     Y(b) = 0 or -----|   = 0,                                           
                  dx  |x=b     
are solved. Here lambda is an eigenvalue, Y(x) is and eigenvector, Q(x) is a symmetric potential matrix, and P = cI, where I is the unit matrix and c is some constant (usually c=h**2/2mu or 1). Such systems of coupled differential equations usually arise in atomic, molecular and chemical physics calculations after separating the scattering (radial) coordinate from the rest of variables in the multidimensional Schrodinger equation. The main purpose of the present paper is to present an iterative extrapolational procedure for high-precision calculation of the approximate eigensolutions of the coupled-channel Schrodinger equation.

Solution method:
The coupled differential equations are solved by the finite-difference method of the second order on a sequence of doubly condensed meshes with the iterative Richardson extrapolation of the difference eigensolutions [2]. The generalized algebraic eigenvalue problem AY = lambda BY arising from the replacement of the differential problem by a symmetric difference scheme of the second order of accuracy is solved by the subspace iteration method [3]. The same extrapolational procedure and error estimations are applied to the eigenvalues and eigenfunctions.

Summary of revisions:

  1. The code has been modified and optimized to compile under the Fortran 90 compiler.
  2. The SSPACE routine [3] used in the previous version of the FDEXTR [4] for the solution of the generalized eigenvalue problem has been replaced with the widely available standard routine F02FJF from the NAG Program Library [1]. This routine is designed for solution of generalized eigenvalue problems for large symmetric banded matrices. The procedure chooses a vector subspace of the full solution space and iterates upon successive solutions in the subspace. Subroutines FACTRS, DOT, IMAGE, MONIT, PROD and SOLVE have been added to the program. The function of each routine is briefly described below:
    • Subroutine F02FJF [1] finds eigenvalues and eigenvectors of a real sparse generalized symmetric eigenvalue problem using the subspace iteration method [3].
    • Subroutine FACTRS calculates L(D)L^T factorization of stiffness matrix.
    • DOUBLE PRECISION function DOT computes the generalized dot product w^TBz for given n element vectors z and w and mass matrix B.
    • Subroutine IMAGE solves the positive-definite system of equations Aw = Bz for w, where z is a given n element vector, and A and B are the stiffness and mass matrices, respectively.
    • Subroutine MONIT can be used by user to monitor the progress of the F02FJF program.
    • Subroutine PROD evaluates product of the two vectors stored in compact form.
    • Subroutine SOLVE solves a system of linear algebraic equations AX = B for X using L(D)L^T factorization.
  3. A new parameter NSITV has been added to the list of input program parameters. It specifies the number of simultaneous iteration vectors to be used.
  4. Output has been cleaned up and reduced.

The computer memory requirements depend on the number of equations to be solved, the number of grid points chosen, and the number of eigensolutions required. Restrictions due to dimension sizes may be easily alleviated by altering PARAMETER statements (see Long Write-Up and listing for details). The user must also supply a subroutine which evaluates the potential matrix Q(x) at a given x.

Running time:
The running time depends critically upon:
  1. the number of coupled differential equations;
  2. the number of required eigensolutions;
  3. the number of mesh points on the interval [a,b].
The test run which accompanies this paper took 1.67 s on the DEC 3000 ALPHA AXP Model 800.

[1] NAG Fortran Library Manual, Mark 15 (The Numerical Algorithms Group Limited, Oxford, c 1991).
[2] A.G. Abrashkevich and D.G. Abrashkevich, Comput. Phys. Commun. 82 (1994) 193.
[3] K.J. Bathe, Finite Element Procedures in Engineering Analysis (Prentice-Hall, Englewood Cliffs, New York, 1982).
[4] A.G. Abrashkevich and D.G. Abrashkevich, Comput. Phys. Commun. 82 (1994) 209.