Releases
EPW v5.9
New features in EPW v.5.9 (10/2024):
Efficient sampling technique for Matsubara frequencies using the intermediate representation (IR). This feature is currently available exclusively for FBW anisotropic Eliashberg calculations.
Grain-boundary scattering
Restructuring of the code
Performance optimization of runs with use_ws = .true.
Fixed in EPW v.5.9
Improved I/O processing to address occasional slowdowns when outputting prefix.dos
Fixed an issue where, in rare cases, the output range of prefix.a2f (i.e., the energy grid) would differ from the output range of prefix.phdos
Bug fix in the I/O processing for the ephmat files when mp_mesh_k = .false. (reported by Yiming Pan and Fabio Caruso)
Bug fix in output the superconducting gap in files formatted as .frmsf or .cube
Bug fix in the isotropic Eliashberg calculations considering the spin-orbit interaction
Bug fix for vme=’wannier’ calculation for scattering matrix
Bug fix for the Berry connection term when doing carrier transport. This only affects quadrupole calculations with vme=’wannier’ and only for transport.
Known issues with EPW v.5.9
The EPW v.5.9 has a known issue regarding compilation when downloaded with QE v.7.4 Release. We reccommend downloading EPW here:
EPW v.5.9
EPW v5.8.1
New features in EPW v.5.8.1 (03/2024):
Same as EPW v.5.8
Fixed in EPW v.5.8.1
Several bug fixes in Superconductivity and Polaron modules
ELPA linking with CMake (previously building EPW with ELPA failed usin CMAKE)
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
andncarrier
.Restart: now support restart on the fine grid when calculating indirect optical properties. Controlled by tags
restart
andrestart_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 ifvme = 'wannier'
, then computes the velocity as dH_nmk/dk - i(e_nk-e_mk)A_nmk where A is the Berry connection.vme = 'wannier'
wasvme = .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 usecalculation='bands'
instead ofcalculation='nscf'
without using any symmetry-related flag such as nosym.Removal of
nbndskip
: Nownbndskip
is automatically calculated from the list of excluded bands by use ofthe bands_skipped
flag, for instance,bands_skipped = 'exclude_bands = 1:5'
. In order to avoid the issue resulting from the k-dependentnbndskip
, thedis_win_max
flag is ignored; the lower bound of the band manifold should be controlled by the combination ofbands_skipped
andexclude_bands
.Change in the contents of
prefix.ukk
andprefix.kgmap
filesChange in the file name of prefix.epmatwp (
prefix.epmatwp1
changed intoprefix.epmatwp
)Temperature input reorganized:
eptemp
,tempsmin
,tempsmax
removed and temperature inputs are now only controlled bytemps
andnstemp
. For a single temperature, input only one entry intemps
. For automatic generation of uniform temperature grid, input the minimum and maximum intemps
and setnstemp
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 previoustempsmin
,tempsmax
,nstemp
routine. Otherwise, explicitly definetemps
as a list of no more than 50 temperatures.nstemp
is an optional input in this case. Iftemps
andnstemp
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'
, notwannier_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
andfilqf
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
withetf_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)
byCMPLX (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
whenetf_mem = .false.
and the calculation is largeRemoval of the
epf
files written whenetf_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