How to build PAW atomic data for Abinit
using USPP
generator
Current
version of USpp2Abinit :v2.4.0
Available
for Abinit
v5.4.3+
See this note for use with previous
versions of
Abinit
To obtain PAW atomic
data for Abinit we proceed
as follows:
- We patch D. Vanderbilt's USPP package in order to
make it generate PAW atomic data in Abinit's format (in addition to
ultrasoft pseudopotentials).
- "Patched" USPP is directly useable to produce PAW
atomic data from normal USPP input files.
Many thanks to D.
Vanderbilt for having given us the opportunity to use USPP package.
1. What you need:
We
suppose for the following that the reader is familiar with the
use of USPP package. If not, first take at look at the
complete
user's
guide written for it.
- 2. Preliminary steps:
patching USPP
- Download USPP package. You
can find it here. Be sure to download version 7.3.6 or
higher (including some modif. for Abinit).
- Extract USPP (in some /uspp-xyzdirectory)
- Download USpp2Abinit package.
You can find it here (fully compatible with ABINIT v6.1.0+;
partly compatible with ABINIT v5.4.3+).
See this note for use of USpp2Abinit with
versions 4.6.x-6.0.x of ABINIT.
Here USpp2Abinit for Abinit
v4.3.x-v.4.5.x (buggy !, only for tests).
- Extract Uspp2Abinit into USPP directory (in /uspp-xyz/USpp2Abinit.vx.y.z directory).
Note that you also get a
new /uspp-xyz/utils-uspp
directory
- Go
into /uspp-xyz/Uspp2Abinit.vx.y.z directory and edit Makefile file;
modify it according to your machine specifications.
- Into /uspp-xyz/Uspp2Abinit.vx.y.z directory,
- Type: make
It compiles a patched version of USPP
(with Abinit PAW add-ons)
and creates runatom.x in /uspp-xyz/USpp2Abinit.vx.y.zdirectory - Type : make install
It installs "patched" runatom.x into /uspp-xyz/Bin
directory
- Optional:Type : make clean
it cleans up /uspp-xyz/Uspp2Abinit.vx.y.z directory
or : make clean_all it cleans up /uspp-xyz/Uspp2Abinit.vx.y.z and /uspp-xyz/Source directories
- At this stage you get a
patched version of USPP
package; you can use it like original USPP.
3. Generating a PAW
"pseudopotential file" for Abinit:
-
Simply use USPP
as if you wanted to generate an ultrasoft pseudopotential !
Go into /uspp-xyz/Work
directory; browse down sub-directories, selecting chemical specie and
density functional (LDA, GGA).
Type make clean; make
If you encounter some error during
execution, look for an error message in the ??_ae.out or ??_ps.out file; if the error
message is not explicit enough, look at Doc/TUTORIAL
(most
of the problems are referenced inside).
- And you get a
X.abinit.paw file (X=generic name)
directly useable by Abinit !
- Additional options:
- A file named
uspp2abinit.dat
can be added in the working directory
to pass arguments to the USpp2Abinit converter.
Here, an example of this file,
with details on the different keywords.
- Note: if you
want to use Abinit prior version 5.2 (especially v4.6.x), you HAVE TO
use the COMPAT46 keyword in uspp2abinit.dat
file.
- Note for experienced users:
If you want to use "Real Space Optimisation" to
improve the behaviour of non-local projectors, you have to use
specific keywords in uspp2abinit.dat
file.
Real
Space Optimisation improve the development of non-local projectors by
"smoothing" their development over large G vectors (introducing a
"controlled" error). It has been proposed by King-Smith and al. (see
[4] below).
The scheme is governed by 3 parameters:
Gmax (=2*Ecut**2), Gamma and Wl ; the user has to give these parameters
in uspp2abinit.dat file.
The efficiency of Real Space Optimization strongly depends on the
non-local projectors produced by USPP (it can be sometimes unuseful);
only experienced users should use it...
4. Additional
remarks:
- You
can as a first step use input files (*.adat files) distributed by D.
Vanderbilt on his web site.
But
we recommend to make additional tests before using those input files.
PAW formalism is a bit different from US pseudopotentials one and can
induce a different behaviour of atomic data. - The choice
of a density
functionalis limited
by functionals included in USPP package
and in Abinit.
To
be used a density functional model must be incorporated into both
packages.
Only four functionals are programmed in USPP and
Abinit together:
Ceperley-Adler
(LDA), Wigner (LDA), Hedin-Lundqvist (LDA), Perdew-Burke-Ernzerhof 96
(GGA) - In order to check the
validity of atomic data produced by USPP, a simple test is the
comparison of the logarithmic
derivatives of wave functions (exact ones compared to pseudo
ones).
A simple PYTHON script pltlogd is
provided within USpp2Abinit
package in /uspp-xyz/utils-uspp
directory to plot these derivatives. It uses the ??.logd
file produced by USPP.
Just type: pltlogd file.logd l,
where l
is an angular momentum (0, 1, 2, or 3).
5. References:
[2] Implementation
of Ultra-Soft Pseudopotentials in Ab-initio Molecular Dynamics,
K. Laasonen, R. Car, C.
Lee, D. Vasnderbilt, Phys. Rev. B 43 (Rapid Communications), 6796 (1991)
[3] From ultrasoft pseudopotentials to the projector
augmented-wave method,
G. Kresse, D. Joubert, Phys. Rev. B 59, 1758 (1999)
[4] Real-space implementation
of nonlocal pseudopotentials for 1st-principle total-energy
calculations,
R.D. King-Smith, M.C. Payne, J.S. Lin, Phys. Rev. B
44, 13063 (1991)
[5]
Implementation of the projector augmented-wave method in the ABINIT
code: Application to the study of iron under pressure,
M. Torrent,
F. Jollet, F. Bottin, G. Zerah and X. Gonze, Comput. Mater. Sci.
42, 337 (2008)
-
6. Contacts:
- In case of problem or questions
contact the authors.
Marc Torrent
François Jollet
Département de Physique
Théorique et Appliquée
CEA, DAM, DIF
F-91127 Arpajon
France
Last modification : may 11th 2010