Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 10 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Python toolkit for molecular dynamics analysis
Basic Info
- Host: GitHub
- Owner: GEMDAT-repos
- License: apache-2.0
- Language: Python
- Default Branch: main
- Homepage: https://gemdat.readthedocs.io
- Size: 6.75 MB
Statistics
- Stars: 29
- Watchers: 1
- Forks: 4
- Open Issues: 5
- Releases: 16
Topics
Metadata Files
README.md

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:
console
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.
```python from gemdat import Trajectory
trajectory = Trajectory.from_vasprun('../example/vasprun.xml')
trajectory.plotdisplacementper_element()
diff_trajectory = trajectory.filter('Li')
difftrajectory.plotdisplacementperatom() difftrajectory.plotdisplacementhistogram() difftrajectory.plotfrequencyvsoccurence() difftrajectory.plotvibrationalamplitudes() ```
Characterize transitions and jumps between sites:
```python from gemdat.io import loadknownmaterial
sites = loadknownmaterial('argyrodite', supercell=(2, 1, 1))
transitions = trajectory.transitionsbetweensites( sites=sites, floating_specie='Li', )
jumps = transitions.jumps()
jumps.plotjumpsvsdistance() jumps.plotjumpsvstime() jumps.plotcollectivejumps() jumps.plotjumps3d()
jumps.jump_diffusivity(dimensions=3) ```
To calculate different metrics, such as tracer diffusivity:
```python from gemdat import TrajectoryMetrics
metrics = TrajectoryMetrics(diff_trajectory)
metrics.tracerdiffusivity(dimensions=3) metrics.havenratio(dimensions=3) metrics.tracerconductivity(dimensions=3) metrics.particledensity() metrics.vibration_amplitude() ```
Development
Check out our Contributing Guidelines to get started with development.
How to Cite
- V. Azizi, S. Smeets, A. K. Lavrinenko, S. Ciarella, T. Famprikis, V. Landgraf, & A. Vasileiadis. GEMDAT (Version 1.6.2) [Computer software]. https://github.com/GEMDAT-repos/GEMDAT, doi: 10.5281/zenodo.8401669
Dissemination
- Lorentz workshop 7-11 April (2025): Molecular Dynamics for Materials Science (pdf)
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
Owner
- Name: GEMDAT-repos
- Login: GEMDAT-repos
- Kind: organization
- Repositories: 1
- Profile: https://github.com/GEMDAT-repos
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: GEMDAT
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Victor
family-names: Azizi
affiliation: Netherlands eScience Center
orcid: 'https://orcid.org/0000-0003-3535-8320'
- given-names: Stef
family-names: Smeets
affiliation: Netherlands eScience Center
orcid: 'https://orcid.org/0000-0001-5107-3531'
- given-names: Anastasia K.
family-names: Lavrinenko
affiliation: Delft University of Technology
orcid: 'https://orcid.org/0000-0001-9863-8325'
- given-names: Simone
family-names: Ciarella
affiliation: Netherlands eScience Center
orcid: 'https://orcid.org/0000-0002-9247-139X'
- given-names: Theodosios
family-names: Famprikis
affiliation: Delft University of Technology
orcid: 'https://orcid.org/0000-0002-7946-1445'
- given-names: Victor
family-names: Landgraf
affiliation: Delft University of Technology
orcid: 'https://orcid.org/0000-0003-2169-6855'
- given-names: Alexandros
family-names: Vasileiadis
affiliation: Delft University of Technology
orcid: 'https://orcid.org/0000-0001-9761-7936'
repository-code: 'https://github.com/GEMDAT-repos/GEMDAT'
url: 'https://gemdat.readthedocs.io'
abstract: >-
Python toolkit for molecular dynamics analysis diffusion in crystals
keywords:
- analysis
- diffusion
- molecular dynamics
- batteries
identifiers:
- type: doi
value: 10.5281/zenodo.8401669
license: Apache-2.0
version: 1.6.2
GitHub Events
Total
- Create event: 21
- Issues event: 35
- Release event: 5
- Watch event: 7
- Delete event: 16
- Issue comment event: 72
- Push event: 45
- Pull request review event: 2
- Pull request event: 35
Last Year
- Create event: 21
- Issues event: 35
- Release event: 5
- Watch event: 7
- Delete event: 16
- Issue comment event: 72
- Push event: 45
- Pull request review event: 2
- Pull request event: 35
Committers
Last synced: almost 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Stef Smeets | s****s | 73 |
| Victor Azizi | v****r@l****u | 58 |
| Anastasia K. Lavrinenko | 7****o | 26 |
| SCiarella | s****a@g****m | 14 |
| Stef Smeets | s****s@e****l | 6 |
| SCiarella | 5****a | 4 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 119
- Total pull requests: 126
- Average time to close issues: about 2 months
- Average time to close pull requests: 7 days
- Total issue authors: 9
- Total pull request authors: 5
- Average comments per issue: 1.97
- Average comments per pull request: 1.04
- Merged pull requests: 118
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 18
- Pull requests: 32
- Average time to close issues: about 1 month
- Average time to close pull requests: 5 days
- Issue authors: 5
- Pull request authors: 4
- Average comments per issue: 3.44
- Average comments per pull request: 0.69
- Merged pull requests: 27
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- stefsmeets (45)
- AstyLavrinenko (21)
- v1kko (17)
- SCiarella (8)
- tfamprikis (7)
- v9lgraf (5)
- alexandrosvasi (4)
- wilkek (2)
- Likun-free (1)
Pull Request Authors
- stefsmeets (108)
- SCiarella (21)
- v1kko (21)
- AstyLavrinenko (17)
- tfamprikis (6)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 118 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 16
- Total maintainers: 2
pypi.org: gemdat
Generalized Molecular Dynamics Analysis Tool
- Documentation: https://gemdat.readthedocs.io/
- License: Apache 2.0 License
-
Latest release: 1.6.2
published 9 months ago
Rankings
Maintainers (2)
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pre-commit/action v3.0.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- schneegans/dynamic-badges-action v1.6.0 composite
- MDAnalysis *
- matplotlib >= 3.6.0
- numpy *
- pymatgen >= 2023.8.10
- rich *
- scikit-image *
- scipy *
- MDAnalysis *
- matplotlib >=3.6.0
- numpy *
- pymatgen >=2023.8.10
- rich *
- scikit-image *
- scipy *
- biopython ==1.81
- certifi ==2023.7.22
- charset-normalizer ==3.2.0
- contourpy ==1.1.0
- cycler ==0.11.0
- emmet-core ==0.68.0
- fasteners ==0.18
- fonttools ==4.42.1
- future ==0.18.3
- griddataformats ==1.0.1
- idna ==3.4
- imageio ==2.31.3
- joblib ==1.3.2
- kiwisolver ==1.4.5
- latexcodec ==2.0.1
- lazy-loader ==0.3
- markdown-it-py ==3.0.0
- matplotlib ==3.7.3
- mdanalysis ==2.6.1
- mdurl ==0.1.2
- mmtf-python ==1.1.3
- monty ==2023.9.5
- mp-api ==0.36.1
- mpmath ==1.3.0
- mrcfile ==1.4.3
- msgpack ==1.0.5
- networkx ==3.1
- numpy ==1.25.2
- packaging ==23.1
- palettable ==3.3.3
- pandas ==2.1.0
- pillow ==10.0.0
- plotly ==5.16.1
- pybtex ==0.24.0
- pydantic ==1.10.12
- pygments ==2.16.1
- pymatgen ==2023.9.10
- pyparsing ==3.1.1
- python-dateutil ==2.8.2
- pytz ==2023.3.post1
- pywavelets ==1.4.1
- pyyaml ==6.0.1
- requests ==2.31.0
- rich ==13.5.2
- ruamel-yaml ==0.17.32
- ruamel-yaml-clib ==0.2.7
- scikit-image ==0.21.0
- scipy ==1.11.2
- six ==1.16.0
- spglib ==2.1.0
- sympy ==1.12
- tabulate ==0.9.0
- tenacity ==8.2.3
- threadpoolctl ==3.2.0
- tifffile ==2023.8.30
- tqdm ==4.66.1
- typing-extensions ==4.7.1
- tzdata ==2023.3
- uncertainties ==3.1.7
- urllib3 ==2.0.4