Electron-phonon code.
Project description
Phelel
A code that provides a few computations related to electron-phonon interaction calculation in finite-displacement method reported by
Laurent Chaput, Atsushi Togo, and Isao Tanaka, Phys. Rev. B 100, 174304 (2019).
Note that this code couples with VASP code, and the electron-phonon interaction properties can not be computed only using this code.
Phelel user documentation is found at http://phonopy.github.io/phelel/
Installation
Requirement
- phonopy
- phono3py
- spglib
- finufft
- click
- tomli
- tomli-w
- seekpath (optional)
Installation from source code
A simplest installation using conda-forge packages:
% conda create -n phelel -c conda-forge
% conda activate phelel
% conda install -c conda-forge phono3py finufft click tomli tomli-w seekpath
% git clone https://github.com/phonopy/phelel.git
% cd phelel
% pip install -e .
PyPI and conda forge package will be made in the future.
Command-line tool: velph
Configuration of shell completion
Velph command is a convenient tool to systematically perform electron-phonon
interaction calculations with VASP code and analyze the results. Velph works in
combination of command options. The command velph
is installed along with
the installation of phelel.
Velph relies on click, and shell completion is provided for popular shell implementations, see https://click.palletsprojects.com/en/stable/shell-completion/.
For example using bash (zsh) in conda environment, write the following line
(for bash)
eval "$(_VELPH_COMPLETE=bash_source velph)"
(for zsh)
eval "$(_VELPH_COMPLETE=zsh_source velph)"
in ~/.bashrc
(~/.zshrc
), or in a conda environment in
$CONDA_PREFIX/etc/conda/activate.d/env_vars.sh
.
After setting and reloading the configuration file (e.g., ~/.bashrc
),
sub-commands are listed by pushing tab key:
% velph [PUSH-TAB-KEY]
el_bands -- Choose electronic band structure options.
generate -- Write POSCAR-unitcell and POSCAR-primitive.
hints -- Show velph command hints.
init -- Initialize an electron phonon calculation...
nac -- Choose nac options.
ph_bands -- Choose phonon band structure options.
phelel -- Choose supercell options.
phono3py -- Choose phono3py options.
relax -- Choose relax options.
selfenergy -- Choose selfenergy options.
transport -- Choose transport options.
velph-hints
This command provides a quick reference of calculation steps.
Development
Formatting
Formatting rules are found in pyproject.toml
.
pre-commit
Pre-commit (https://pre-commit.com/) is mainly used for applying the formatting rules automatically. Therefore, it is strongly encouraged to use it at or before git-commit. Pre-commit is set-up and used in the following way:
- Installed by
pip install pre-commit
,conda install pre_commit
or see https://pre-commit.com/#install. - pre-commit hook is installed by
pre-commit install
. - pre-commit hook is run by
pre-commit run --all-files
.
Unless running pre-commit, pre-commit.ci may push the fix at PR by github action. In this case, the fix should be merged by the contributor's repository.
VSCode setting
-
Not strictly, but VSCode's
settings.json
may be written like below"ruff.lint.args": [ "--config=${workspaceFolder}/pyproject.toml", ], "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } },
How to run tests
Tests are written using pytest. To run tests, pytest has to be installed. The tests can be run by
% pytest
License
BSD-3-Clause.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file phelel-0.6.2.tar.gz
.
File metadata
- Download URL: phelel-0.6.2.tar.gz
- Upload date:
- Size: 91.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea54d886d6a237c53a351fc26132a2c1dab4a46def19d94044449b4ea945c455 |
|
MD5 | 3c00191db81ce206654f1fb7e19e73fc |
|
BLAKE2b-256 | cfcb35a878bd08a0edd84e61e57c95d961460b20ccf572ba1cf94c0f9d5a56c6 |