Skip to main content

Generalized Molecular Dynamics Analysis Tool

Project description

Documentation Status Tests for GEMDAT Coverage PyPI - Python Version PyPI DOI

GEMDAT banner 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 and LAMMPS simulation data
  • Find jumps and transitions between sites
  • Effortlessly calculate tracer and jump diffusivity
  • Characterize and visualize diffusion pathways
  • Plot radial distribution functions

To install:

pip install gemdat

The source code is available from Github.

Suggestions, improvements, and edits are most welcome.

Usage

The following snippet to analyze the diffusion trajectory from VASP data.

from gemdat import Trajectory

trajectory = Trajectory.from_vasprun('../example/vasprun.xml')

trajectory.plot_displacement_per_element()

diff_trajectory = trajectory.filter('Li')

diff_trajectory.plot_displacement_per_atom()
diff_trajectory.plot_displacement_histogram()
diff_trajectory.plot_frequency_vs_occurence()
diff_trajectory.plot_vibrational_amplitudes()

Characterize transitions and jumps between sites:

from gemdat.io import load_known_material

sites = load_known_material('argyrodite', supercell=(2, 1, 1))

transitions = trajectory.transitions_between_sites(
    sites=sites,
    floating_specie='Li',
)

jumps = transitions.jumps()

jumps.plot_jumps_vs_distance()
jumps.plot_jumps_vs_time()
jumps.plot_collective_jumps()
jumps.plot_jumps_3d()

jumps.jump_diffusivity(dimensions=3)

To calculate different metrics, such as tracer diffusivity:

from gemdat import TrajectoryMetrics

metrics = TrajectoryMetrics(diff_trajectory)

metrics.tracer_diffusivity(dimensions=3)
metrics.haven_ratio(dimensions=3)
metrics.tracer_conductivity(dimensions=3)
metrics.particle_density()
metrics.vibration_amplitude()

Development

Check out our Contributing Guidelines to get started with development.

How to Cite

Credits

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-1.5.0.tar.gz (516.0 kB view details)

Uploaded Source

Built Distribution

GEMDAT-1.5.0-py3-none-any.whl (539.8 kB view details)

Uploaded Python 3

File details

Details for the file gemdat-1.5.0.tar.gz.

File metadata

  • Download URL: gemdat-1.5.0.tar.gz
  • Upload date:
  • Size: 516.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for gemdat-1.5.0.tar.gz
Algorithm Hash digest
SHA256 2db615a320560b5d73929a8d401b82de8e0cbb5d7f31efcf087296f9695b6f11
MD5 97d71485a2ac183ee4b38a5a303c60ab
BLAKE2b-256 d38cbc62fe7c51b92d901932105a0f40e131e044c22459f0468f7a7c2f760e3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for gemdat-1.5.0.tar.gz:

Publisher: publish.yaml on GEMDAT-repos/GEMDAT

Attestations:

File details

Details for the file GEMDAT-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: GEMDAT-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 539.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for GEMDAT-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f8cf0d1416a8c9eed484d519409fdf3a5b9c2fef371dad50ba21b5f6bec6517
MD5 bbcbc3a8916a5c5d7ec8182b2102b2ee
BLAKE2b-256 31c5aaa5b488413e1f62531894df0da8407cd6ee038810f6a6524c5bfa358b7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for GEMDAT-1.5.0-py3-none-any.whl:

Publisher: publish.yaml on GEMDAT-repos/GEMDAT

Attestations:

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