This module implements different molecular dynamics methods based on the Langevin equation. It generates trajectories that can be exploited directly or used to sample initial conditions for LSC-IVR calculations within the general framework of the PaPIM code. The methods implemented are: the classical Langevin dynamics, the Quantum Thermal Bath (QTB) and two flavors of adaptive QTB (adQTB-r and adQTB-f).
Langevin module is built with the fewest modifications possible in the
main and previous code of PaPIM. The main program of the sampler is in
langevin.f90. It is structured in the same fashion as the
existing samplers (
ClassMC.f90) and only provides
the subroutine langevin_sampling to the main program.
The Langevin module is divided in multiple files:
langevin.f90: contains the Langevin sampler and links the main code with the other files of the module
langevin_integrator.f90: subroutines to integrate Langevin equations
langevin_analysis.f90: spectral analysis tools for Langevin and (ad)QTB trajectories
qtb_random.f90: generation of QTB colored noise and adaptation subroutines for adQTB
Some other routines have been modified during the implementation of Langevin module.
PaPIM.f90: main code ; add calls to Langevin module
GlobType.f90: add declarations for Langevin
ReadFiles.f90: read input files
A Fortran 90/95 compiler with MPI wrapper is required for successful compilation of the code.
Although the correlation function subroutines are serial, the remaining code is parallelized so MPI wrappers have to be used.
The code must be compiled using the FFTW library.
Quantum correlation subroutines within PIM_qtb modules are compiled by executing the command
make in the
The same make command generates a
PaPIM.exe executable for testing of the correlation functions.