MOLSCAT Documentation

1. Introduction

The outcome of a molecular collision process is described quantum-mechanically by the S-matrix, which contains information on the probability amplitudes and phases for the various possible outcomes. Experimental observables, such as differential and integral cross sections, can be written in terms of S-matrix elements. For nonreactive collisions a standard computational technique for solving the time-independent Schrodinger equation involves expanding the total wavefunction in the (rotation-vibration) basis sets of the colliding species and a partial wave (spherical harmonic) expansion for the angular part of the collision coordinate. This results in coupled second-order differential equations for radial functions which are labeled by the quantum numbers of the asymptotic basis and the partial waves. The coupling, which vanishes asymptotically, is due to the intermolecular potential. Truncation of the infinite asymptotic basis sets (generally on an energy criterion) leads to the close-coupling method. The scattering S-matrix is obtained by matching the resulting radial functions at large distances to those which would have been obtained in the absence of an interaction potential. It is generally advantageous to transform the asymptotic basis set to a total angular momentum representation. MOLSCAT constructs the coupled equations appropriate to the collision problem of interest, and then solves these equations to obtain S matrices. By default the S-matrices are accumulated to obtain state-to-state integral cross sections. They may optionally be used to compute line shape cross sections. They may also optionally be saved to a data set for processing to other kinds of collision properties.

It is necessary to provide the program with information about the collision system of interest. In particular, one must specify the types of collision partners -- e.g., linear rigid rotors, vibrating diatomic molecules, asymmetric top rotors -- and specify which rotational (and possibly vibrational) levels of each to include in the expansion of the total wavefunction. It is necessary to describe the intermolecular forces between the two collision partners. It is also necessary to describe the collision energies of interest. It may be desirable to specify a less computationally intensive approximate method. From these data the program can set up the required coupled equations. MOLSCAT implements several numerical methods for solving the coupled equations and it is necessary to specify which one of these to use and to provide some parameters to control numerical accuracy. Other input parameters may be used to provide finer control of the calculation, specify optional processing such as the calculation of line shape cross sections, or options such as saving the S-matrices to a data set so they may be used to calculate further scattering properties.

These parameters are input to the program in NAMELIST format as described below. The supported collision types are summarized in Section 1.2 and the implemented numerical methods for solving the coupled differential equations are summarized in Section 1.3.

1.1 Input data format

MOLSCAT's main data file is read on channel 5, and consists of 3 (or 4) blocks of NAMELIST data in the following order:

&INPUT, read in subroutine DRIVER, provides overall control of the calculation (collision energies, partial wave limits), print options, optional calculations (line shape cross sections, resonance searches, output data sets), and choice of and tolerances for the numerical propagator. Allowed parameters are described in detail in Section 2.

&BASIS, read in entry BASIN of subroutine BASE, describes the collision type, the rotation-vibration basis set, and dynamical approximations. Input parameters are described in Section 3.

&POTL, read in the initialisation call of subroutine POTENL if the general-purpose version of POTENL is used, describes the intermolecular potential. Input parameters are described in Section 4. For some cases it may be desirable to substitute a user-supplied POTENL routine (which does not necessarily read &POTL input data); specifications for this routine are given in Section 5.

&CONV, read in subroutine CONVRG if the automatic convergence testing option is selected (&INPUT ICONV = 1). Input parameters are described in Section 6.

Each NAMELIST block starts with &<name>, where <name> is INPUT, BASIS, POTL or CONV as appropriate, and is terminated by &END. Between these delimiters, the NAMELIST input data consist of <KEYWORD>=value entries in the data file, where KEYWORD is the variable name. Note that all lines of data must start in column 2 or later; characters in column 1 will cause errors. In some implementations of NAMELIST, every value must be terminated by a comma. Many of the variables have sensible default values, which are used if the variable is not listed in the data file.

1.2 Collision types

MOLSCAT can perform close-coupling calculations for the following collision types, controlled by the &BASIS ITYPE input parameter (see Section 3):

ITYPE = 1 - Atom - linear rigid rotor scattering

ITYPE = 2 - Atom - vibrating diatom scattering (rotationally and/or vibrationally inelastic)

ITYPE = 3 - Linear rigid rotor - linear rigid rotor scattering

ITYPE = 4 - Asymmetric top - linear molecule scattering

ITYPE = 5 - Atom - symmetric top scattering (also handles near-symmetric tops)

ITYPE = 6 - Atom - asymmetric top scattering (also handles spherical tops)

ITYPE = 7 - A generalised form of ITYPE = 2, allowing the intermolecular potential matrix elements to depend on the diatom j quantum number

ITYPE = 8 - Atom - corrugated surface diffractive (elastic) scattering. At present, the code is restricted to centrosymmetric lattices, for which the potential matrices are real

ITYPE = 9 - MOLSCAT calls user-supplied routines to define the coupling case

The computer time required to solve a set of N coupled equations is nominally proportional to N**3, and in practice the limit on N is from 30 to 500, depending on the speed of the computer and the amount of memory available. The basis sets necessary for converged close-coupling calculations quickly exceed this limit as scattering energies increase or rotational constants decrease, particularly for collision types 2 to 7. However, MOLSCAT also provides for various approximate (decoupling) methods which reduce the dimensionality of the coupled equations. The methods supported at present are

IADD = 10 - Effective potential approximation

IADD = 20 - Coupled states (centrifugal sudden) approximation

IADD = 30 - Decoupled l-dominant approximation

IADD = 100 - Infinite order sudden approximation

