Computer Physics Communications Program LibraryPrograms in Physics & Physical Chemistry |

[Licence| Download | New Version Template] afac_v1_0.tar.gz(6925 Kbytes) | ||
---|---|---|

Manuscript Title: PyVCI: a flexible open-source code for calculating accurate molecular infrared spectra | ||

Authors: Marat Sibaev, Deborah L Crittenden | ||

Program title: PyVCI | ||

Catalogue identifier: AFAC_v1_0Distribution format: tar.gz | ||

Journal reference: Comput. Phys. Commun. 203(2016)290 | ||

Programming language: Python, C. | ||

Computer: PC. | ||

Operating system: Linux, MacOSX, Windows. | ||

RAM: Varies widely | ||

Keywords: Vibrational configuration interaction, nuclear vibrational problem, harmonic oscillator basis, sparse matrix, parallel. | ||

Classification: 16.3. | ||

External routines: Numpy, Scipy, Cython | ||

Nature of problem:The simulation of accurate molecular vibrational spectra is a significant and long-standing problem in computational chemistry. There are two major challenges: constructing an accurate ab initio potential energy surface and solving the nuclear vibrational problem. Both scale poorly with respect to molecular size, requiring large amounts of CPU time and memory. | ||

Solution method:We have implemented a straightforward numerical differentiation algorithm to construct quartic force fields in normal mode coordinates using second derivatives of the energy with respect to nuclear displacement obtained from ab initio quantum chemical calculations, for nuclear vibrational structure algorithm development and testing purposes. We have also provided an interface to the PyPES library of high quality semi-global potential energy surfaces, which enable quantitative prediction of molecular vibrational spectra. To solve the nuclear vibrational problem, we use a vibrational configuration interaction algorithm in a harmonic oscillator basis. | ||

Unusual features:One of the unusual features of our code is its flexibility, with multiple ways of generating or supplying force field data, dynamic memory allocation, adjustable screening thresholds, and explicit user control over terms in the VCI wave-function (maximum excitation level and extent of mode-coupling). We employ sparse matrix linear algebra libraries to reduce the memory required for VCI matrix storage and diagonalization, and provide for parallel VCI matrix construction to reduce required wall times. | ||

Additional comments:User Manual and examples (tutes) included | ||

Running time:Varies widely |

Disclaimer | ScienceDirect | CPC Journal | CPC | QUB |