ElVibRot-TD-MPI

Purpose of Module

The ElVibRot time-dependent MPI (ElVibRot-TD-MPI) module is a parallelized time-dependent quantum simulation program. It is a part of the ElVibRot package designed for general quantum dynamics simulation using curvilinear coordinates. There is no built-in limitation on the degrees of freedom for the target system. The code employed a numerical but exact kinetic energy operator with Tnum [Tn]. The Smolyak algorithm [Sm] is applied to avoid the direct-product basis sets and grids in the simulation.

Background Information

Quantum dynamics simulation has provided powerful insight into the underlying mechanism of chemical reactions, laser molecular interaction, etc. The simulation, with the conventional expansion on the direct-product basis, is limited by the exponential growth of computational cost with the increase of degrees of freedom. The multi-configuration time-dependent Hartree, a well-known package developed with the aim of generality, expands the wavefunction as a sum of Hartree products with single-particle functions, leading to a very efficient wavepackage propagation. The quantum diffusion Monte Carlo and the Feynman path integral approaches get around the problem by avoiding expending the wavefunction on a basis set. The variational multi-configuration Gaussian applies on-the-fly quantum chemical calculation of the potential energy to approach the quantum effects in the photochemistry. However, the Smolyak method provides another way to deal with high-dimensional problems, without losing accuracy and universality. The application of Smolyak algorithm enables the simulation of large systems (> 12 degrees of freedom) as the wavefunction is expanded as a weighted sum of small Smolyak wavefunction contributions. MPI is implemented depends on this framework. The module is designed to works on different levels of clusters. Three MPI schemes are provided in accord with a series of well-known propagation methods, including the Chebyshev, Runge-Kunta, short iterative Lanczos and Taylor expansion, etc. The three MPI schemes correspond to the simulation with the mode of most efficiency, memory saving, and massive cluster parallelization, respectively. The default setting will automatically choose the scheme according to the balance of resource consumed and the parallelization efficiency.

Applications of the Module

This module is intended to provide a parallel program for general wavepackage propagation. The general capability of the simulation could be up to tens of degrees of freedom. The propagation time could be up to hundreds of femtoseconds with general computation time, according to the selected propagation method. The code has been applied for the simulation of Pyrazine (C_4H_4N_2), which is of 24 degrees of freedom. This module could be a practical tool for general quantum molecular simulation, supporting the further study of molecular dynamics in chemical reactions, ultrafast processes, etc.

Building and Testing

The code is compatible with gfortran, mpifort, ifort, pgf90, etc. Building the program requires OpenMPI v2.0 or above. OpenMPI should be built as 64-bit for the simulation of very large systems.

  • build with MPI

set makefile:

F90=mpifort
MPICORE=gfortran ! gfortran or ifort according to the compiler for MPI

other main options:

F90=gfortran    ! compile with gfortran
F90=ifort       ! compile with ifort
F90=pgf90       ! compile with pgf90
parallel_make=1 ! enable parallel make with -j argument
OMP=1           ! enable openMP
OPT=1           ! enable code optimization
INT=4           ! 4 or 8 for 32-bits or 64-bits integer
LAPACK=1        ! enable LAPACK
ARPACK=1        ! enable ARPACK
QML=1           ! enable QMLib

To build:

make

To test:

make test

To clean test files

make cleantest

Three MPI schemes will be tested for 12 and 24 degrees of freedom systems. In directory

./Working_tests/MPI_tests

check folders 12D_propagation_* and 24D_propagation_* for examples. For more details, see ElVibRot.

Source Code

See the MPI branch of ElVibRot

References

[Tn]
  1. Lauvergnat, A. Nauts, Phys. Chem. Chem. Phys. 12 (2010) 8405-8412 DOI: 10.1039/C001944E
[Sm]
    1. Smolyak, Dokl. Akad. Nauk SSSR 148 (1963) 1042–1045 http://mi.mathnet.ru/eng/dan27586