We are pleased to announce Siesta 5.0.0, a major release with a host of new features and usability improvements. Among them:
See the New Features section below for a full list.
You are encouraged to update to 5.0.0. The release can be found in
https://gitlab.com/siesta-project/siesta/-/releases/5.0.0
See the Backward-compatibility issues section below and the appropriate sections in the ReleaseNotes.md file in the Siesta distribution for some important issues regarding backward compatibility with prior versions.
See the file REPORTING_BUGS in the Docs/
directory of the distribution
for instructions to report bugs and suggestions.
Some default options for basis set generation within SIESTA have been changed with the aims of:
Providing an ‘automatic’ basis set with generally improved quality (note that we still strongly recommend proper basis optimization for production work).
Enabling the ‘automatic generation’ mode with minimal user input. In particular, we have removed the need to provide a PAO.Basis block in most cases.
Providing automatic fallbacks and improved algorithms to prevent program termination under some circumstances.
The new default values are:
The PAO.EnergyShift
is halved to 0.01 Ry
PAO.SoftDefault
is now enabled by default, creating soft-confined
orbitals without the user specifically asking for it.
The split-valence handling is now governed by a new algorithm, with a slightly different mapping of split-norm parameters to matching radii.
Polarization orbitals can now be generated non-perturbatively, and a fallback to this option is pre-programmed by default in some specific cases.
When using the perturbative method, polarization orbitals are generated using the ‘l+1’ channel of the semilocal pseudopotential.
The radial grid used in PAO and KB construction, which is inherited from that of the pseudopotential tables, is re-parametrized by default, to make it finer in the range where most relevant cutoffs are located. This is important for basis-optimization runs, since there is a more faithful mapping of the rc’s requested by the optimization algorithm and those actually used.
Users that rely on automatically-generated basis, or on just a few global settings, will notice changes from previous results.
Please see the manual for more details.
The changes in the units will lead to very small changes with respect to previous results, except possibly in the case of molecular-dynamics runs, for which small unit-related errors might accumulate over the simulation.
The HSX file format has changed to reduce disk-space and increase precision.
The default FFT ProcessorY
value is determined with a different
scheme. Executions that are sensitive to this value can set the
FFT.Processory.traditional fdf variable.
There are too many new features to explain within this release document. Please refer to the manual and available literature for a more in-depth look.
Implementation of Real-Time TDDFT.
Full spin-orbit coupling, including compatibility with the DFT+U scheme.
Added support for D3 dispersion corrections.
Added support for PSML pseudopotential files which enable the use of databases of curated pseudopotentials such as Pseudo-Dojo.
New “wrapper-library” interface to Wannier90, allowing Siesta to call if on-the-fly.
Units compatible with CODATA-2018.
Updated basis-set generation code.
New CMake-based building framework, with support for dependency handling and tests.
Test Suite. Huge rework of Siesta Tests directory:
All of the tests that were intended as physics-relevant examples can now be found under the /Examples
folder. Tests now are categorized according to the functionality they are testing within Siesta. Total runtimes have been shortened by a lot,and new reference outputs are provided. Tests support ctest automation to run during after CMake builds. Tests have a run script within each folder that provides an easy way to run with an already compiled version of Siesta.
Extend the options for pseudopotential handling with ps-file-spec in the ChemicalSpecies block and SIESTA_PS_PATH
environment variable.
Added band-unfolding utility.
Allow mesh parallel distributions with different numbers of subpoint multiplicity.
Provide more options for the shift of the origin of coordinates.
Extended Hirshfeld and Voronoi partition analysis to spin. Update of output, including new CML blocks.
Overlap gradient now saved in *.nc file
Add XC information to CML file.
Now a default value of 1.0 Ang is used for the lattice constant. This ensures that a proper unit cell is recognized and Siesta does not default to the isolated molecule treatment.
Changed the default value for BlockSize
, to enable both better runtimes and improve the default compatibility with GPU-enabled versions of ELPA.
Performance increase for tall+skinny matrices in TS.
Allowing finer grained k-point input from users.
More information is printed about PAO generation.
Many basis-related features such as automatic handling of semicore states.
Memory logging revamped.
New program psml2psf
.
New defaults available for the following variables, which now reflect better their intended usage:
DM.UseSaveDM
now defaults to true
, unless UseSaveData
(deprecated option) is specified. In that case, it will default to the value of UseSaveData
.
SaveHS
now defaults to true
.ChangeKgridInMD
now defaults to true
.Corrected an issue where the XV files were not read when only UseSaveData
was set.
Correct an issue that resulted in slightly inaccurate Mulliken overlap populations.
Fixed serial writing/reading of NetCDF files, basically all .grid.nc
files in spin calculations was stored wrong, only affecting serial compilations.
Fixed denchar
bug for non-allocated arrays.
Fixed a lot of issues with Cray compilers.
Added interface to the CheSS library (experimental).
Add support for profiling with the NVTX tools by nVidia. The calls are overloaded on the timing interface.
Updated the native PEXSI interface.
Added a new lua checkpoint, AFTER_MOVE
, right after the new atomic coordinates are determined.
Some fixes for library operation (avoid stopping when onlyS
is set; re-opening of unit 6).