Module PIM_qcf is a library of quantum cross- and auto-correlation functions used for computation of quantum time-dependent correlation functions within the Phase Integration Method (PIM). Two auto-correlation functions are currently implemented, the quantum position-position point charge dipole moment correlation function, and the velocity-velocity point charge dipole moment correlation function, all in the Kubo representation of the correlation functions. The user can follow the two examples to construct his/her own quantum correlation function.
This module has been used in the calculation of infrared spectrum in the gas phase as well as for the computation of infrared spectrum of small water molecule clusters and protonated water dimer system.
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.
Quantum correlation subroutines within PIM_qcf modules are compiled by executing the command
make in the
The same make command generates a
RunPIMqcf.exe executable for testing of the correlation functions.
For PIM_qcf test purposes the
numdiff package is used for automatic comparison purposes and should be made
available before running the tests, otherwise the
diff command will be used automatically instead but the user
is warned that the test might fail due to numerical differences.
The user is advised to download and install
numdiff from here.
Tests and corresponding reference values are located in sub-directories
Before running the tests the code has to be properly compiled by running the
make command in the
cd tests ./test.sh
Tests can be executed automatically by running the command
./test.sh in the
for all three systems, or separately for each system by running the command
./test.sh within the corresponding
All test are executed on one processor core.
Due to small numerical discrepancies between generated outputs and reference values which can cause the tests to fail,
the user is advised to manually examine the numerical differences between generated output and the corresponding
reference values in case the tests fail.
The PIM_qcf module source code is located at: https://gitlab.e-cam2020.eu:10443/Quantum-Dynamics/PIM/tree/PIMqcf.