Changelog: Difference between revisions

From VASP Wiki
(10 intermediate revisions by the same user not shown)
Line 3: Line 3:


=== FEATURE ===
=== FEATURE ===
* Electron-Phonon coupling:
* [[:Category:Electron-phonon_interactions|Electron-Phonon coupling]]:
** Zero-point renormalisation of band gaps.
** Zero-point [[Bandgap_renormalization_due_to_electron-phonon_coupling|renormalisation of band gaps]].
** Transport coefficients within the framework of the linearized Boltzmann transport equation.
** [[Transport coefficients including electron-phonon scattering|Transport coefficients]] within the framework of the linearized Boltzmann transport equation.
* Python plugins: Introduces a Python package that links VASP to Python through a C++ interface. A selected number of interfaces allow users to modify interior working of VASP through Python scripting.
* Python plugins: Introduces a Python package that links VASP to Python through a C++ interface. A selected number of interfaces allow users to modify interior working of VASP through Python scripting.
* Bethe-Salpeter-Equation:  
* Bethe-Salpeter-Equation:  
** Lanczos diagonalization of the BSE matrix.
** [[:Category:Bethe-Salpeter_equations#Performing_BSE_calculations_on_GPU|Lanczos diagonalization]] of the BSE matrix.
** GPU support for time-evolution BSE.
** [[Category:Bethe-Salpeter_equations#Lanczos_algorithm|GPU support]] for time-evolution BSE using the {{TAG|LANCZOSTHR}} tag.
* Additional XC-functionals:
* Additional XC-functionals:
** (r)MS-B86bl, (r)MS-PBEl and (r)MS-RPBEl MGGA functionals.
** (r)MS-B86bl, (r)MS-PBEl and (r)MS-RPBEl MGGA functionals.
Line 24: Line 24:
* HDF5:
* HDF5:
** Write partial charges to the hdf5 output instead of {{FILE|PARCHG}} files. This in turn enables the simulation of STM pictures with py4vasp.
** Write partial charges to the hdf5 output instead of {{FILE|PARCHG}} files. This in turn enables the simulation of STM pictures with py4vasp.
** Output that goes into {{FIlE|OSZICAR}} is written into the vaspout.h5 as well.
** Output that goes into {{FILE|OSZICAR}} is written into the {{FILE|vaspout.h5}} as well.
** Dielectric function from time-evolution BSE is written to vaspout.h5.
** Dielectric function from time-evolution BSE is written to {{FILE|vaspout.h5}}.
** Possibility to force synchronization of the vaspout.h5 file, and access vaspout.h5 during the VASP runtime (LSYNCH5).
** Possibility to force synchronization of the {{FILE|vaspout.h5}} file, and access {{FILE|vaspout.h5}} during the VASP runtime (LSYNCH5).
* Improvements of the VASP-TRIQS interface: uses an HDF5 file now (vaspgamma.h5).
* Improvements of the VASP-TRIQS interface: uses an [[:Category:HDF5 support|HDF5]] file now (vaspgamma.h5).
* {{TAG|ML_OUTBLOCK}} will be ignored when we are not running an MD with a [[machine learned force field|machine learned force field]] in production mode.
* {{TAG|ML_OUTBLOCK}} will be ignored when we are not running an MD with a [[:Category:Machine-learned force fields|machine-learned force field]] in production mode.


=== BUGFIX ===
=== BUGFIX ===
Line 38: Line 38:
* NKREDLF for GW+Gamma was not read correctly from {{FILE|INCAR}}.
* NKREDLF for GW+Gamma was not read correctly from {{FILE|INCAR}}.
* [[Practical_guide_to_GW_calculations#Low_scaling,_single_shot_GW_calculations:_G0W0R|G0W0R]] calculation crashed for certain combinations of ranks, {{TAG|NBANDS}} and {{TAG|NTAUPAR}}.
* [[Practical_guide_to_GW_calculations#Low_scaling,_single_shot_GW_calculations:_G0W0R|G0W0R]] calculation crashed for certain combinations of ranks, {{TAG|NBANDS}} and {{TAG|NTAUPAR}}.
* [[Category:Constrained-random-phase approximation|CRPAR]] with many MPI ranks for small systems failed.
* [[:Category:Constrained-random-phase approximation|CRPAR]] with many MPI ranks for small systems failed.
* fixed a memory leak in the deallocation of the reciprocal space projectors.
* fixed a memory leak in the deallocation of the reciprocal space projectors.
* The code did not detect when WFULLXXXX.tmp files were produced with a different {{TAG|ENCUTGW}}.
* The code did not detect when WFULLXXXX.tmp files were produced with a different {{TAG|ENCUTGW}}.

Revision as of 10:47, 18 December 2024

6.5.0

FEATURE

  • Electron-Phonon coupling:
  • Python plugins: Introduces a Python package that links VASP to Python through a C++ interface. A selected number of interfaces allow users to modify interior working of VASP through Python scripting.
  • Bethe-Salpeter-Equation:
  • Additional XC-functionals:
    • (r)MS-B86bl, (r)MS-PBEl and (r)MS-RPBEl MGGA functionals.
    • TASK and LAK functionals (provided by Timo Lebeda).
    • Sources-free exchange-correlation B field.
  • Coulomb kernel truncation: open boundary conditions to compute the properties of dipolar and charged molecules, 2D materials and surfaces.
  • Machine-learned force-fields:
    • Introducing the spilling factor as an error estimate of the force field, which can be easily combined with the fast execution mode.
  • External forces.
  • Spline interpolation of the electronic structure factor for k-point convergence acceleration of RPA correlation energies.

IMPROVEMENT

  • HDF5:
    • Write partial charges to the hdf5 output instead of PARCHG files. This in turn enables the simulation of STM pictures with py4vasp.
    • Output that goes into OSZICAR is written into the vaspout.h5 as well.
    • Dielectric function from time-evolution BSE is written to vaspout.h5.
    • Possibility to force synchronization of the vaspout.h5 file, and access vaspout.h5 during the VASP runtime (LSYNCH5).
  • Improvements of the VASP-TRIQS interface: uses an HDF5 file now (vaspgamma.h5).
  • ML_OUTBLOCK will be ignored when we are not running an MD with a machine-learned force field in production mode.

BUGFIX

  • The code failed to compile with gfortran with -DELPA.
  • KPOINTS_OPT did not work correctly anymore for NCORE/=1.
  • Fixed an out-of-bounds access that broke the linear response NMR when using the NV compilers (confirmed for 24.1 and 24.3).
  • The code on GPU was broken for some calculations that combine LCALCEPS = .TRUE. with hybrid functionals.
  • NKREDLF for GW+Gamma was not read correctly from INCAR.
  • G0W0R calculation crashed for certain combinations of ranks, NBANDS and NTAUPAR.
  • CRPAR with many MPI ranks for small systems failed.
  • fixed a memory leak in the deallocation of the reciprocal space projectors.
  • The code did not detect when WFULLXXXX.tmp files were produced with a different ENCUTGW.
  • Fix for possible integer overflows in PEAD routines.
  • Wrong projections in vasprun.xml with KPOINTS_OPT.
  • ML_MODE=refit was broken when not using scaLAPACK.
  • Incorrect handling of noncollinear spin calculation in KDER_WAVE, in particular the spinor rotation part was not applied. This leads to incorrect results when using LEPSILON=.TRUE. for LNONCOLLINEAR=.TRUE. and ISYM>0.
  • Setting the VDW_S6 tag had no effect in the case of the dDsC method (IVDW=4), while it should.
  • Some of the ELPA calls were not using the correct communicators and matrix sizes.
  • Fixed NaN Fock energy in hybrid band structure calculations.
  • NaN lines in the ML_LOGFILE for ML_WTSIF=0.00 are repaired.
  • Fixed memory estimation for ML_MODE=train or select.
  • Fixed a problem with the output of the positions to CONTCAR and XDATCAR. During long MD runs the ions may move by multiple lattice vectors and at some point the write format of the positions would become unsuitable.
  • For some systems, interpolation of phonon frequencies using LPHON_DISPERSION=True would sometimes produce anisotropic results with respect to the q-vector. This is now fixed for most cases.
  • ALGO=RPA with ESF splines was broken when large numbers of MPI ranks were used.
  • SCDM method now works correctly for ISPIN=2.
  • The gamma-only version of the calculation of zero-field-splitting (D-matrix) was broken for NCORE > 1. This has been fixed.
  • Fixed estimation of the cutoff criteria for the erfc function during one-shot Wannierization for ISPIN=2. The behavior is now identical to the ISPIN=1 case.
  • Fixed ISPIN=2 for Wannier electron-phonon calculations
  • Prevent LOPTICS after GW if LPEAD not set and notify user.
  • The LATTICE_CONSTRAINTS where not applied before checking the break criterion.
  • Calculations with KPOINTS_OPT crashed when LORBIT=10, 11 or 12.
  • Calculations with LMODELHF crashed if no WAVECAR is present.
  • Fixed a crash of noncollinear calculations when using KPOINTS_OPT.

6.4.3

FEATURE

IMPROVEMENT

  • Update makefile.include.nec_aurora template to work with the recent NEC compiler version (5.0.0+).
  • Add workarounds for Intel oneAPI LLVM compilers (ifx), and makefile.include files for these compilers.
  • Print proper error message when using the gamma-only version in combination with KPOINTS_OPT.
  • LSINGLES: “singles” contribution printed to OUTCAR for GWR algorithms, i.e., Eq. 34 of Klimes et al., JCP 143, 102816 (2015) (https://doi.org/10.1063/1.4929346).
  • SAXIS = 0 0 0 behaves like SAXIS = 0 0 1. This behavior is unchanged but we now print a warning.
  • Speedup of tetrahedron method by parallelization over tetrahedra and excluding tetrahedra that do not contribute; this improvement will be most noticeable for dense energy grids or k-point meshes.
  • Consistent treatment of CSHIFT, CSHIFT set to 0.02, consistent break criteria for linear response to increase robustness.
  • Improved structure output to HDF5 file.
  • Support for cusolverMP (the distributed GPU eigensolver of NVIDIA).
  • Change magnetization output for the noncollinear case so that the (x,y,z) magnetization densities are integrated at the atomic sites and printed to the OUTCAR file (if LORBIT=11 is set) every 5 steps for all electronic minimization algorithms.
  • In some cases, the "blow-up" step in the k-point generation leads to trouble in combination with IBRION=6 and ISIF=3. This is not solved per se, but the resulting error message has been improved to suggest adding the appropriate tag to skip this step (KBLOWUP=.FALSE.).
  • Copy the atomic type designation from POSCAR to CONTCAR. In all other instances where the structure is written to file (e.g. CHGCAR) the atomic type information is replaced by the acronym from the periodic table.
  • The SCDM method now consumes much less memory when executed on many cores.
  • Write more information about DFT+D4 calculations (IVDW=13).
  • For MD runs with a large number of atoms and few ionic steps, the current default chunking size might lead to an unnecessarily large vaspout.h5 file. Here, we make sure the chunking size is never larger than the number of MD steps.
  • The default value for the minimum number of local reference configurations (ML_MB_MIN) is increased from 2 to 3. This should improve the robustness of initial MLFF guesses.
  • Check maximum size of sysv shmem segments used in machine-learning-code paths.
  • BSE algorithm has been optimized and ported to GPU by means of OpenACC.
  • Spectral function is recalculated after GW calculations for LOPTICS=.TRUE.
  • Demote LATTCHK exception from error to warning.
  • Increase the default ML_CDOUB value to 100 for re-selection runs (ML_MODE=select). Because this makes critical steps very unlikely the number of force-field generations is decreased. Hence, the total runtime until re-selection is finished will also be reduced.

BUGFIX

  • Descriptor sparsification was not working in combination with the ML_MODE tag: the tag ML_LSPARSDES was automatically set to False.
  • Reference energies in INCAR were ignored when continuing MLFF training runs and in re-selection runs (ML_MODE=select).
  • MLFF: Verlet nearest-neighbor algorithm was not updating properly in some cases. This violated energy conservation in MD runs.
  • ML_OUTBLOCK now also controls the output frequency of ML_EATOM and ML_HEAT. Unwanted output in OUTCAR, vasprun.xml and vaspout.h5 has been removed.
  • Fixed problem with incorrect counting of atoms in slabs in FML + fixed NVE setting of CVS thermostat.
  • When using VCAIMAGES in combination with the NPT ensemble (ISIF=3) the stress tensor was not averaged as the forces and energy when using this approach.
  • Fix incorrect formatting in REPORT file (values of last column shifted to next line).
  • Restarting a calculation from vaspwave.h5 when the number of k-points changed, e.g. because symmetry was switched off (ISYM=-1), now behaves the same as restarting from WAVECAR. Before it stopped with a bug message.
  • Write LOCPOT to subfolders for calculations with IMAGES/=0.
  • In the non-collinear case, LVTOT=.TRUE. now writes the potential in the "density, magnetization" representation, i.e., the scalar potential (v0), and magnetic field (Bx, By, Bz), to the LOCPOT file. Before the potential was written in the (upup, updown, downup, downdown) representation to real numbers, which is incomplete.
  • Fixed a problem in the generation of partial charge densities (PARCHG) with reading a single value from EINT and setting the second one to the Fermi energy automatically. IBAND and KPUSE can no longer contain bands or points that are larger than the total number of bands or k points.
  • Due to a bug the wavefunction prediction was not as effective as it could be.
  • Use a tighter threshold for Laplace-transformed MP2 to avoid incorrect treatment of Coulomb potential.
  • NMR linear response did not work for LREAL=Auto or .TRUE. (with the GNU compiler).
  • Calculations of NMR shielding tensors was broken for ISPIN=2 and LNONCOLLINEAR=.TRUE.: setting ISPIN=2 for a non-spinpolarized system did not yield the same result as with ISPIN=1.
  • SAXIS: For sx=0 and sy<0, alpha=-pi/2. It used to falsely assume alpha=pi/2.
  • Rotation of the wavefunctions in PEAD calculations was incorrect for LNONCOLLINEAR=.TRUE.
  • LATTICE_CONSTRAINTS was not read when using IBRION=1 or 2: default values (T T T = no constraints) were used.
  • The SCDM method now works correctly for k-point meshes that do not include the Gamma point.
  • CRPA calculations using wannier90 were broken when using legacy mode (i.e. wannier90.win file instead of WANNIER90_WIN tag).
  • The LDA and GGA components of the AM05 GGA functional were not multiplied by the parameters ALDAX, ALDAC, AGGAX and AGGAC.
  • If a new vdW kernel was generated because the existing one was incompatible with the selected functional, then the header of the new kernel was the one of the old incompatible kernel. Furthermore, writing the new vdW kernels was not restricted to a single MPI rank.