New in 5.3.0 version:

  • projwfc.x: PDOS with PAW projectors and all-electron basis functions
  • X3LYP hybrid functional (using VWN_1_RPA)
  • B3LYP hybrid functional (using VWN) and B3LYP-V1R (using VWN_1_RPA)

Fixed in 5.3.0 version:

  • projwfc.x: When pw.x was run on a different number of processors and twfcollect was not true, projwfc.x was silently giving wrong results. Thanks to Hande Toffoli for reporting.
  • Usage of "~" in pseudo_dir is sometimes acceptable by fortran but not by C. If so, a message is printed instead of weird characters in MD5.
  • PHonon: Gamma-specific code segfaulting with GGA
  • NaN's in stress with nonlocal functionals when the physical dimensions of FFT arrays is larger than the true ones and arrays are padded with zeros
  • pw.x: "task-group" parallelization wasn't working properly when the number of bands was smaller than the number of task groups. Affects v.5.2.1.
  • TDDFPT: lrpa (Random Phase Approximation) keyword was not present in the namelist for turbo_lanczos.x code. The turboEELS code was not working correctly with just one k point; for metals there were wrong weights leading to small errors near the Fermi level; the code was not working correctly with ultrasoft PP's.
  • pw.x: stress with TS-vdw wasn't correct - courtesy of Thomas Markovich
  • The local correlation energy of B3LYP hybrid functional wasn't the "true" one for B3LYP. This caused discrepancies up to of a few tenths of eV in Kohn-Sham energies with respect to the "true" B3LYP. VWN is used to define the LDA correlation. B3LYP-V1R (B3LYP using VWN_1_RPA instead) has also been added.
  • Constrained dynamics in pw.x wasn't completely correct

Incompatible changes in 5.3.0 version:

  • Standard F2003 calls to: get_environment_variable, get_command_argument, command_argument_count, flush, are used everywhere instead of wrappers. Some old compilers may no longer work and must be considered unsupported.
  • Old Fermi Surface plotting tools kvecs_FS.f, bands_FS.f90, in PW/tools/, replaced by new code PP/src/fermisurface.f90
  • Reshuffling of FFT-related modules: "gather_" and "scatter_" routines moved from module fft_base to module scatter_mod
  • All FFT-related code moved to FFTxlib/
  • Linear algebra parallelization made independent of its parent communicator by introducing variable ortho_parent_comm, addressing the whole group. In PW ortho_comm is now a sub-communicator of intra_pool_comm and nolonger of intra_bgrp_comm.