santiama / Phono3py-Power-Tools

Tools for Phono(3)py power users.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Phono3py-Power-Tools

Tools for Phono(3)py power users.

Installation

Requirements

The command-line scripts are written in Python and collectively require the following packages:

If you do not use Python, we recommend installing Anaconda or Miniconda. The packages are installed by default with Anaconda, and can be added to Miniconda using the conda package manager:

$ conda install numpy matplotlib h5py

Some of the scripts also use the Phonopy Python API and require Phonopy to be installed. This can also be installed using conda - instructions here.

Downloading and setting up

The easiest way to download Phono3py-Power-Tools is to clone the repository with git:

$ git clone https://github.com/skelton-group/Phono3py-Power-Tools

Once done, make the command-line scripts executable:

$ cd Phono3py-Power-Tools
$ chmod +x phonopy-* phono3py-*

To avoid prefixing the scripts with their full path, add the repository folder to your $PATH variable - e.g.:

$ export PATH=${PATH}:/mnt/d/Repositories/Phono3py-Power-Tools

If you wish to use the Phono3pyTools Python package, you will also need to add the folder to your $PYTHONPATH:

$ export PYTHONPATH=${PYTHONPATH}:/mnt/d/Repositories/Phono3py-Power-Tools

Updating

You can update by performing a git pull from the Phono3py-Power-Tools folder:

$ git pull 

If you have imported the Python package, or run any of the command-line scripts that do so, this will likely have created some cache files and you will get a git error similar to the following:

error: Your local changes to the following files would be overwritten by merge:
        phono3py-mode-plot
Please, commit your changes or stash them before you can merge.
Aborting

Presuming you do not have source code changes to commit, you can work around this error by git stashing the "changes", deleting the "stashed" changes, and then running a git pull:

$ git stash
$ git stash clear
$ git pull

After updating, you will probably need to update the script permissions again:

$ chmod +x phonopy-* phono3py-*

Utilities for Phonopy

phonopy-get-comm-pts

Command-line script to list the commensurate wavevectors (q-points) associated with a chosen supercell expansion. Documentation and a usage example here.

phonopy-get-trans-mat

Command-line script to find the transformation matrix between a conventional and primitive cell such as the BPOSCAR and PPOSCAR obtained with phonopy --symmetry. Documentation and a usage example here.

Phonopy-Importer

Provides a means to post-process phonon calculations in unsupported codes with Phonopy, by reverse transforming frequencies and eigenvectors to force constants. Currently supports CASTEP. More complete documentation can be found in the project subfolder.

Utilities for Phono3py

phono3py-get-kappa

Command-line script for extracting thermal-conductivity tensors (κlatt) from the kappa-m*.hdf5 files produced by Phono3py to plain-text comma-separated values (CSV) files. More complete documentation can be found here.

phono3py-isotopes

Command-line script to generate input for modelling the effect of mass variance on κlatt. Documentation including usage examples can be found here.

phono3py-mode-plot

Command-line script for visualising the data from Phono3py kappa-m*.hdf5 files. Documentation including a tutorial can be found here.

Miscellaneous utilities

vasp-get-force-drift

Command-line script for extracting and visualising the force drift reported in sets of VASP OUTCAR files. This can be used to quickly assess the numerical quality of a set of single-point force calculations for a VASP + Phono(3)py calculation, and to identify calculations that need attention. Documentation to follow.

phono3py-force-norms

Command-line script for visualising the norms of the atomic forces sets in Phonopy FORCE_SETS and Phono3py FORCES_FC3 files. This can be used in conjunction with vasp-get-force-drift (or a similar tool) to compare the numerical precision of the calculated forces to the changes in forces in the displaced structures. Documentation to follow.

Contributions, bug reports and feature requests

We are happy to accept contributions. To report bugs or request new features, please use the Issue Tracker. If you use the programs in this repository in your work, please let us know jonathan.skelton[at]manchester.ac.uk - we will collect them and put up a list of outputs.

About

Tools for Phono(3)py power users.

License:MIT License


Languages

Language:Python 100.0%