Generalized Molecular Dynamics Analysis Tool
Project description
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
- Victor Azizi, Stef Smeets, Anastasiia K. Lavrinenko and Simone Ciarella. GEMDAT (Version 1.4.0) [Computer software]. https://github.com/GEMDAT-repos/GEMDAT, doi: 10.5281/zenodo.8401669
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gemdat-1.4.0.tar.gz
.
File metadata
- Download URL: gemdat-1.4.0.tar.gz
- Upload date:
- Size: 514.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ba2e8a085e54673deff7af1b336e42beef96f54da714248e55381a75bccd2ad |
|
MD5 | 471c20f06df15fc87e3b8341d179e9c3 |
|
BLAKE2b-256 | 19dd256e09fb301641a2daa3b0925b97008790d7e8465337dbbd095ef070c3b3 |
File details
Details for the file GEMDAT-1.4.0-py3-none-any.whl
.
File metadata
- Download URL: GEMDAT-1.4.0-py3-none-any.whl
- Upload date:
- Size: 537.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a1db036e52fdfd5f4ab0f92bf5c7caf0acb93e9d600ed4b9ff1a2e4a5eb5938 |
|
MD5 | fb4c666a4c626dd3e0a061cb80e09d46 |
|
BLAKE2b-256 | 3981f692336272eb14ebda9d22283dc1647295dc9eb2b77925fd9108d1beb08a |