Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linux-cpp-lisp/sitator
Unsupervised landmark analysis for jump detection in molecular dynamics simulations.
https://github.com/linux-cpp-lisp/sitator
materials-science molecular-dynamics site-analysis solid-state-physics
Last synced: about 2 months ago
JSON representation
Unsupervised landmark analysis for jump detection in molecular dynamics simulations.
- Host: GitHub
- URL: https://github.com/linux-cpp-lisp/sitator
- Owner: Linux-cpp-lisp
- License: mit
- Created: 2018-08-02T12:33:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-01-12T20:08:50.000Z (about 4 years ago)
- Last Synced: 2024-12-03T05:34:49.405Z (about 2 months ago)
- Topics: materials-science, molecular-dynamics, site-analysis, solid-state-physics
- Language: Python
- Homepage: https://doi.org/10.1103/PhysRevMaterials.3.055404
- Size: 1.75 MB
- Stars: 13
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.bib
Awesome Lists containing this project
README
# sitator
A modular framework for conducting and visualizing site analysis of molecular dynamics trajectories.
![](example.png)
Visualizations of complete landmark site analyses, created with `sitator`, of the superionic conductors (a) LGPS, (b) LLZO, and (c) LASO. Source: figures 11, 14, and 18 from our paper, linked below.
`sitator` contains an efficient implementation of our method, landmark analysis, as well as visualization tools, generic data structures for site analysis, pre- and post-processing tools, and more.
For details on landmark analysis and its application, please see our paper:
> L. Kahle, A. Musaelian, N. Marzari, and B. Kozinsky
> [Unsupervised landmark analysis for jump detection in molecular dynamics simulations](https://doi.org/10.1103/PhysRevMaterials.3.055404)
> Phys. Rev. Materials 3, 055404 – 21 May 2019If you use `sitator` in your research, please consider citing this paper. The BibTeX citation can be found in [`CITATION.bib`](CITATION.bib).
## Installation
`sitator` is built for Python >=3.2 (the older version, v1.0.1, supports Python 2.7). We recommend the use of a virtual environment (`virtualenv`, `conda`, etc.). `sitator` has a number of optional dependencies that enable various features:
* Landmark Analysis
* The `network` executable from [Zeo++](http://www.maciejharanczyk.info/Zeopp/examples.html) is required for computing the Voronoi decomposition. (It does not have to be installed in `PATH`; the path to it can be given with the `zeopp_path` option of `VoronoiSiteGenerator`.)
* Site Type Analysis
* For SOAP-based site types: either the `quip` binary from [QUIP](https://libatoms.github.io/QUIP/) with [GAP](http://www.libatoms.org/gap/gap_download.html) **or** the [`DScribe`](https://singroup.github.io/dscribe/index.html) Python library.
* The Python 2.7 bindings for QUIP (`quippy`) are **not** required. Generally, `DScribe` is much simpler to install than QUIP. **Please note**, however, that the SOAP descriptor vectors **differ** between QUIP and `DScribe` and one or the other may give better results depending on the system you are analyzing.
* For coordination environment analysis (`sitator.site_descriptors.SiteCoordinationEnvironment`), we integrate the `pymatgen.analysis.chemenv` package; a somewhat recent installation of `pymatgen` is required.After downloading, the package is installed with `pip`:
```bash
# git clone ... OR unzip ... OR ...
cd sitator
pip install .
```To enable site type analysis, add the `[SiteTypeAnalysis]` option (this adds two dependencies -- Python packages `pydpc` and `dscribe`):
```bash
pip install ".[SiteTypeAnalysis]"
```## Examples and Documentation
Two example Jupyter notebooks for conducting full landmark analyses of LiAlSiO4 and Li12La3Zr2O12 as in our paper, including data files, can be found [on Materials Cloud](https://archive.materialscloud.org/record/102).
Full API documentation can be found at [ReadTheDocs](https://sitator.readthedocs.io/en/py3/).
`sitator` generally assumes units of femtoseconds for time, Angstroms for space,
and Cartesian (not crystal) coordinates.## Global Options
`sitator` uses the `tqdm.autonotebook` tool to automatically produce the correct fancy progress bars for terminals and iPython notebooks. To disable all progress bars, run with the environment variable `SITATOR_PROGRESSBAR` set to `false`.
The `SITATOR_ZEO_PATH` and `SITATOR_QUIP_PATH` environment variables can set the default paths to the Zeo++ `network` and QUIP `quip` executables, respectively.
## License
This software is made available under the MIT License. See [`LICENSE`](LICENSE) for more details.