gemdat

Python toolkit for molecular dynamics analysis

https://github.com/gemdat-repos/gemdat

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

data-analysis lammps molecular-dynamics python vasp

Keywords from Contributors

fusion-data hdf5 imas
Last synced: 4 months ago · JSON representation ·

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
data-analysis lammps molecular-dynamics python vasp
Created over 2 years ago · Last pushed 9 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

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:

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

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

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

All Time
  • Total Commits: 181
  • Total Committers: 6
  • Avg Commits per committer: 30.167
  • Development Distribution Score (DDS): 0.597
Past Year
  • Commits: 181
  • Committers: 6
  • Avg Commits per committer: 30.167
  • Development Distribution Score (DDS): 0.597
Top Committers
Name Email 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
documentation (3) later (2) validation (2) waiting on example data (1)
Pull Request Labels
documentation (1)

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

  • Versions: 16
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 118 Last month
Rankings
Dependent packages count: 7.4%
Average: 26.1%
Dependent repos count: 44.8%
Maintainers (2)
Last synced: 4 months ago

Dependencies

.github/workflows/code-style.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pre-commit/action v3.0.0 composite
.github/workflows/publish.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/tests.yaml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • schneegans/dynamic-badges-action v1.6.0 composite
pyproject.toml pypi
  • MDAnalysis *
  • matplotlib >= 3.6.0
  • numpy *
  • pymatgen >= 2023.8.10
  • rich *
  • scikit-image *
  • scipy *
requirements.txt pypi
  • MDAnalysis *
  • matplotlib >=3.6.0
  • numpy *
  • pymatgen >=2023.8.10
  • rich *
  • scikit-image *
  • scipy *
requirements_full.txt pypi
  • 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