Artigo Acesso aberto Revisado por pares

DVR3D: a program suite for the calculation of rotation–vibration spectra of triatomic molecules

2004; Elsevier BV; Volume: 163; Issue: 2 Linguagem: Inglês

10.1016/j.cpc.2003.10.003

ISSN

1879-2944

Autores

Jonathan Tennyson, Maxim A. Kostin, P. Barletta, G. J. Harris, O. L. Polyansky, Jayesh Ramanlal, Nikolai F. Zobov,

Tópico(s)

Atmospheric Ozone and Climate

Resumo

The DVR3D program suite calculates energy levels, wavefunctions, and where appropriate dipole transition moments, for rotating and vibrating triatomic molecules. Potential energy and, where necessary, dipole surfaces must be provided. Expectation values of geometrically defined functions can be calculated, a feature which is particularly useful for fitting potential energy surfaces. The programs use an exact (within the Born–Oppenheimer approximation) Hamiltonian and offer a choice of Jacobi or Radau internal coordinates and several body-fixed axes. Rotationally excited states are treated using an efficient two-step algorithm. The programs uses a Discrete Variable Representation (DVR) based on Gauss–Jacobi and Gauss–Laguerre quadrature for all 3 internal coordinates and thus yields a fully point-wise representation of the wavefunctions. The vibrational step uses successive diagonalisation and truncation which is implemented for a number of possible coordinate orderings. The rotational, expectation value and transition dipole programs exploit the savings offered by performing integrals on a DVR grid. The new version has been rewritten in FORTRAN 90 to exploit the dynamic array allocations and the algorithm for dipole and spectra calculations have been substantially improved. New modules allow the z-axis to be embedded perpendicular to the plane of the molecule and for the calculation of expectation values. Title of the program: DVR3D suite Catalogue number: ADTI Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTI Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Programming language: Fortran 90 No. of lines in distributed program, including test data, etc.: 61 574 No. of bytes in distributed program, including test data, etc.: 972 404 Distribution format: tar.gz Title of program: DVR3DRJZ Catalogue number: ADTB Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTB Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Reference in CPC to previous version: 86 (1995) 175 Catalogue identifier of previous version: ADAK Authors of previous version: J. Tennyson, J.R. Henderson and N.G. Fulton Does the new version supersede the original program?: DVR3DRJZ supersedes DVR3DRJ Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix; SGI Origin 2000, Sunfire V750 and V880 systems running SunOS, IBM p690 Regatta running AIX Programming language used in the new version: Fortran 90 Memory required to execute: case dependent No. of lines in distributed program, including test data, etc.: 4203 No. of bytes in distributed program, including test data, etc.: 30 087 Has code been vectorised or parallelised?: The code has been extensively vectorised. A parallel version of the code, PDVR3D has been developed [1], contact the first author for details Additional keywords: perpendicular embedding Distribution format: gz Nature of physical problem: DVR3DRJZ calculates the bound vibrational or Coriolis decoupled rotational–vibrational states of a triatomic system in body-fixed Jacobi (scattering) or Radau coordinates [2] Method of solution: All coordinates are treated in a discrete variable representation (DVR). The angular coordinate uses a DVR based on (associated) Legendre polynomials and the radial coordinates utilise a DVR based on either Morse oscillator-like or spherical oscillator functions. Intermediate diagonalisation and truncation is performed on the hierarchical expression of the Hamiltonian operator to yield the final secular problem. DVR3DRJ provides the vibrational wavefunctions necessary for ROTLEV3, ROLEV3B or ROTLEV3Z to calculate rotationally excited states, DIPOLE3 to calculate rotational–vibrational transition strengths and XPECT3 to compute expectation values Restrictions on the complexity of the problem: (1) The size of the final Hamiltonian matrix that can practically be diagonalised. (2) The order of integration in the radial coordinates that can be dealt with within the machine exponent range. Some adjustment in the code may be necessary when large order Gauss–Laguerre quadrature is used Typical running time: Case dependent but usually dominated by the final (3D) matrix diagonalisation. The test runs take minutes on a fast PC Unusual features of the program: A user supplied subroutine containing the potential energy as an analytic function is a program requirement References: H.Y. Mussa, J. Tennyson, Comput. Phys. Commun. 128 (2000) 434. J. Tennyson, B.T. Sutcliffe, Internat. J. Quantum Chem. 42 (1992) 941. Title of program: ROTLEV3 Catalogue number: ADTC Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTC Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Reference in CPC to previous version: 86 (1995) 175 Catalogue identifier of previous version: ADAL Authors of previous version: J. Tennyson, J.R. Henderson and N.G. Fulton Does the new version supersede the original program?: Yes Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix; SGI Origin 2000, Sunfire V750 and V880 systems running SunOS Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 1514 No. of bytes in distributed program, including test data, etc.: 12 652 Has code been vectorised or parallelised?: The code has been extensively vectorised. A parallel version of the code, PROTLEV3 has been developed [1], contact the first author for details Distribution format: gz Nature of physical problem: ROTLEV3 performs the second step in a two-step variational calculation for the bound rotational–vibrational levels of a triatomic system represented in either Jacobi or unsymmetrised Radau coordinates Method of solution: A basis is constructed from the solutions of the Coriolis decoupled problem provided by DVR3DRJZ. The angular coordinate is transformed back to a basis set representation. The sparse Hamiltonian matrix can be diagonalised iteratively or in core Restrictions on the complexity of the problem: The size of matrix that can practically be diagonalised Typical running time: Case dependent. The sample data takes less than a minute on a fast PC Unusual features of the program: Most data is read directly from DVR3DRJZ. ROTLEV3 can provide data to drive DIPOLE3 and/or XPECT3 References: [1] H.Y. Mussa, J. Tennyson, Comput. Phys. Commun. 128 (2000) 434. Title of program: ROTLEV3B Catalogue number: ADTD Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTD Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Reference in CPC to previous version: 86 (1995) 175 Catalogue identifier of previous version: ADAM Authors of previous version: J. Tennyson, J.R. Henderson and N.G. Fulton Does the new version supersede the original program?: Yes Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix, Sunfire V750 and V880 systems running SunOS Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 2215 No. of bytes in distributed program, including test data, etc.: 16 595 Has code been vectorised or parallelised?: The code has been extensively vectorised. A parallel version of the code, PROTLEV3B has been developed [1], contact the first author for details Distribution format: gz Nature of physical problem: ROTLEV3B performs the second step in a two-step variational calculation for the bound rotational–vibrational levels of a triatomic system represented by symmetrised Radau coordinates using a bisector embedding [2] Method of solution: A basis is constructed from the solutions of the Coriolis decoupled problem provided by DVR3DRJZ. The problem is constructed entirely within the DVR. The Hamiltonian matrix can be diagonalised iteratively or in core Restrictions on the complexity of the problem: The size of matrix that can practically be diagonalised Typical running time: Case dependent. The sample data takes a few minutes on a fast PC Unusual features of the program: Most data is read directly from DVR3DRJZ. ROTLEV3B can provide data to drive DIPOLE3 and/or XPECT3 References: H.Y. Mussa, J. Tennyson, Comput. Phys. Commun. 128 (2000) 434. J. Tennyson, B.T. Sutcliffe, Internat. J. Quantum Chem. 42 (1992) 941. Title of program: ROTLEV3Z Catalogue number: ADTE Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTE Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix, Sunfire V750 and V880 systems running SunOS Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 2919 No. of bytes in distributed program, including test data, etc.: 17 241 Keywords: rotationally excited state, Coriolis coupling, secondary variational method, sparse matrix, vectorised, perpendicular embedding, Radau coordinates Has code been vectorised or parallelised?: The code has been extensively vectorised Distribution format: gz Nature of physical problem: ROTLEV3Z performs the second step in a two-step variational calculation for the bound rotational–vibrational levels of a triatomic system represented by symmetrised Radau coordinates using a perpendicular embedding [1] Method of solution: A basis is constructed from the solutions of the Coriolis decoupled problem provided by DVR3DRJZ. The problem is constructed entirely within the DVR. The Hamiltonian matrix is diagonalised in core Restrictions on the complexity of the problem: The size of matrix that can practically be diagonalised Typical running time: Case dependent. The sample data takes a few minutes on a fast PC Unusual features of the program: Most data is read directly from DVR3DRJZ References: [1] M.A. Kostin, O.L. Polyansky, J.Tennyson, J. Chem. Phys. 116 (2002) 7564. Title of program: DIPOLE3 Catalogue number: ADTF Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTF Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Reference in CPC to previous version: 86 (1995) 175 Catalogue identifier of previous version: ADAN Authors of previous version: J. Tennyson, J.R. Henderson and N.G. Fulton Does the new version supersede the original program?: Yes Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix; SGI Origin 2000; sunfire V750 and V880 systems Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 1921 No. of bytes in distributed program, including test data, etc.: 15 685 Has code been vectorised or parallelised?: The code has been extensively vectorised. Commands to parallelise the code using OpenMP are included in the source Distribution format: gz Nature of physical problem: DIPOLE3 calculates dipole transition intensities between previously calculated wavefunction for both rotational and rotational–vibrational transitions Method of solution: Integrals over dipole surfaces are constructed using a DVR in all three coordinates, this requires a transformation of the angular wavefunctions. Wavefunctions generated by DVR3DRJZ and ROTLEV3 or ROTLEV3B are then used to give transition intensities for individual pairs of states Restrictions on the complexity of the problem: The complexity of the problem that can be solved by DVR3DRJZ, ROTLEV3 or ROTLEV3B Typical running time: Case dependent. The test data takes a few seconds on a fast PC Unusual features of the program: Most data is read directly from DVR3DRJZ and ROTLEV3 or ROTLEV3B. DIPOLE provides data to drive SPECTRA Title of program: SPECTRA Catalogue number: ADTG Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTG Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix Reference in CPC to previous version: 75 (1993) 339 Catalogue identifier of previous version: ACNB Authors of previous version: J. Tennyson, S. Miller and C.R. Le Sueur Does the new version supersede the original program?: Yes Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 1037 No. of bytes in distributed program, including test data, etc.: 9159 Has code been vectorised or parallelised?: As execution times are very short this is usually not important Distribution format: gz Nature of physical problem: SPECTRA generates synthetic, frequency ordered spectra as a function of temperature. Absolute intensities can be calculated if the necessary data to calculate the partition function is supplied Method of solution: Transitions are sorted by frequency and weighted using Boltzmann statistics Restrictions on the complexity of the problem: The complexity of problem that can be solved by other programs in the suite Typical running time: Case dependent, but very small for sample data Unusual features of the program: Most data is read directly from DIPOLE3. Some data from DVR3DRJZ and ROTLEV3 or ROTLEV3B may also be required Title of program: XPECT3 Catalogue number: ADTH Program summary URL: http://cpc.cs.qub.ac.uk/summaries/ADTH Program obtainable from: CPC Program Library, Queen's University of Belfast, N. Ireland Computer: PC running Linux Installation: desktop Other machines on which program tested: Compaq running True64 Unix Programming language used: Fortran 90 High speed storage required: case dependent No. of lines in distributed program, including test data, etc.: 1214 No. of bytes in distributed program, including test data, etc.: 9361 Distribution format: gz Keywords: Expectation values, Hellmann–Feynman theorem, potential fitting Has code been vectorised or parallelised?: The code has been extensively vectorised Nature of physical problem: XPECT3 calculates expectation of geometrically defined operators using previously calculated wavefunctions Method of solution: Integrals over the user defined surfaces are constructed using a DVR in all three coordinates. Wavefunctions generated by DVR3DRJZ and ROTLEV3 or ROTLEV3B are then used to give expectation values for each state Restrictions on the complexity of the problem: The complexity of problem that can be solved by DVR3DRJZ, ROTLEV3 or ROTLEV3B Typical running time: Case dependent. The test data takes a few seconds on a fast PC Unusual features of the program: Most data is read directly from DVR3DRJZ and ROTLEV3 or ROTLEV3B.

Referência(s)