[![Documentation Status](https://readthedocs.org/projects/gemdat/badge/?version=latest)](https://gemdat.readthedocs.io/en/latest/?badge=latest)
[![Tests for GEMDAT](https://github.com/GEMDAT-repos/GEMDAT/actions/workflows/tests.yaml/badge.svg)](https://github.com/GEMDAT-repos/GEMDAT/actions/workflows/tests.yaml)
![Coverage](https://gist.githubusercontent.com/stefsmeets/b599ff4ccf4a6d201a984502f049da73/raw/covbadge.svg)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/gemdat)](https://pypi.org/project/gemdat/)
[![PyPI](https://img.shields.io/pypi/v/gemdat.svg?style=flat)](https://pypi.org/project/gemdat/)
[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8401669.svg)](https://doi.org/10.5281/zenodo.8401669)
![GEMDAT banner](https://raw.githubusercontent.com/GEMDAT-repos/GEMDAT/main/src/gemdat/data/logo_on_white.png#gh-light-mode-only)
![GEMDAT banner](https://raw.githubusercontent.com/GEMDAT-repos/GEMDAT/main/src/gemdat/data/logo_on_black.png#gh-dark-mode-only)
# 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](https://pymatgen.org/), 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](https://github.com/GEMDAT-repos/GEMDAT).
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.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:
```python
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:
```python
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](CONTRIBUTING.md#Getting-started-with-development) to get started with development.
## How to Cite
- Victor Azizi, Stef Smeets, Anastasiia K. Lavrinenko and Simone Ciarella. GEMDAT (Version 1.5.1) [Computer software]. https://github.com/GEMDAT-repos/GEMDAT, doi: [10.5281/zenodo.8401669](https://dx.doi.org/10.5281/zenodo.8401669)
## Credits
The code in this repository is based on [Matlab code to analyse Molecular Dynamics simulations](https://bitbucket.org/niekdeklerk/md-analysis-with-matlab/src/master/).
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](https://doi.org/10.1021/acsaem.8b00457)
Raw data
{
"_id": null,
"home_page": null,
"name": "GEMDAT",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "analysis, molecular dynamics, diffusion, batteries",
"author": null,
"author_email": "Victor Azizi <v.azizi@esciencecenter.nl>, Stef Smeets <s.smeets@esciencecenter.nl>",
"download_url": "https://files.pythonhosted.org/packages/d9/2b/41ba08aa1ec44ded6200469558ff84634603bb2ccbd181cb16a6c7604ffe/gemdat-1.5.1.tar.gz",
"platform": null,
"description": "[![Documentation Status](https://readthedocs.org/projects/gemdat/badge/?version=latest)](https://gemdat.readthedocs.io/en/latest/?badge=latest)\n[![Tests for GEMDAT](https://github.com/GEMDAT-repos/GEMDAT/actions/workflows/tests.yaml/badge.svg)](https://github.com/GEMDAT-repos/GEMDAT/actions/workflows/tests.yaml)\n![Coverage](https://gist.githubusercontent.com/stefsmeets/b599ff4ccf4a6d201a984502f049da73/raw/covbadge.svg)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/gemdat)](https://pypi.org/project/gemdat/)\n[![PyPI](https://img.shields.io/pypi/v/gemdat.svg?style=flat)](https://pypi.org/project/gemdat/)\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.8401669.svg)](https://doi.org/10.5281/zenodo.8401669)\n\n![GEMDAT banner](https://raw.githubusercontent.com/GEMDAT-repos/GEMDAT/main/src/gemdat/data/logo_on_white.png#gh-light-mode-only)\n![GEMDAT banner](https://raw.githubusercontent.com/GEMDAT-repos/GEMDAT/main/src/gemdat/data/logo_on_black.png#gh-dark-mode-only)\n\n# GEMDAT\n\nGemdat is a Python library for the analysis of diffusion in solid-state electrolytes from Molecular Dynamics simulations. Gemdat is built on top of [Pymatgen](https://pymatgen.org/), making it straightforward to integrate it into your Pymatgen-based workflows.\n\nWith Gemdat, you can:\n\n- Explore your MD simulation via an easy-to-use Python API\n- Load and analyze trajectories from VASP and LAMMPS simulation data\n- Find jumps and transitions between sites\n- Effortlessly calculate tracer and jump diffusivity\n- Characterize and visualize diffusion pathways\n- Plot radial distribution functions\n\nTo install:\n\n```console\npip install gemdat\n```\n\nThe source code is available from [Github](https://github.com/GEMDAT-repos/GEMDAT).\n\nSuggestions, improvements, and edits are most welcome.\n\n## Usage\n\nThe following snippet to analyze the diffusion trajectory from VASP data.\n\n```python\nfrom gemdat import Trajectory\n\ntrajectory = Trajectory.from_vasprun('../example/vasprun.xml')\n\ntrajectory.plot_displacement_per_element()\n\ndiff_trajectory = trajectory.filter('Li')\n\ndiff_trajectory.plot_displacement_per_atom()\ndiff_trajectory.plot_displacement_histogram()\ndiff_trajectory.plot_frequency_vs_occurence()\ndiff_trajectory.plot_vibrational_amplitudes()\n```\n\nCharacterize transitions and jumps between sites:\n\n```python\nfrom gemdat.io import load_known_material\n\nsites = load_known_material('argyrodite', supercell=(2, 1, 1))\n\ntransitions = trajectory.transitions_between_sites(\n sites=sites,\n floating_specie='Li',\n)\n\njumps = transitions.jumps()\n\njumps.plot_jumps_vs_distance()\njumps.plot_jumps_vs_time()\njumps.plot_collective_jumps()\njumps.plot_jumps_3d()\n\njumps.jump_diffusivity(dimensions=3)\n```\n\nTo calculate different metrics, such as tracer diffusivity:\n\n```python\nfrom gemdat import TrajectoryMetrics\n\nmetrics = TrajectoryMetrics(diff_trajectory)\n\nmetrics.tracer_diffusivity(dimensions=3)\nmetrics.haven_ratio(dimensions=3)\nmetrics.tracer_conductivity(dimensions=3)\nmetrics.particle_density()\nmetrics.vibration_amplitude()\n```\n\n## Development\n\nCheck out our [Contributing Guidelines](CONTRIBUTING.md#Getting-started-with-development) to get started with development.\n\n## How to Cite\n\n- Victor Azizi, Stef Smeets, Anastasiia K. Lavrinenko and Simone Ciarella. GEMDAT (Version 1.5.1) [Computer software]. https://github.com/GEMDAT-repos/GEMDAT, doi: [10.5281/zenodo.8401669](https://dx.doi.org/10.5281/zenodo.8401669)\n\n## Credits\n\nThe code in this repository is based on [Matlab code to analyse Molecular Dynamics simulations](https://bitbucket.org/niekdeklerk/md-analysis-with-matlab/src/master/).\n\nFor background information on how some of the properties are calculated, check out the accompanying paper:\n\n- Niek J.J. de Klerk, Eveline van der Maas and Marnix Wagemaker, ACS Applied Energy Materials, (2018), doi: [10.1021/acsaem.8b00457](https://doi.org/10.1021/acsaem.8b00457)\n",
"bugtrack_url": null,
"license": "Apache 2.0 License",
"summary": "Generalized Molecular Dynamics Analysis Tool",
"version": "1.5.1",
"project_urls": {
"changelog": "https://github.com/GEMDAT-repos/GEMDAT/releases",
"documentation": "https://gemdat.readthedocs.io",
"homepage": "https://github.com/GEMDAT-repos/GEMDAT",
"issues": "https://github.com/GEMDAT-repos/GEMDAT/issues"
},
"split_keywords": [
"analysis",
" molecular dynamics",
" diffusion",
" batteries"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b72e3b3cc958d4b63375531e82fec8986053fc9083e14b75def13c840c1bd363",
"md5": "78d223f30bac6a82feda16d248dff589",
"sha256": "e62f5225f557d7972a8fa5e1223b4f799f654635cad9dd6ffa29841ba4e77c12"
},
"downloads": -1,
"filename": "GEMDAT-1.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "78d223f30bac6a82feda16d248dff589",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 538736,
"upload_time": "2024-11-25T11:13:39",
"upload_time_iso_8601": "2024-11-25T11:13:39.864617Z",
"url": "https://files.pythonhosted.org/packages/b7/2e/3b3cc958d4b63375531e82fec8986053fc9083e14b75def13c840c1bd363/GEMDAT-1.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d92b41ba08aa1ec44ded6200469558ff84634603bb2ccbd181cb16a6c7604ffe",
"md5": "9f8a483acfeb60b5773557e932aa8b7d",
"sha256": "c7d0bc919c969eac6e6e029821402cc89d45df923b4c4d1c95febc98815f3dea"
},
"downloads": -1,
"filename": "gemdat-1.5.1.tar.gz",
"has_sig": false,
"md5_digest": "9f8a483acfeb60b5773557e932aa8b7d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 515871,
"upload_time": "2024-11-25T11:13:42",
"upload_time_iso_8601": "2024-11-25T11:13:42.069694Z",
"url": "https://files.pythonhosted.org/packages/d9/2b/41ba08aa1ec44ded6200469558ff84634603bb2ccbd181cb16a6c7604ffe/gemdat-1.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-25 11:13:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "GEMDAT-repos",
"github_project": "GEMDAT",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "matplotlib",
"specs": [
[
">=",
"3.6.0"
]
]
},
{
"name": "MDAnalysis",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pymatgen",
"specs": [
[
"!=",
"2024.2.20"
],
[
">=",
"2024.1.26"
]
]
},
{
"name": "rich",
"specs": []
},
{
"name": "scikit-image",
"specs": []
},
{
"name": "scipy",
"specs": []
}
],
"lcname": "gemdat"
}