velph
subcommands#
The velph
subcommands, except for velph init and velph hints,
are explained on this page.
The following subcommands must be executed in the directory containing the
velph.toml
file. This ensures that the directories and files generated are
properly organized relative to the current directory where velph.toml
is
located.
velph relax
#
It is recommended to create a project directory secific for relaxation calculation, e.g., as
% ls
POSCAR-unitcell POTCAR velph-tmpl.toml
% velph init --template-toml velph-tmpl.toml POSCAR-unitcell relax
...
% cd relax
% ls
POTCAR velph.toml
% velph relax generate
...
velph relax generate
#
This subcommand generates VASP input files and a job script for crystal
structure relaxation. Initially, these files are created in the iter1
directory. The process supports multiple relaxation steps, where the CONTCAR
file from the previous iteration is used as the POSCAR
for the next step once
the preceding VASP calculation is complete. Each subsequent set of input files
is generated in directories named iter2
, iter3
, and so on.
% ls
POTCAR velph.toml
% velph relax generate
VASP input files were made in "relax/iter1".
...
# Run VASP calculation in relax/iter1
...
% ls
POTCAR relax/ velph.toml
% velph relax generate
"relax/iter1" exists.
"relax/iter1/CONTCAR" will be as new "POSCAR".
VASP input files were made in "relax/iter2".
...
velph nac
#
This subcommand is used to prepare VASP input files for calculating the dielectric constant and Born effective charges. These quantities are required for the non-analytical term correction in phonon calculations and for handling the long-range terms in electron-phonon interaction calculations.
velph nac generate
#
After the VASP calculation is complete, the dielectric constant and Born
effective charges are extracted from the vasprun.xml
file during the execution
of velph phelel init
, velph phono3py init
, or velph phonopy init
. The
extracted values are then written to phelel_disp.yaml
, phono3py_disp.yaml
,
or phonopy_disp.yaml
, respectively.
% velph nac generate
VASP input files were made in "nac".
velph el_bands
#
This subcommand is used to prepare VASP input files for electronic band structure and density of states calculations, and to plot the resulting data.
velph el_bands generate
#
The VASP input files have been prepared so that the calculation results will be
stored in vaspout.h5
.
% velph el_bands generate
VASP input files were made in "el_bands/bands".
VASP input files were made in "el_bands/dos".
velph el_bands plot
#
The electronic band structure and density of states are plotted and saved in the
el_bands.pdf
file. The energy range must be specified using the --windows
option, with the first and second arguments representing the range below and
above the Fermi energy in eV, respectively.
% velph el_bands plot --window -5 9
Electronic band structure plot was saved in "el_bands/el_bands.pdf".
velph phelel
#
This subcommand calculates the derivatives of local potentials and PAW strengths
with respect to displacement, performing similar operations as steps 1 and 3
carried out by the phelel
command in the workflow.
The subcommands below should be executed in the following order:
Certain configurations for phelel can be specified directly in the
velph.toml
file:
[phelel]
supercell_dimension = [2, 2, 2]
amplitude = 0.03
diagonal = false
plusminus = true
velph phelel init
#
This subcommand generates the phelel_disp.yaml
file, which contains
information about the supercell structure and displacements. It is recommended
to generate phelel_disp.yaml
after performing the NAC calculation (see
velph nac). At this stage, the dielectric constant and Born
effective charges are written to phelel_disp.yaml
, and these values are
ultimately stored in phelel_params.hdf5
through the phelel_disp.yaml
file.
% velph phelel init
Found "nac" directory. Read NAC params.
"phelel/phelel_disp.yaml" was generated.
VASP input files will be generated by "velph phelel generate".
velph phelel generate
#
VASP input files and job scripts are generated.
% velph phelel generate
VASP input files were generated in "phelel/disp-000".
VASP input files were generated in "phelel/disp-001".
VASP input files were generated in "phelel/disp-002".
VASP input files were generated in "phelel/disp-003".
VASP input files were generated in "phelel/disp-004".
velph phelel differentiate
#
The derivatives of local potentials and PAW strengths with respect to
displacement are calculated and stored in phelel_params.hdf5
.
% velph phelel differentiate
FFT mesh: [30 30 30].
Running finufft (eps=1.000e-06)...
Running finufft (eps=1.000e-06)...
"phelel/phelel_params.hdf5" has been made.
velph phelel phonopy
#
Note
This subcommand is similar to velph ph_bands
, but the phonon band structure is
calculated using the phonopy code. While the phonon calculation routines of VASP
and phonopy are expected to yield similar results, they are not entirely
equivalent. However, for electron-phonon calculations, the VASP routine is
utilized.
phonopy_params.yaml
that contains information necessary for phonon calculation
by the phonopy code is generated from phelel_disp.yaml
and the results of the
VASP inputs generated by velph phelel generate
.
% velph phelel phonopy
"phelel/phonopy_params.yaml" has been made.
% phonopy-load phelel/phonopy_params.yaml --band auto -p
velph transport
#
This subcommand is used to prepare VASP input files for calculating transport properties based on electron-phonon interactions.
velph transport generate
#
The VASP input files are prepared for transport property calculations. Users
should review the generated INCAR
tags and modify them as necessary for the
target material. If results from el_bands/dos
calculations are available, the
maximum band index for the self-energy calculation is estimated and written into
the INCAR
file.
% velph transport generate
Found "el_bands/dos" directory. Estimate elph_selfen_band_stop.
"elph_selfen_band_stop=5" in INCAR is set.
VASP input files were generated in "transport".
velph transport plot
#
velph transport plot transport
#
The following command opens a graphical window that contains plots of transport
properties. By default, it uses the transport/vaspout.h5
file unless a
different file is specified as the first argument.
% velph transport plot transport
velph transport plot eigenvalues
#
The following command opens a graphical window to display eigenvalues in the
Brillouin zone with occupations that are neither zero nor one. By default, these
eigenvalues are extracted from the transport/vaspout.h5
file unless a
different file is specified as the first argument. Their occupations are
determined based on the temperature and Fermi level set through the command-line
options.
% velph transport plot eigenvalues
mu: 4.837002 eV
temperature: 300.000000 K
No eigenvalues to plot.
% velph transport plot eigenvalues --mu 4
This subcommand requires pre-calculated eigenvalues, Fermi levels, and input
parameters such as temperatures. However, electron-phonon calculation results
are not necessary. If the goal is to visualize Fermi surface pockets on a
k-point grid, it is recommended to run the electron-phonon calculation using
ELPH_SCATTERING_APPROX=CRTA
to generate the required vaspout.h5
file
efficiently.
velph transport plot selfenergy
#
The following command opens a graphical window to display Fan self-energies. By
default, it uses the transport/vaspout.h5
file unless a different file is
specified as the first argument.
% velph transport plot selfenergy
velph ph_bands
#
This subcommand is used to prepare VASP input files for phonon band structure
calculation using the supercell force constants stored in phelel_params.hdf5
,
and to plot the resulting data.
velph ph_bands generate
#
The VASP input files including QPOINTS
are prepared so that the
calculation results will be stored in vaspout.h5
.
% velph ph_bands generate
VASP input files were made in "ph_bands/bands".
velph ph_bands plot
#
The phonon band structure is plotted and saved in the ph_bands.pdf
file.
% velph ph_bands plot
Phonon band structure plot was saved in "ph_bands/ph_bands.pdf".
velph phono3py
#
This subcommand facilitates anharmonic phonon calculation including lattice
thermal conductivity calculation using the phono3py code. Certain configurations
for supercell and displacements can be specified directly in the velph.toml
file:
[phono3py]
supercell_dimension = [2, 2, 2]
amplitude = 0.03
diagonal = false
plusminus = true
velph phono3py init
#
The phono3py_disp.yaml
file, which contains displacement information, is
generated by this subcommand. It is recommended to use the --rd
option with a
sufficiently large argument to create supercells with random directional
displacements. Note that it is not necessary to calculate forces for all
supercells to ultimately generate the phono3py_params.yaml
file.
% velph phono3py init --rd 2000
Displacement distance: 0.03
Number of displacements: 2000
Found "nac" directory. Read NAC params.
"phono3py/phono3py_disp.yaml" was generated.
VASP input files will be generated by "velph phono3py generate".
velph phono3py generate
#
VASP input files for supercell force calculations are generated, with each
directory corresponding to a specific supercell displacement configuration. The
perfect supercell (i.e., without displacements) is labeled as disp-00000
.
For example:
% velph phono3py generate
VASP input files were generated in "phono3py/disp-0000".
VASP input files were generated in "phono3py/disp-0001".
...
After completing supercell force calculations using the VASP code, the
phono3py_params.yaml
file can be created with the following command:
% cd phono3py
% phono3py --cfz disp-00000/vasprun.xml --cf3 disp-{00001..00120}/vasprun.xml --sp
In this step, forces from 120 supercells are collected, and the corresponding
data are stored in the phono3py_params.yaml
file.
velph phonopy
#
This subcommand facilitates phonon calculation using the phonopy code. Certain
configurations for supercell and displacements can be specified directly in the
velph.toml
file:
[phonopy]
supercell_dimension = [2, 2, 2]
amplitude = 0.03
diagonal = false
plusminus = true
velph phonopy init
#
% velph phonopy init --rd 10
Displacement distance: 0.03
Number of displacements: 10
Found "nac" directory. Read NAC params.
"phonopy/phonopy_disp.yaml" was generated.
VASP input files will be generated by "velph phonopy generate".
velph phonopy generate
#
% velph phonopy generate
VASP input files were generated in "phonopy/disp-000".
VASP input files were generated in "phonopy/disp-001".
...
After completing supercell force calculations using the VASP code, the
phonopy_params.yaml
file can be created with the following command:
% cd phonopy
% phonopy --fz disp-{00000..00010}/vasprun.xml --sp