PotMod¶
Purpose of Module¶
Module PotMod is a library of potential energy subroutines and interfaces to external potential energy calculation codes.
It provides potential energies and corresponding gradients for included potentials or calls an external code to compute
the required quantities.
Currently, two subroutines are implemented within this module.
A subroutine for the calculation of harmonic and Morse potential energies which requires a set of input parameters
provided as an external file, and a subroutine containing the analytic ground state electronic energy for the
system. [Jin]
Applications of the Module¶
This module is extensively used by the PaPIM code and PIM_wd and ClassMC modules for providing the necessary potentials and gradients of studied systems.
Compiling¶
The code should be compiled in the ./source sub-directory using a Fortran compiler.
A Makefile is present for an automatic compilation.
Execute command ‘make’ in the ./source sub-directory to generate the PotModRun.exe executable:
cd source
make
Testing¶
For PotMod 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.
The module is accompanied by a corresponding Fortran 90 test subroutine and a reference output.
The reference output is located in sub-directory ./tests/REFERENCE_VALUE.
The test can be executed automatically by running the script ./test.sh:
cd tests
./test.sh
or manually by executing the compiled PotModRun.exe code within the sub-directory ./tests
(example ../source/PotModRun.exe > out)
and comparing the output with the reference values in file REFERENCE_VALUE/tested_potentials.
Source Code¶
The source code is given at https://gitlab.e-cam2020.eu/Quantum-Dynamics/PIM/tree/PotMod.
File harmonic_potential.f90 contains the subroutines for harmonic and Morse potential energy calculations, while
file ch5_pes.f90 contains the subroutines for calculation of CH5+ potential energy.
File PotMod.f90 controls and calls the included subroutines (harmonic_potential.f90 and ch5_pes.f90).
The remaining subroutines (GlobType.f90, kinds.f90, ReadFiles.f90, PotModRun.f90) are subroutines for
test purposes, where GlobType.f90 contains the definition of derived types used by PotMod module.
Source Code Documentation¶
The source code documentation is given at https://gitlab.e-cam2020.eu/Quantum-Dynamics/PIM/tree/PotMod/doc/.
The documentation files (html and latex format) are obtained by executing the make command in the ./doc
sub-directory:
cd doc
make
References¶
| [Jin] | Z. Jin, B. Braams, J. Bowman J. Phys. Chem. A 110 (2006) 1569 DOI: 10.1021/jp053848o |