# Releases¶

## EPW v5.8¶

New features in EPW v.5.8 (12/2023):

Real part of the electron self-energy (bandgap renormalization) using Wannier function perturbation theory

Optical absorption spectra in all regimes of photon energy (both direct and indirect) using quasi-degenerate perturbation theory

Long-range dynamical matrix and electron-phonon matrix for 2D systems

Anharmonic special displacement method for phonon band renormalization due to anharmonicity using special displacement method

Fixed in EPW v.5.8

Bug fix of a2f miscalculation when resuming a calculation with restart.fmt

Compiler error fix for nvfortran

Incompatible changes

crystal.fmt and prefix.ephmat output by earlier versions (<= v5.7) can no longer be read

Previous version (<= v5.7) crystal.fmt can be made compatible using the patch:

`patch`

## EPW v5.7¶

New features in EPW v.5.7 (3/2023):

Polaron

Fixed in EPW v.5.7:

Linear mixing in the superconductivity module

## EPW v5.6¶

New features in EPW v.5.6 (11/2022):

Ionized impurity scattering

Ionized-impurity-assisted indirect optical absorption

Periodicity of long-range matrix elements ensured by shifting the G-sum

## EPW v5.5¶

New features in EPW v.5.5 (5/2022):

The full-bandwidth approach to the Eliashberg equations and the sparse sampling in the superconductivity module

Updates in the ZG package: automatization and simplification of ZG procedure to calculate temperature-dependent observables

Fixed in EPW v.5.5:

Bug fix in the subroutine of ephwan2blochp (reported by Deng Tianqi)

## EPW v5.4.1¶

New features in EPW v.5.4.1 (11/2021):

Addition of spectral decomposition capability in the transport module.

Support of the file format of frmsf of Fermisurfer.

Update in the cumulant module

Updates in the ZG package: convoluted diffuse scattering maps are done automatically by disca.f90 and ZG.f90. New tutorial tarball.

Fixed in EPW v.5.4.1:

use_ws = .true. was not working in the cases of etf_mem = 0 and etf_mem = 2 (Courtesy of Jan Berges)

Bug fix in the subroutine of eliashberg_read_aniso_iaxis (reported by Mehmet Dogan)

On-the-fly mode in the analytical continuation in the superconducting module was not working

Incompatible changes in EPW v.5.4.1:

Addition of input flags of mob_maxfreq and mob_nfreq.

## EPW v5.4¶

New features in EPW v5.4 (7/2021):

Addition of a new way to construct the fine interpolation k-point grid based on the

`fsthick`

windowAddition of mode-resolved scattering rate

Addition of quadrupole tensor while doing the interpolation

Addition of Hall mobility and Hall factor

Addition of 2D treatment following Sohier’s method (Still in development)

Updates in indirect optics module

Free carrier absorption (Still in development, use with caution): Calculates Fermi-level for given carrier density hence phonon-assisted optics of the given carrier density. Follows tag

`carrier`

and`ncarrier`

.Restart: now support restart on the fine grid when calculating indirect optical properties. Controlled by tags

`restart`

and`restart_step`

.Direct optics: Direct optical absorption up to

`4*fsthick`

is calculated now before the start of calculation of indirect optics using energies and velocities from the fine grid.

Isotropic linearized Eliashberg equation to get Tc

ab initio calculation of velocity matrix elements with non-local pseudopotential and augmentation charge considered

Updates in the ZG package: Updates and a parallelized version of

`ZG.x`

, band structure unfolding routine (`bands_unfold.x`

) added, phonon diffuse scattering routine (`disca.x`

) added

Fixed in EPW v5.4:

Fixed a bug that in the indirect optics module, not only I/O nodes are writing data which caused the final writing process to be potentially very slow.

Optimal Wigner-Seitz construction for the electron-phonon matrix elements

Incompatible changes in EPW v5.4:

Removal of

`kmaps`

Change in

`vme`

:If

`vme = 'dipole'`

, then computes the velocity as dipole+commutator = <psi_mk|p/m+i[V_NL,r]|psi_nk> and if`vme = 'wannier'`

, then computes the velocity as dH_nmk/dk - i(e_nk-e_mk)A_nmk where A is the Berry connection.`vme = 'wannier'`

was`vme = .TRUE.`

before v5.4Before v5.4, if

`vme= .FALSE.`

, then computes the velocity in the local approximation as <psi_mk|p|psi_nk>.

## EPW v5.3.1¶

New features in EPW v5.3.1 (11/2020):

ZG package to generate special displacements for first-principles non-perturbative calculations at finite temperatures [Marios Zacharias and Feliciano Giustino, Phys. Rev. Research 2, 013357 (2020)].

Plot Fermi surface.

Refactor suggested citations.

Check inputs that the user provides.

Compute the IBZ at only one place.

Fixed in EPW v5.3.1:

Restoration of G-dependent bound in the subroutine of rgd_blk.

