Skip to main content

Generalized Molecular Dynamics Analysis Tool

Project description

Documentation Status Tests for GEMDAT Coverage PyPI - Python Version PyPI

GEMDAT banner

GEMDAT

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:

  • Explore your MD simulation via an easy-to-use Python API
  • Load and analyze trajectories from VASP simulation data
  • Characterize and visualize diffusivity
  • Find jumps and transitions between sites
  • Plot radial distribution functions
  • Analyze results via an interactive dashboard

To install:

pip install gemdat

The source code is available from Github.

Suggestions, improvements, and edits are most welcome.

Usage

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',
)

Development

Check out our Contributing Guidelines to get started with development.

References

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:

  • Niek J.J. de Klerk, Eveline van der Maas and Marnix Wagemaker, ACS Applied Energy Materials, (2018), doi: 10.1021/acsaem.8b00457

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

GEMDAT-0.9.2.tar.gz (32.8 kB view hashes)

Uploaded Source

Built Distribution

GEMDAT-0.9.2-py3-none-any.whl (40.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page