PIM_qcf¶
Purpose of Module¶
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.
Applications of the module¶
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.
Compiling¶
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 ./source
directory.
The same make command generates a RunPIMqcf.exe
executable for testing of the correlation functions.
Testing¶
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 ./tests/xxx
, where xxx
stands
for oh
, ch4
, and ch5
systems.
Before running the tests the code has to be properly compiled by running the make
command in the
./source
sub-directory:
cd tests
./test.sh
Tests can be executed automatically by running the command ./test.sh
in the ./tests
sub-directory
for all three systems, or separately for each system by running the command ./test.sh
within the corresponding
sub-directory.
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.
Source Code¶
The PIM_qcf module source code is located at: https://gitlab.e-cam2020.eu:10443/Quantum-Dynamics/PIM/tree/PIMqcf.
Source Code Documentation¶
The source code documentation can be generated automatically in ./doc
sub-directory,
html and latex format, by executing the following command in the ./doc
directory:
doxygen PIMqcf_doxygen_settings