Wrong behaviour in the treatment of specific space groups in generation of irreducible Brillouin zone.

Bug in I/O of epmatwe and epmatwp when outdir is specified (reported by Jae-Mo Lihm).

Wrong order of band indices in the array of epc_sym in the subroutine of print_gkk.

Temperature incorrectly dependent on smearing parameters.

bvec files not correctly written unless the unrelated input flags such as band_plot are used.

## EPW v5.3¶

New features in EPW v5.3 (07/2020):

Use of the band manifold determined by Wannierization step when evaluating electron-phonon vertex on coarse grids

Support for PAW

SU(2) transformation of spinor wave functions in spin-orbit case

Speed-up in evaluating electron-phonon vertex on coarse grids through the modification of symmetry-related parts.

Speed-up in the evaluation of augmented terms in USPP and PAW cases through the parallelization over G vectors.

Implementation and extension of load balancing and restart features in the superconducting module

Reorganization of temperature variables: see the Incompatible changes below and the Inputs page.

Implementation of plotting Wannier functions without writing and reading UNK files

MPI-IO parallelization of the ephbloch2wanp_mem routine

Speed-up and restart while calculating electron-phonon matrix elements in superconducting calculations

Create a .bib file that contains the relevant citations in bibtex format

Identification of the problematic line in the EPW input

Incompatible changes in EPW v5.3:

Removal of

*q*-point list in the EPW input: In order to generate the*q*-point list from the symmetry of the system, we shouldn’t use`nosym=.true.`

in nscf calculations. If nscf calculation generates more*k*points than you provided, you have to use`calculation='bands'`

instead of`calculation='nscf'`

without using any symmetry-related flag such as nosym.Removal of

`nbndskip`

: Now`nbndskip`

is automatically calculated from the list of excluded bands by use of`the bands_skipped`

flag, for instance,`bands_skipped = 'exclude_bands = 1:5'`

. In order to avoid the issue resulting from the*k*-dependent`nbndskip`

, the`dis_win_max`

flag is ignored; the lower bound of the band manifold should be controlled by the combination of`bands_skipped`

and`exclude_bands`

.Change in the contents of

`prefix.ukk`

and`prefix.kgmap`

filesChange in the file name of prefix.epmatwp (

`prefix.epmatwp1`

changed into`prefix.epmatwp`

)Temperature input reorganized:

`eptemp`

,`tempsmin`

,`tempsmax`

removed and temperature inputs are now only controlled by`temps`

and`nstemp`

. For a single temperature, input only one entry in`temps`

. For automatic generation of uniform temperature grid, input the minimum and maximum in`temps`

and set`nstemp`

to the total number of points desired (greater or equal to 2 and less or equal to 50). This list is generated in the same way as the previous`tempsmin`

,`tempsmax`

,`nstemp`

routine. Otherwise, explicitly define`temps`

as a list of no more than 50 temperatures.`nstemp`

is an optional input in this case. If`temps`

and`nstemp`

are left undefined, they are set to 300 and 1, respectively.Electron-phonon matrix elements (ephmatXX), egnv, freq and ikmap files are now saved in ‘prefix.ephmat’ directory (‘prefix’ is removed in the filename) in a superconducting calculations. Change in the contents of ‘ikmap’ and ‘freq’ files.

When PAW datasets are used, the updated pp.py in q-e/EPW/bin should be used to import the PAW contribution to dvscf.

To plot Wannier functions, relevan inputs should be passed to EPW (not to Wannier90 through the keyword of

`wdata`

). The supported inputs are as follows:

`wannier_plot`

(logical, in default .false.)

`wannier_plot_list`

(integer lists, in default entire Wannier functions): Due to the difference in parsing between EPW and Wannier90, the list of Wannier functions to plot should be enclosed with single quotation marks, that is,`wannier_plot_list = '1, 3-5, 7'`

, not`wannier_plot_list = 1, 3-5, 7`

as in Wannier90.

`wannier_plot_supercell`

(three integers, in default 5 5 5)

`wannier_plot_scale`

(real, in default 1.0)

`wannier_plot_radius`

(real, in default 3.5 Ang.)

`reduce_unk`

(logical, in default .false.)

## EPW v5.2¶

New features in EPW v5.2 (12/2019):

Additional modularization of most EPW subroutines

Introduced uniform coding style according to EPW good coding practice

The

`filkf`

and`filqf`

can now take points in crystal or cartesian coordinateTransport module:

transition probabilities are written locally on the scratch of each node and then merged together

Improvements in symmetry

Adaptative broadening (triggered when

`degaussw == 0`

)Systematic check of allocation/deallocation. A clean error message is issue in case of problems

Debug when using

`scissor`

New test for mobility in polar non-cubic materials

Debug in the case of crystal sum-rule and non-cubic materials.

Renamed input variables:

restart_freq –> restart_step

Change of default of input variables:

