Add support for pseudopotentials in PSML format

For more information on the PSML format itself and on the ecosystem of generators and client ab-initio codes, please see

http://esl.cecam.org/PSML

Curated databases of high-quality pseudopotentials are available. In particular, the Pseudo-Dojo project (http://www.pseudo-dojo.org) offers PSML files for almost the whole periodic table.

The most noticeable change from the users' point of view is that Siesta can now process .psml files in addition to .psf files. But under the hood a number of structural changes and other enhancements have taken place:

  • An external LibGridXC (https://gitlab.com/siesta-project/libraries/libgridxc) replaces the built-in SiestaXC library.

  • There is now Libxc support (through libgridxc).

  • Automatic generation of basis sets for atoms with semicore shells without the explicit use of a PAO.Basis block.

  • New psoplib and ncps built-in libraries handle the KB generation and the pseudopotential interface. A new stand-alone program 'psop' can generate KB projectors 'a la Siesta' and produce a .psml file.

  • A converter (Pseudo/converters/psml2psf) can extract the semilocal pseudopotential components from a PSML file and generate a .psf file that can be used with this and previous versions of Siesta.

  • Memory logging has also been refactored. In particular, the 'alloc' module has been revamped to make logging work with external libraries. Further streamlining is planned.

  • More compact Util Makefiles with smaller dependency lists

  • Increased modularity (at the price of a slightly more complex building procedure): Siesta must now be linked to xmlf90, libpsml, and libgridxc. A set of installation scripts (see the Manual) and a more concise arch.make (which delegates most low-level work) should help most users.

Edited by Alberto Garcia

Merge request reports

Loading