Changelog: Difference between revisions
No edit summary |
No edit summary |
||
(45 intermediate revisions by 5 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. | |||
* [[Plugins|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. | |||
* [[:Category:Bethe-Salpeter_equations|Solving the Bethe-Salpeter equation]]: | |||
** [[:Category:Bethe-Salpeter_equations#Lanczos_algorithm|Lanczos diagonalization]] of the BSE matrix ({{TAG|IBSE}}=3). | |||
** [[:Category:Bethe-Salpeter_equations#Performing_BSE_calculations_on_GPU|GPU support]] for time-evolution BSE ({{TAG|IBSE}}=1). | |||
* Additional [[:Category:Exchange-correlation functionals|exchange-correlation functionals]]: | |||
** (r)MS-B86bl, (r)MS-PBEl and (r)MS-RPBEl [[METAGGA|MGGA]] functionals (provided by Nick Gerrits). | |||
** TASK and LAK [[METAGGA|MGGA]] functionals (provided by Timo Lebeda). | |||
** Sources-free exchange-correlation B field ({{TAG|LSFBXC}}). | |||
* [[KERNEL_TRUNCATION/LTRUNCATE|Coulomb kernel truncation]]: open boundary conditions to compute the properties of dipolar and charged molecules, 2D materials, and surfaces. | |||
* [[:Category:Machine-learned force fields|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 ({{TAG|ESF_SPLINES}}) 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 ({{TAG|LSYNCH5}}). | |||
* Improvements of the [[GAMMA|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> | <div id="Changelog643" style="display:inline;"></div> | ||
Line 5: | Line 69: | ||
* 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. | ||
* 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). | * 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). | ||
* Interface to the external code libMBD (https://libmbd.github.io): many-body dispersion methods for van der Waals interactions. | * Interface to the external code libMBD (https://libmbd.github.io): many-body dispersion methods for van der Waals interactions. See {{TAG|LIBMBD_METHOD}}. | ||
* 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. | * 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}}). | * [[Plotting exciton wavefunction|Compute and write out exciton wavefunctions in BSE]] (written to {{FILE|CHG}}). | ||
Line 11: | Line 75: | ||
* 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. | * 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. | * [[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|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. |
Latest revision as of 13:24, 23 December 2024
6.5.0
FEATURE
- Electron-phonon coupling:
- Zero-point renormalisation of band gaps.
- 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.
- Solving the Bethe-Salpeter equation:
- Lanczos diagonalization of the BSE matrix (IBSE=3).
- GPU support for time-evolution BSE (IBSE=1).
- Additional exchange-correlation functionals:
- 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 (ESF_SPLINES) 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
- Increased flexibility in the choice of exchange-correlation functionals: added the tags XC and XC_C to specify linear combinations of exchange-correlation functionals.
- 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).
- Interface to the external code libMBD (https://libmbd.github.io): many-body dispersion methods for van der Waals interactions. See LIBMBD_METHOD.
- 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 wavefunctions 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.
- WRT_POTENTIAL writes the 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 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.