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 window

  • Addition 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.4

    • Before 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):

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 files

  • Change 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 coordinate

  • Transport 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 calculated

  • Load 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 variable

  • Printout 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' options

  • Removed 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 parallelization

  • Create 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 written

  • The 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 precision

  • Addition of links to the documentation of input variables

  • Correction of a bug with MPI_FILE_SEEK when etf_mem = .false. and the calculation is large

  • Removal 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