These approximate methods are invoked by adding the appropriate value of IADD to the ITYPE values listed above: thus, for example, ITYPE = 22 invokes the coupled states approximation for atom - vibrating diatom scattering.

Not all these approximations are supported for all collision types, though the most common ones are. The program will print a warning message and exit if you request an option that is not supported.

1.3 Propagators

The coupled equations may be solved using any one of several methods, controlled by the input parameter &INPUT INTFLG (see Section 2.1). In the absence of special circumstances, INTFLG = 8 is usually a good choice.

INTFLG = 2 - DeVogelaere's method. This is a reliable and accurate method, but is rather slow, especially for large reduced masses or high scattering energies. It is not well suited to problems with very long-range potentials.

INTFLG = 3 - R-matrix propagator. This is a very stable method. It is very simple to use, but has relatively poor step size convergence properties, so that it is not generally suitable for obtaining very high accuracy. It has largely been superseded by the modified log- derivative propagators available as INTFLG = 6 to 8 (see below).

INTFLG = 4 - The VIVAS hybrid propagator, using the log-derivative method at small R and the variable interval variable step (VIVS) method at large R. This is sometimes the most efficient propagator if many different energies are required, but control of it is rather more complicated than for other propagators. In particular, it requires the first and second derivatives of the potential for maximum efficiency. It sometimes presents stability problems, and is not generally recommended for inexperienced users.

With appropriate choices of the switchover distance, either the log-derivative method or VIVS can be used over the whole range of R if desired. This will usually be useful only in special cases.

INTFLG = 5 - Log-derivative propagator of Johnson. This is a very stable and reliable propagator, and is particularly efficient on vector processors. However, it has now largely been superseded by the diabatic modified log- derivative propagator available as INTFLG = 6 (see below).

INTFLG = 6 - Diabatic modified log-derivative method of Manolopoulos. This is a very efficient and stable method, especially at short range. INTFLG = 6 automatically detects single- channel cases (including IOS cases) and uses a more efficient implementation of the propagator.

INTFLG = 7 - Quasiadiabatic modified log-derivative method of Manolopoulos. This method offers better accuracy than INTFLG = 6 for very strongly coupled problems, but is relatively expensive (even at subsequent energies). It is recommended for very strongly coupled problems only.

INTFLG = 8 - Hybrid modified log-derivative Airy propagator of Manolopoulos and Alexander. Uses the same method as INTFLG = 6 at short range, but changes to the Airy propagator at long range. This is the recommended general-purpose propagator for cross section calculations.

INTFLG = -1 - WKB semi-classical solution using Gauss-Mehler quadrature. This is suitable only for 1-channel problems and hence is usually useful only for IOS ( cases.

Note that Gordon's propagator, which was available as INTFLG = 1 in early versions of MOLSCAT, is not implemented in this version.

All these propagators have options which allow them to use potential matrices stored at the first total energy when doing calculations at subsequent energies. For the R-matrix propagator, VIVS, and the modified log-derivative propagators, some of the remaining work is also avoided at subsequent energies, so that they may cost only 30% as much as the first. Parameters which control accuracy of the propagators are in put in &INPUT; details are given in Section 2.12.

1.4 Important changes in version 14

In modifying MOLSCAT efforts are made to provide compatibility with earlier versions: ideally, earlier input decks and ancillary routines (e.g., POTENL routines and routines which process the S-matrix save tape) will produce identical results. This is not always possible, and changes in version 14 which may require modifications are noted here.

Dimensions in common block CMBASE which contains information about the basis set (see Section 3) have been significantly increased to accomodate larger calculations; this may necessitate changes to user-supplied BASE9 (and related) routines.

Dimensions in the common block ANGLES, which provides communication with VRTP routines have been increased; see Section 4.3. Existing VRTP routines, which use this common block for communication, must be modified accordingly.

The format of the S-matrix save tape (ISAVEU) has been changed. The number of open channels for each JTOT, parity case, energy set is now in the record which describes the set, rather than in the next record which lists levels, partial waves, and wavevectors; see Section 2.5.

The value of JTOTU required to request automatic checking of partial wave convergence for state-to-state cross sections has been increased from 999 to 999999 and the default value has also been increased accordingly; see Section 2.3.

Interpretation of IFEGEN, the flag to specify using the ENERGY values as kinetic energies for pressure broadening calculations, has been changed; see Section 2.9. Beginning in version 14, for IFEGEN .gt. 0, values in the ENERGY list will be retained in the expanded list of total energies ONLY if they match a total energy required for a requested pressure broadening calculation. Further, for IFEGEN .gt. 1, calculations for some JTOT, parity case, energy sets may be skipped if they are not required for the requested pressure broadening. This may result in state-to-state cross sections which are incomplete for some cases.

FINDRM has been completely rewritten to provide a more robust algorithm for choosing a starting point for the propagation; however, the new routine does not generally obtain the same value as the earlier versions and this may cause results to vary slightly from those in earlier versions.

The "FILE=filename" parameters have been removed from OPEN statements. See Section 10.8.

1.5 Acknowledging use of MOLSCAT

Publications that present results obtained with MOLSCAT should cite it as:

J. M. Hutson and S. Green, MOLSCAT computer code, version 14 (1994), distributed by Collaborative Computational Project No. 6 of the Engineering and Physical Sciences Research Council (UK).

The date that the program was last updated is usually held in the variable PDATE in subroutine DRIVER, and is printed out in each run. PDATE is used to keep track of minor modifications, but the version number is only incremented when major changes are made.

Forward to Section 2

Back to the Table of Contents