-
Committer:
Alberto Garcia
-
Date:
2018-12-18 11:38:26 UTC
-
Revision ID:
albertog@icmab.es-20181218113826-q1nw0qwlc5smc0xe
Simplify the choice between SiestaXC and BSC's versions of cellxc
The BSC_CELLXC preprocessor blocks have been removed and replaced
by conditional blocks which can be selected at runtime.
The user can control which version of cellxc is used by means of the
fdf logical variable:
XC.Use.BSC.CellXC (T/F)
which is 'false' by default, thus using SiestaXC's cellxc.
The BSC version might be slightly better for GGA operations, and the
SiestaXC version must of course be used when dealing with van der Waals
density functionals.
NOTES:
* BSC's version of cellxc now uses ldaxc, ggaxc, and setxc/getxc from
SiestaXC. This enhances its functionality (more functionals) and
saves on duplicated code. The old 'xc.f' file has been removed.
* In 'meshsubs', 'distriphionmesh' now accepts an extra argument to
flag the need for stencil initilization.
* In 'forhar', a number of 'reord' operations towards 'sequential'
fine-point ordering (which were compiled-in only for the new
interface) have been removed, as all the arrays involved are already
in 'sequential' form.
Tests show that these changes do not seem to affect the results, however.
The 'forhar' interface uses the 'ntm' argument in all cases, to simplify
the code.
* Removed bogus incompatibility check in ldau.F