Changelog
6.4.3
FEATURE
- Increased flexibility in the choice of exchange-correlation functionals: added the tags XC and XC_C to specify linear combinations of exchange-correlation functionals.
- 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).
- Interface to the external code libMBD for running many-body dispersion methods for van der Waals interactions (https://libmbd.github.io).
- Analyze the bandgap and write the results to OUTCAR and vaspout.h5. The details of the output are controlled with the BANDGAP tag.
- Compute and write out exciton wave functions in BSE (written to CHG).
- Non-blocked Davidson minimizer (ALGO = Dav, or IALGO = 119).
- Select the minimum number of local reference configurations required to build an MLFF via the ML_MB_MIN tag. A new log line "MSG" with a text message is written to ML_LOGFILE if this threshold inhibits training.
- CSVR thermostat of Bussi et al.
- Spline interpolation of the electronic structure factor for k-point convergence acceleration of RPA correlation energies.
- Write potential (total, xc, hartree and ion contributions) to vaspout.h5. In case the dipole correction is switched on and LVACPOTAV=.TRUE., the workfunction (rather, the vacuum potentials on either side of the slab) will be automatically determined and written to both the OUTCAR as well as to the vaspout.h5 file.
- LWRITE_SPN=T writes the spin-matrix element to the .spn file for wannier90.
IMPROVEMENT
- 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.
- Print proper error message when using the gamma-only version in combination with KPOINTS_OPT.
- “singles” contribution printed to OUTCAR for GWR algorithms, i.e. Eq. (34) in JCP 143, 102816 (2015).
- 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 non-collinear 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 to add 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.
- 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 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 wave function 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 wave functions 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.