Quesadilla (Queue-saving nondiagonal superlattices) is a python package for nondiagonal supercell phonon calculations, using the approach of Lloyd-Williams and Monserrat
- A simple, phonopy-like interface for generating NDSCs and computing force constants.
- Supports all force calculators supported by phonopy (VASP, QE, Wien2k, etc.).
- Generates standard
phonopy.yamlfiles that can be used with phonopy or any other package that reads phonopy output files. - Heavily uses symmetry to minimize the computational cost of the calculations.
- Solves the set cover problem to extract the minimum number of NDSCs needed to cover the irreducible part of the
$q$ -grid.
Quesadilla requires a FORTRAN compiler and a BLAS/LAPACK installation on your path. It has only been tested on Linux and MacOS. The package is not yet listed on PyPI, so you need to install it directly from the GitHub repository via pip. Different versions of pip may support different syntax, but the following seems to work somewhat consistently.
pip install git+https://github.com/Griffin-Group/quesadilla.gitWorst case scenario, you can clone the repo and install with pip
git clone https://github.com/Griffin-Group/quesadilla.git
cd quesadilla && pip install .If you have any issues with the installation, please open an issue.
Quesadilla has a simple CLI that is nearly identical to phonopy. If you know how to use phonopy, you already know how to use Quesadilla! See the full tutorial for more details.
To generate the NDSCs, you can run
quesadilla -d --dim 4 4 4which will find the smallest number of NDSCs that cover the irreducible part of a 4x4x4
quesadilla -f vasprun.xmlto create the FORCE_SETS file for each NDSC. Finally, you can compute the force constants in the full 4x4x4 supercell by running
quesadilla --fcwhich will produce a phonopy.yaml file that can be used with phonopy or any other package that reads phonopy output files.