A modular framework for conducting and visualizing site analysis of molecular dynamics trajectories.
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
Phys. Rev. Materials 3, 055404 – 21 May 2019
If you use sitator in your research, please consider citing this paper. The BibTeX citation can be found in CITATION.bib.
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
networkexecutable from Zeo++ is required for computing the Voronoi decomposition. (It does not have to be installed inPATH; the path to it can be given with thezeopp_pathoption ofVoronoiSiteGenerator.) - Site Type Analysis
- For SOAP-based site types: either the
quipbinary from QUIP with GAP or theDScribePython library.- The Python 2.7 bindings for QUIP (
quippy) are not required. Generally,DScribeis much simpler to install than QUIP. Please note, however, that the SOAP descriptor vectors differ between QUIP andDScribeand one or the other may give better results depending on the system you are analyzing.
- The Python 2.7 bindings for QUIP (
- For coordination environment analysis (
sitator.site_descriptors.SiteCoordinationEnvironment), we integrate thepymatgen.analysis.chemenvpackage; a somewhat recent installation ofpymatgenis required.
After downloading, the package is installed with pip:
# 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):
pip install ".[SiteTypeAnalysis]"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.
Full API documentation can be found at ReadTheDocs.
sitator generally assumes units of femtoseconds for time, Angstroms for space,
and Cartesian (not crystal) coordinates.
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.
This software is made available under the MIT License. See LICENSE for more details.
