Changelog: Difference between revisions

From VASP Wiki
No edit summary
 
(41 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== 6.5.0 ==
<div id="Changelog650" style="display:inline;"></div>
=== FEATURE ===
* [[:Category:Electron-phonon_interactions|Electron-Phonon coupling]]:
** Zero-point [[Bandgap_renormalization_due_to_electron-phonon_coupling|renormalisation of band gaps]].
** [[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.
* Bethe-Salpeter-Equation:
** [[:Category:Bethe-Salpeter_equations#Performing_BSE_calculations_on_GPU|Lanczos diagonalization]] of the BSE matrix with {{TAG|IBSE}}.
** [[Category:Bethe-Salpeter_equations#Lanczos_algorithm|GPU support]] for time-evolution BSE using the {{TAG|LANCZOSTHR}} tag.
* Additional XC-functionals:
** (r)MS-B86bl, (r)MS-PBEl and (r)MS-RPBEl [[METAGGA|MGGA]] functionals.
** TASK and LAK functionals (provided by Timo Lebeda).
** Sources-free exchange-correlation B field.
* [[HFRCUT|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 [[Best_practices_for_machine-learned_force_fields#Spilling_factor:_error_estimates_during_production_runs|spilling factor]] as an error estimate of the force field with {{TAG|ML_IERR}}, which can be easily combined with the fast execution mode.
* External forces with {{TAG|EFOR}}.
* Spline interpolation of the electronic structure factor for [[ACFDT/RPA_calculations#K-point_convergence:_Spline_interpolation|k-point convergence acceleration]] of RPA correlation energies.
=== IMPROVEMENT ===
* HDF5:
** 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 {{FILE|vaspout.h5}} as well.
** Dielectric function from time-evolution BSE is written to {{FILE|vaspout.h5}}.
** 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 [[:Category:HDF5 support|HDF5]] file now (vaspgamma.h5).
* {{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 ===
* The code failed to compile with gfortran with -DELPA.
* {{TAG|KPOINTS_OPT}} did not work correctly anymore for {{TAG|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 {{TAG|LCALCEPS}} = .TRUE. with hybrid functionals.
* 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}}.
* [[: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.
* The code did not detect when WFULLXXXX.tmp files were produced with a different {{TAG|ENCUTGW}}.
* Fix for possible integer overflows in [[LPEAD|PEAD]] routines.
* Wrong projections in vasprun.xml with {{TAG|KPOINTS_OPT}}.
* {{TAG|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 {{TAG|LEPSILON}}=.TRUE. for {{TAG|LNONCOLLINEAR}}=.TRUE. and {{TAG|ISYM}}>0.
* Setting the {{TAG|VDW_S6}} tag had no effect in the case of the dDsC method ({{TAG|IVDW}}=4), while it should.
* Some of the ELPA calls were not using the correct communicators and matrix sizes.
* Fixed NaN Fock energy in [[Band-structure calculation using hybrid functionals|hybrid band structure calculations]].
* NaN lines in the {{FILE|ML_LOGFILE}} for {{TAG|ML_WTSIF}}=0.00 are repaired.
* Fixed memory estimation for {{TAG|ML_MODE}}=train or select.
* Fixed a problem with the output of the positions to {{FILE|CONTCAR}} and {{FILE|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 {{TAG|LPHON_DISPERSION}}=True would sometimes produce anisotropic results with respect to the q-vector. This is now fixed for most cases.
* {{TAG|ALGO}}=RPA with ESF splines was broken when large numbers of MPI ranks were used.
* [[LSCDM|SCDM]] method now works correctly for {{TAG|ISPIN}}=2.
* The gamma-only version of the calculation of zero-field-splitting (D-matrix) was broken for {{TAG|NCORE}} > 1. This has been fixed.
* Fixed estimation of the cutoff criteria for the erfc function during one-shot Wannierization for {{TAG|ISPIN}}=2. The behavior is now identical to the {{TAG|ISPIN}}=1 case.
* Fixed {{TAG|ISPIN}}=2 for Wannier electron-phonon calculations
* Prevent {{TAG|LOPTICS}} after GW if {{TAG|LPEAD}} not set and notify user.
* The {{TAG|LATTICE_CONSTRAINTS}} where not applied before checking the break criterion.
* Calculations with {{TAG|KPOINTS_OPT}} crashed when {{TAG|LORBIT}}=10, 11 or 12.
* Calculations with {{TAG|LMODELHF}} crashed if no {{FILE|WAVECAR}} is present.
* Fixed a crash of noncollinear calculations when using {{TAG|KPOINTS_OPT}}.
== 6.4.3 ==
== 6.4.3 ==
<div id="Changelog643" style="display:inline;"></div>


==== FEATURE ====
==== FEATURE ====
* Non-blocked Davidson minimizer ({{TAG|ALGO}} = dav <-> {{TAG|IALGO}} = 119).
* Increased flexibility in the choice of exchange-correlation functionals: added the tags {{TAG|XC}} and {{TAG|XC_C}} to specify linear combinations of exchange-correlation functionals.
* Increased flexibility in the choice of exchange-correlation functionals: added the tags {{TAG|XC}} and {{TAG|XC_C}} to specify linear combinations of exchange-correlation functionals.
* Spline interpolation of the electronic structure factor for k-point convergence acceleration of RPA correlation energies.
* Additional MGGA functionals (v1-sregTM, v2-sregTM, v3-sregTM, and v2-sregTM-L) from Francisco, Cancio, and Trickey (https://doi.org/10.1063/5.0167868, https://doi.org/10.1063/5.0167873).
* CSVR thermostat of Bussi et al.
* Interface to the external code libMBD (https://libmbd.github.io): many-body dispersion methods for van der Waals interactions. See {{TAG|LIBMBD_METHOD}}.
* Write potential (total, xc, hartree and ion contributions) to {{FILE|vaspout.h5}}. In case the dipole correction is switched on and {{TAG|LVACPOTAV}}=.TRUE., the workfunction (rather, the vacuum potentials on either side of the slab) will be automatically determined and written to both the {{FILE|OUTCAR}} as well as to the {{FILE|vaspout.h5}} file.
* Analyze the bandgap and write the results to {{FILE|OUTCAR}} and {{FILE|vaspout.h5}}. The details of the output are controlled with the {{TAG|BANDGAP}} tag.
* [[Plotting exciton wavefunction|Compute and write out exciton wavefunctions in BSE]] (written to {{FILE|CHG}}).
* Non-blocked Davidson minimizer ({{TAG|ALGO}} = Dav, or {{TAG|IALGO}} = 119).
* Select the minimum number of local reference configurations required to build an MLFF via the {{TAG|ML_MB_MIN}} tag. A new log line "MSG" with a text message is written to {{FILE|ML_LOGFILE}} if this threshold inhibits training.
* [[CSVR thermostat]] of Bussi et al.
* {{TAG|WRT_POTENTIAL}} writes the potential (total, xc, hartree, and ion contributions) to {{FILE|vaspout.h5}}. In case the dipole correction is switched on and {{TAG|LVACPOTAV}}=.TRUE., the workfunction (rather, the vacuum potentials on either side of the slab) will be automatically determined and written to both the {{FILE|OUTCAR}} as well as to the {{FILE|vaspout.h5}} file.
* {{TAG|LWRITE_SPN}}=T writes the spin-matrix element to the .spn file for wannier90.
* {{TAG|LWRITE_SPN}}=T writes the spin-matrix element to the .spn file for wannier90.
* Analyze the bandgap and write the results to {{FILE|OUTCAR}} and {{FILE|vaspout.h5}}. The details of the output are controlled with the {{TAG|BANDGAP}} tag.
* MGGA functionals (v1-sregTM, v2-sregTM, v3-sregTM, and v2-sregTM-L) from Francisco, Cancio, and Trickey (https://doi.org/10.1063/5.0167868, https://doi.org/10.1063/5.0167873).
* Compute and write out exciton wave functions in BSE (written to {{FILE|CHG}}).
* Slect the minimum number of local reference configurations required to build an MLFF via the {{TAG|ML_MB_MIN}} tag. A new log line "MSG" with a text message is written to {{FILE|ML_LOGFILE}} if this threshold inhibits training.
* Interface to the external code libMBD for running many-body dispersion methods for van der Waals interactions (https://libmbd.github.io).


==== IMPROVEMENT ====
==== IMPROVEMENT ====
* Improve robustness of TiO2_IBRION=X tests.
* Update [[makefile.include.nec_aurora]] template to work with the recent NEC compiler version (5.0.0+).
* Update makefile.include.nec_aurora template to work with recent NEC compiler version (5.0.0+).
* Add workarounds for Intel oneAPI LLVM compilers (ifx), and [[makefile.include]] files for these compilers.
* Use NCCL in OpenACC port of LASYNC code paths.
* Print proper error message when using the gamma-only version in combination with {{TAG|KPOINTS_OPT}}.
* Port ScaLAPACK-aware code paths in EDDIAG, ORTHCH, and RPAR to GPU.
* {{TAG|LSINGLES}}: “singles” contribution printed to {{FILE|OUTCAR}} for GWR algorithms, ''i.e.'', Eq. 34 of Klimes ''et al.'', JCP 143, 102816 (2015) (https://doi.org/10.1063/1.4929346).
* Port M_sum_g8 to GPU to avoid integer overflow in M_sum_g in EDDIAG and ORTHCH.
* Improve robustness of andersen_nve* tests.
* Add workarounds for Intel oneAPI LLVM compilers (ifx), and makefile.include files.
* Print proper error message for vasp_gam when used in combination with KPOINTS_OPT.
* Added wrappers around ScaLAPACK calls in low-scaling GW and ACFDT routines.
* “singles” contribution printed to OUTCAR for GWR algorithms, i.e. Eq. (34) in JCP 143, 102816 (2015).
* {{TAG|SAXIS}} = 0 0 0 behaves like {{TAG|SAXIS}} = 0 0 1. This behavior is unchanged but we now print a warning.
* {{TAG|SAXIS}} = 0 0 0 behaves like {{TAG|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.
* 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.
* Consistent treatment of {{TAG|CSHIFT}}, {{TAG|CSHIFT}} set to 0.02, consistent break criteria for linear response to increase robustness.
* Improved structure output to HDF5 file.
* Improved structure output to HDF5 file.
* Support for cusolverMP (the distributed GPU eigensolver of NVIDIA).
* Support for cusolverMP (the distributed GPU eigensolver of NVIDIA).
* Change magnetization output for the non-collinear case so that the (x,y,z) magnetization densities are integrated at the atomic sites and printed to the {{FILE|OUTCAR}} file (if {{TAG|LORBIT}}=11 is set) every 5 steps for all electronic minimization algorithms.
* 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 {{FILE|OUTCAR}} file (if {{TAG|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 {{TAG|IBRION}}=6 and {{TAG|ISIF}}=3. This is not solved per se, but the resulting error message has been improved to suggest to add the appropriate tag to skip this step ({{TAG|KBLOWUP}}=.FALSE.).
* In some cases, the "blow-up" step in the k-point generation leads to trouble in combination with {{TAG|IBRION}}=6 and {{TAG|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 ({{TAG|KBLOWUP}}=.FALSE.).
* Copy the atomic type designation from {{FILE|POSCAR}} to {{FILE|CONTCAR}}. In all other instances where the structure is written to file (e.g. {{FILE|CHGCAR}}) the atomic type information is replaced by the acronym from the periodic table.
* Copy the atomic type designation from {{FILE|POSCAR}} to {{FILE|CONTCAR}}. In all other instances where the structure is written to file (e.g. {{FILE|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.
* The [[:Category:Wannier_functions#Selected_columns_of_the_density_matrix_(SCDM)|SCDM method]] now consumes much less memory when executed on many cores.
* Write more information about DFT+D4 calculations.
* Write more information about DFT+D4 calculations ({{TAG|IVDW}}=13).
* For MD runs with a large number of atoms and a few ionic steps the current default chunking size might lead to an unnecessarily large {{FILE|vaspout.h5}} file. Here we make sure the chunking size is never larger than the number of MD steps.
* For MD runs with a large number of atoms and few ionic steps, the current default chunking size might lead to an unnecessarily large {{FILE|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 ({{TAG|ML_MB_MIN}}) is increased from 2 to 3. This should improve the robustness of initial MLFF guesses.
* The default value for the minimum number of local reference configurations ({{TAG|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.
* 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.
* [[BSE|BSE algorithm]] has been optimized and ported to GPU by means of OpenACC.
* Spectral function is recalculated after GW calculations for {{TAG|LOPTICS}}=.TRUE.
* Spectral function is recalculated after GW calculations for {{TAG|LOPTICS}}=.TRUE.
* Demote LATTCHK exception from error to warning.
* Demote LATTCHK exception from error to warning.
* Increase the default {{TAG|ML_CDOUB}} value to 100 for re-selection runs ({{TAG|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.
* Increase the default {{TAG|ML_CDOUB}} value to 100 for re-selection runs ({{TAG|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.
<!--
* Use NCCL in OpenACC port of LASYNC code paths.
* Port ScaLAPACK-aware code paths in EDDIAG, ORTHCH, and RPAR to GPU.
* Port M_sum_g8 to GPU to avoid integer overflow in M_sum_g in EDDIAG and ORTHCH.
* Improve robustness of andersen_nve* tests.
* Improve robustness of TiO2_IBRION=X tests.
* Added wrappers around ScaLAPACK calls in low-scaling GW and ACFDT routines.
-->


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

Latest revision as of 11:07, 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 with ML_IERR, which can be easily combined with the fast execution mode.
  • External forces with EFOR.
  • 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.