a Generalized Molecular Dynamics Analysis Tool
Gemdat is a Python library for the analysis of diffusion in solid-state electrolytes from Molecular Dynamics simulations. Gemdat is built on top of Pymatgen, making it straightforward to integrate it into your Pymatgen-based workflows.
With Gemdat, you can:
To install:
pip install gemdat
The source code is available from Github.
Suggestions, improvements, and edits are most welcome.
The following snippet can be used to test the code using VASP data.
from gemdat import SitesData, Trajectory, plots
from gemdat.io import load_known_material
from pathlib import Path
import matplotlib.pyplot as plt
trajectory = Trajectory.from_vasprun(Path('../example/vasprun.xml'))
plots.displacement_per_element(trajectory=trajectory)
diff_trajectory = trajectory.filter('Li')
plots.displacement_per_site(trajectory=diff_trajectory)
plots.displacement_histogram(trajectory=diff_trajectory)
plots.frequency_vs_occurence(trajectory=diff_trajectory)
plots.vibrational_amplitudes(trajectory=diff_trajectory)
structure = load_known_material('argyrodite', supercell=(2, 1, 1))
sites = SitesData(
structure=structure,
trajectory=trajectory,
floating_specie='Li',
)
plots.jumps_vs_distance(sites=sites)
plots.jumps_vs_time(sites=sites)
plots.collective_jumps(sites=sites)
plots.jumps_3d(sites=sites)
plt.show()
Or, one function to do everything:
from gemdat.legacy import analyse_md
trajectory, sites = analyse_md(
'/data/vasprun.xml',
diff_elem='Li',
supercell=(2, 1, 1),
material='argyrodite',
)
Check out our Contributing Guidelines to get started with development.
The code in this repository is based on Matlab code to analyse Molecular Dynamics simulations.
For background information on how some of the properties are calculated, check out the accompanying paper:
Developing a Generalized Molecular Dynamics Analysis Tool