MOLSCAT v. 14
Created 26 May 1994; last updated 6 Sept 1994.
A code for quantum mechanical (close coupling) solution of the non-reactive molecular scattering problem. Code is implemented for various types of collision partners. Several approximate methods including the Coupled States and Infinite Order Sudden approximations are also provided. The code is in near standard FORTRAN 77 and has been ported to a large number of platforms. The source code supplied here is currently running on an IBM RS/6000 and also on IBM and compatible mainframes. It should work on most other machines; for the Cray, however, modifications to run in single precision should be made.
Complete documentation for MOLSCAT, version 12 capabilities and input parameters is available here as a plain text (ascii) file. Several sample input decks and output files are provided below as examples of using various options.
Source for version 12 is available by ftp (about 575 Kbyte)
Note that this code differs slightly from the "standard" distribution insofar as "FILE=fname" in OPEN statements have been removed; however, they remain as COMMENT statements and can be easily resuscitated.
Matrix and Vector Subroutines
Matrix and vector manipulations are handled in version 12 by calls to LAPACK and BLAS library routines. (See Section 10.7 of the Documentation) Optimized versions of these libraries are available for many platforms and should be used if at all possible. The most recent FORTRAN source codes can be obtained from a Netlib server.
FORTRAN source for the routines which are used by the current version of MOLSCAT are also available locally.
Other routines which may be faster, especially if optimized LAPACK and BLAS are not available include:
- Inversion of symmetric matrices: SYMINV source code
- Eigenvalue/vector routines based on the EISPACK library: source code
Other MOLSCAT Source Code
- Time and date routines: CPU and wall-clock times are provided by platform-specific routines. For the RS/6000 the following FORTRAN and C routines should replace dummy routines in the distributed version.
Source Code from Jeremy Hutson
In addition to the source code for MOLSCAT available here, source codes and documentation are available from J.M. Hutson via anonymous ftp. These include the related BOUND program and machine-dependent code for other platforms.
Sample Test Input Decks and Output Files
These exercise some of the MOLSCAT options and are available below for some of the supported "collision types". A brief description of the calculations found in the tests is available here.
- Linear rotor and structureless atom test input and resulting output
- Vibrating diatom and structureless atom test input and resulting output
- Linear rotor and linear rotor test input and resulting output
- Symmetric top rotor and structureless atom test case requires a VSTAR potential routine to replace the dummy routine supplied in the distributed code, as well as test input and resulting output
- Asymmetric top rotor and structureless atom test case demonstrates use of the VRTP potential mechanism using the "distributed" version of VRTP with test input and resulting output
- A surface scattering test case uses standard powers and exponentials for the potential. test input and resulting output
S-Matrix Save Tape "Post-Processor" Codes
These are not routinely maintained and are provided "as is" and undocumented, although they generally contain useful comment cards.
Pressure broadening cross sections.
These can be calculated from saved S-matrices. This can be particularly useful for generating additional cross sections (such as line coupling cross sections) which were not calculated in the initial run. It is also useful for save tapes accumulated from multiple calculations for ranges of total J. Click here for the FORTRAN source, including all required MOLSCAT subroutines.
Pressure broadening in vibrational bands
This is often well approximated by ignoring vibrational coupling, in which case molecular scattering calculations for rotational excitation can be done separately for each vibrational level. A FORTRAN program (including all required MOLSCAT routines) which processes the two resulting save tapes (one for each vibrational level) and calculates pressure broadening cross sections for the vibrational band can be obtained by clicking here.
Restart from S-Matrix Save Tape:
For long jobs, the ability to restart a calculation from a save tape can be useful. FORTRAN source which supplements and replaces some of the MOLSCAT routines is available here for Version 12.
MOLSCAT undergoes continual upgrades and enhancements, and new versions of the code are periodically released. Version 14 is now available and includes: (1) increased fixed dimensions to allow larger basis sets, (2) improved efficiency for vibrating diatoms excited by atoms, (3) added capabilities to the standard POTENL routine for automatically projecting the angle dependence of potentials, (4) implementation of an option to restart a calculation from an S-matrix save tape. (5) code for ITYPE=4, an asymmetric top colliding with a linear rigid rotor.
MOLSCAT was developed and continues to be used to obtain collision rates needed to understand microwave and infrared observations of the interstellar gas. Some of the results can be obtained by clicking on the title above.