JaGeo / LobsterPy

Package to perform automatic bonding analysis with the program Lobster in the field of computational materials science and quantum chemistry
https://jageo.github.io/LobsterPy/
BSD 3-Clause "New" or "Revised" License
74 stars 27 forks source link
chemical-bonding computational-chemistry computational-materials-science materials-informatics plotting python

CI Status pre-commit.ci status codecov build-docs PyPI version PyPI downloads Downloads supported python versions DOI status

Getting started

LobsterPy Logo which consists of a green Python and a red Lobster

LobsterPy is a package that enables automatic analysis of LOBSTER outputs to get summarized bonding information and relevant bond plots. Additionally, one can also generate features for machine learning studies from LOBSTER outputs. One can download LOBSTER from http://www.cohp.de.

Important

Recently released [LOBSTER 5.0](https://schmeling.ac.rwth-aachen.de/cohp/index.php?menuID=6) now generates `POSCAR.lobster` for any kind of LOBSTER calculation by default (This file has same format as the POSCAR from VASP). Thus, LobsterPy in principle, now supports usage with **all** DFT codes supported by LOBSTER and is **no** longer limited to `VASP`. Almost all of the core functionalities of LobsterPy could be used. The user must use `POSCAR.lobster` for `path_to_poscar` and `-fstruct` argument in python and cli interface, respectively. The only functionality limited to VASP is DOS comparisons and basis set analysis in the `calc_quality_summary` method of the `Analysis` class, as it relies on VASP output files, namely `vasprun.xml` and `POTCAR`.

Please note that LobsterPy relies on the LOBSTER computation output files. Thus, it will be only able to analyze data that has been computed in the LOBSTER run.

LobsterPyAnimation

Installation

Python version

Before the installation, please make sure that you are using one of the supported Python versions (see pyproject.toml).

Standard installation

Install using pip install lobsterpy

Installation with featurizer

Install using pip install lobsterpy[featurizer]

Contributing guidelines / Developers installation

A short guide to contributing to LobsterPy can be found here. Additional information for developers can be found here.

Basic usage

You can use lobsterpy description for an automated analysis of COHPs for relevant cation-anion bonds or lobsterpy automatic-plot to plot the results automatically. It will evaluate all COHPs with ICOHP values down to 10% of the strongest ICOHP. You can enforce an analysis of all bonds by using lobsterpy automatic-plot --allbonds. You can also switch the automatic analysis to use the ICOBIs or ICOOPs. You need to add --cobis or --coops along with the mentioned commands for e.g.like lobsterpy description --cobis

An interactive plotter is available via lobsterpy automatic-plot-ia.

Currently, the computed Mulliken charges will be used to determine cations and anions. If no CHARGE.lobster is available, the algorithm will fall back to the BondValence analysis from pymatgen.

Please be aware that LobsterPy can only analyze bonds that have been included in the initial Lobster computation. Thus, please use the cohpgenerator within Lobster (i.e., put cohpGenerator from 0.1 to 5.0 in the lobsterin).

It is also possible to start this automatic analysis from a Python script. See "examples" for scripts.

Comprehensive documentation

How to cite?

Please cite our paper: A. A. Naik, K. Ueltzen, C. Ertural, A. J. Jackson, J. George, Journal of Open Source Software 2024, 9, 6286. https://joss.theoj.org/papers/10.21105/joss.06286. Please cite pymatgen, Lobster, and ChemEnv correctly as well.

You can find more information on the methodology of the automatic analysis in J. George, G. Petretto, A. Naik, M. Esters, A. J. Jackson, R. Nelson, R. Dronskowski, G.-M. Rignanese, G. Hautier, ChemPlusChem 2022, 87, e202200123. https://doi.org/10.1002/cplu.202200123.

LobsterPy is now a part of an atomate2 workflow

LobsterWorkflow

We have now also included the automatic analysis into a fully automatic workflow using VASP and Lobster in atomate2. More documentation and information will follow soon.

Acknowledgements

The development of the program has been supported by a computing time grant. We gratefully acknowledge the Gauss Centre for Supercomputing e.V. (www.gauss-centre.eu) for funding this project by providing computing time on the GCS Supercomputer SuperMUC-NG at Leibniz Supercomputing Centre (www.lrz.de) (project pn73da).