Generalized Langevin Equation with Python
This repo contains tools for the simulation of the generalized Langevin equation (GLE) and the calculation of memory/friction kernels.
The GLE is a non-Markovian counterpart to the Langevin equation,
where
The figure above compares memory kernels, the black line was used as an input for a simulation and blue/green lines were extracted by analyzing the data from that simulation.
Pedagogical examples of how to set up, run, and analyze GLE simulations are provided in the examples directory. Examples include toy simulations, GLE for solid dynamics with ASE, and GLE for solution phase dynamics with LAMMPS.
The easiest way to install GLEqPy is by using pip
.
pip install gleqpy
The memory analysis tools only require numpy
and scipy
.
The ase module requires the Atomic Simulation Environment to be installed.
The examples directory contains discusses how to use LAMMPS to run GLE simulations.
ase - GLE integrators and helpful forcefields for Atomic Simulation Environment.
examples - Helpful examples.
memory - Functions for calculating memory kernels, and a database for memory kernels calculated from prior simulations.
md - Python based MD code, useful for testing purposes and building toy simulations.
If you use gleqpy, please cite:
Farahvash A, Agrawal M, Peterson AA, Willard AP. Modeling Surface Vibrations and Their Role in Molecular Adsorption: A Generalized Langevin Approach. J Chem Theory Comput. 2023 Sep 26;19(18):6452-6460. doi: 10.1021/acs.jctc.3c00473.