vme is now .TRUE. by default

## EPW v5.1¶

New features in EPW v5.1 (02/2019):

Support for ultrasoft pseudopotentials

Improved the cumulant expansion for electron spectral functions

New Wigner-Seitz cell construction

Speed and memory optimizations for mobility calculations

\(\bf k\)-point symmetry support for the Boltzmann Transport Equation (BTE)

Linear mixing for BTE

Introduction of

`qwindow`

to reduce the required number of \(\bf q\)-points to be calculatedLoad balancing among cores of active \(\bf k\)-points

Indirect absorption calculation using electron eigenvalues read from file

Optimizations in the case of ultra-dense fine grids

Exact calculation of band velocity using

`vme`

(read`.bvec`

from latest wannier90)Modularization of the code

Removed input variables:

time_max

New input variables:

use_ws

vme variable now working

## EPW v5.0¶

New features in EPW v5.0 (04/2018):

Electronic transport (conductivity, resistivity, mobility)

Cumulant expansion for electron self-energy

Lindhard screening of electron-phonon matrix elements

Support for

`exclude bands`

Calculation of velocity matrix elements beyond the local approximation using

`vme == .true.`

Removed of the EPW/tests folder. The tests are now in

`q-e/test-suite`

Removed \(\bf q\)-point parallelism

Removed input variables:

parallel_k

parallel_q

New input variables:

cumulant

epsiHEG

fermi_diff

lscreen

scr_typ

meff

nel

smear_rpa

specfun_p

scattering

scattering_serta

int_mob

iterative_bte

mob_maxiter

carrier

ncarrier

scissor

lphase

## EPW v4.3¶

New features in EPW v4.3 (09/2017):

Memory optimization (memory saving enabled with

`etf_mem = 2`

)Possibility to print the electron-phonon vertex \(|g_{mn\nu}(\bf k,\bf q)|\) using the new

`prtgkk`

input variablePrintout of Real and Imaginary part of the phonon self-energy \(\Pi_{\bf q\nu}\) and phonon spectral function

When providing the \(\bf q\)-points in the epw input file. The weight should not be reported anymore

New input variables:

prtgkk

Modified input variables:

etf_mem

specfun is now specfun_el

## EPW v4.2¶

New features in EPW 4.2 (01/2017):

Memory optimization for large systems (50+ atoms in the primitive cell)

Possibility to impose the acoustic sum rule using the

`'simple'`

or`'crystal'`

optionsRemoved input variables:

spinors

New input variables:

lifc

asr_typ

restart

restart_freq

Introduced band parallelism. This is activated using the

`-nimage`

keyword when launching EPW. It only works until the`.epb`

file is created. After this point it is necessary to read the`.epb`

file an use only`-npool`

parallelizationCreate restart point during the interpolation on the fine \(\bf q\)-grid

## EPW v4.1¶

New features in EPW v4.1 (09/2016):

Speed optimization (more BLAS calls, replacement of “exp” by look-up table)

Various bug fixes

Correct Wannier localization with spinors

The Test Farm now tests 5 representative examples and the corresponding accuracy: Accuracy

Added code coverage of Test Farm: Code coverage

Added automatic documentation using Ford

About 30% of the routines are documented for Ford

I/O reduction (.e.g no more igk files)

Restart with arbitrary number of cores after

`epmatwp1`

is writtenThe spectral function \(\Sigma_{n\textbf{k}}\) is averaged over degenerate eigenstates

Phonon frequencies added to

`linewidth.phself`

Electron bands and phonon dispersions can be computed using

`band_plot`

with`etf_mem`

true or false.Debug for IEEE floating-point exception, underflow, overflow.

Purge of unused variables

Specify that \(\Gamma\)-only calculations are not supported

Removed input variables:

filelph

fly

tphases

fildvscf0

tshuffle

tshuffle2

selfen_type

eminabs

emaxabs

deltaeabs

phinterp

elinterp

epstrict

twophoton

indabs

Added input variables:

shortrange

longrange

Remove most of the

`#ifdef __PARA`

to increase readability. This should only be used in low-level routines and replaced by`#ifdef __MPI`

Replacement of

`CMPLX (A, B)`

by`CMPLX (A, B, kind=DP)`

that was causing a loss of precisionAddition of links to the documentation of input variables

Correction of a bug with

`MPI_FILE_SEEK`

when`etf_mem = .false.`

and the calculation is largeRemoval of the

`epf`

files written when`etf_mem = .false.`

## EPW v4.0¶

New features in EPW v4.0 (04/2016):

\(\textbf{q}\)-point parallelism

Speed optimization

Scalability to 120 cores

Various bug fixes

Creation of Test Farm

Support for time-reversal symmetry

Compatibility with the latest version of Quantum ESPRESSO

Integration of EPW repository within Quantum ESPRESSO

Updated tutorials

Creation of YouTube tutorials

Creation of EPW forum