IonDiff

IonDiff: command-line tool to identify ionic diffusion events and hopping correlations in molecular dynamics simulations - Published in JOSS (2024)

https://github.com/ionrepo/iondiff

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    9 of 12 committers (75.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Engineering Computer Science - 31% confidence
Last synced: 6 months ago · JSON representation

Repository

Unsupervised identification and analysis of ion-hopping events in solid state electrolytes.

Basic Info
Statistics
  • Stars: 14
  • Watchers: 1
  • Forks: 2
  • Open Issues: 2
  • Releases: 20
Created almost 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License

README.md

IonDiff

Despite playing a central role in the design of high performance solid-state electrolytes, little is known about the processes governing ionic diffusion in these materials and the spatio-temporal correlations acting on migrating particles. Computer simulations can reproduce the trajectories of individual diffusing ions in real time with extraordinary accuracy, thus providing incredibly valuable atomistic data that in practice cannot be resolved by experiments.

However, the identification of hopping events in computer simulations typically relies on active supervision and definition of arbitrary material-dependent geometrical parameters, thus frustrating high throughput screenings of diffusing paths and mechanisms across simulation databases and the assessment of many-diffusing-ion correlations.

Here, we introduce a novel approach for analyzing ion hopping events in molecular dynamics (MD) simulations in a facile and totally unsupervised manner, what would allow the extraction of completely new descriptors related to these diffusions. Our approach relies on the k-means clustering algorithm and allows to identify with precision which and when particles diffuse in a simulation and the exact migrating paths that they follow as well.

Documentation showing functionality and usage of the code are provided one the docs site. Please be aware that the code is under active development, bug reports are welcomed in the GitHub issues!

Installation

IonDiff can be installed from PyPI:

bash pip3 install IonDiff

or installed from source:

bash git clone https://github.com/IonRepo/IonDiff.git cd IonDiff pip3 install .

or used directly from source without explicit installation:

bash git clone https://github.com/IonRepo/IonDiff.git cd IonDiff pip3 install -r docs/requirements.txt

Execution

To extract the diffusion paths from a XDATCAR simulation file (with its corresponding INCAR file) located at examples folder, from the IonDiff folder run:

bash python3 cli.py identify_diffusion --MD_path examples/LLZO/400K

To analyze temporal correlations among the diffusions of different simulations, from the IonDiff folder run:

bash python3 cli.py analyze_correlations --MD_path examples

and to extract atomistic descriptors from the simulations and diffusion events run:

bash python3 cli.py analyze_descriptors --MD_path examples/LLZO/400K

where it has to be provided a file named DIFFUSION_paths, as in examples folder, for which each line represents the relative path to a simulation folder which is to be considered, name of the compound, its stoichiometricity/polymorf and the temperature of simulation. Each folder must contain a XDATCAR simulation file (with its corresponding INCAR file).

An ab initio MD simulation based on density functional theory of non-stoichiometric Li7La3Zr2O12 (LLZO) fast-ion conductor at temperatures of 400K and 800K are provided to run as examples: - INCAR: Basic parameters of the simulation (only POTIM and NBLOCK flags are considered). - XDATCAR: Concatenation of all simulated configurations (recorded each NBLOCK simulation steps). - README.md: More specific information regarding these files.

Input trajectories

The IonDiff code can be perfectly used by any scientist performing either classical molecular dynamics simulations (classical MD) or ab initio molecular dynamics simulations (AIMD). In both types of simulations, atomic trajectories are generated and this is the main input information that the IonDiff code necessitates to perform its correlation and ionic hopping analysis. In other words, the IonDiff analysis does not depend on how the atomic forces are calculated in the undertaken molecular dynamics simulations, whether these are obtained through classical force fields or quantum mechanical methods (e.g., density functional theory). As far as the output trajectory files generated by any classical MD code can be converted to the output trajectory file format of VASP, the IonDiff code can be purposely employed.

There is already a myriad of open-source codes and scripts that can be used for this end, namely, to convert a trajectory file generated by a classical MD code to the VASP format, like, for instance, LAVA or xfroggie (to convert from LAMMPS or GROMACS format to VASP format, respectively).

References and citing

If you use this repository in your work, please consider citing:

López et al., (2024). IonDiff: command-line tool to identify ionic diffusion events and hopping correlations in molecular dynamics simulations. JOSS, 9(99), 6616

Authors

IonDiff is being developed by:

  • Cibrán López
  • Riccardo Rurali
  • Claudio Cazorla

Contact, questions and contributing

If you have questions, please don't hesitate to reach out at: cibran.lopez@upc.edu

Owner

  • Login: IonRepo
  • Kind: user

JOSS Publication

IonDiff: command-line tool to identify ionic diffusion events and hopping correlations in molecular dynamics simulations
Published
July 30, 2024
Volume 9, Issue 99, Page 6616
Authors
Cibrán López ORCID
Departament de Física, Universitat Politècnica de Catalunya, 08034 Barcelona, Spain., Barcelona Research Center in Multiscale Science and Engineering, Universitat Politècnica de Catalunya, 08019 Barcelona, Spain.
Riccardo Rurali ORCID
Institut de Ciència de Materials de Barcelona, ICMAB-CSIC, Campus UAB, 08193 Bellaterra, Spain.
Claudio Cazorla ORCID
Departament de Física, Universitat Politècnica de Catalunya, 08034 Barcelona, Spain., Barcelona Research Center in Multiscale Science and Engineering, Universitat Politècnica de Catalunya, 08019 Barcelona, Spain.
Editor
Rachel Kurchin ORCID
Tags
Molecular dynamics Solid-state electrolytes

GitHub Events

Total
  • Watch event: 5
  • Push event: 7
  • Fork event: 1
Last Year
  • Watch event: 5
  • Push event: 7
  • Fork event: 1

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 190
  • Total Committers: 12
  • Avg Commits per committer: 15.833
  • Development Distribution Score (DDS): 0.211
Past Year
  • Commits: 5
  • Committers: 1
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Cibrán López Álvarez 4****z 150
Cibrán c****n@C****l 7
Cibrán c****n@1****u 6
Cibrán c****n@1****u 5
Cibrán c****n@1****u 5
IonRepo 1****o 4
Cibrán c****n@1****u 4
Cibrán c****n@1****u 3
Cibrán c****n@1****u 2
Cibrán c****n@1****u 2
Cibrán c****n@1****u 1
Cibrán c****n@1****u 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 2
  • Total pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: less than a minute
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 6.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yw-fang (2)
Pull Request Authors
  • CibranLopez (6)
  • IonRepo (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 206 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 21
  • Total maintainers: 1
pypi.org: iondiff

Unsupervised identification and analysis of ion-hopping events in solid state electrolytes.

  • Homepage: https://github.com/IonRepo/IonDiff
  • Documentation: https://iondiff.readthedocs.io/
  • License: MIT License Copyright (c) 2023 IonRepo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Latest release: 1.6
    published over 1 year ago
  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 38 Last month
Rankings
Dependent packages count: 10.9%
Forks count: 25.2%
Average: 33.1%
Stargazers count: 35.1%
Dependent repos count: 61.2%
Maintainers (1)
Last synced: 6 months ago
pypi.org: cibran

Identification and analysis of ion-hopping events in solid state electrolytes.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 168 Last month
Rankings
Dependent packages count: 9.4%
Average: 35.9%
Dependent repos count: 62.3%
Maintainers (1)
Last synced: 7 months ago