[Pw_forum] oxygen pseudopotential in tio2

Nicola Marzari nicola.marzari at materials.ox.ac.uk
Tue Jun 28 09:46:43 CEST 2011

Thanks Deyu Lu for this very careful analysis.

It looks like the two pseudos are coming from the same source
(the FHI fhi98pp repository), but 08-O.PBE.fhi.UPF as a UPF conversion
of the abinit PSP library, while O.pbe-mt.UPF as a direct conversion
from the fhi98pp output.

My first guess is that either

1) the fhi to UPF conversion for O.pbe-mt.UPF was not done properly


2) the fhi to UPF converter messes up the start of the radial mesh.

Would you be so kind to test 1) - i.e. download/compile the fhi code,
obtain the TM pseudopotential with their parameters, convert it to
UPF, and test?

If it comes out right, either the conversion was not done properly or 
the converter has been fixed. If it comes out wrong, there is a problem
with the converter.

Very much appreciated,


On 6/28/11 2:27 AM, Deyu Lu wrote:
> Dear PW developers and users:
>       I have been doing norm-conserving PSP (PBE) calculations to
> study the structure of rutile tio2. During my study, I found the
> resulting lattice constant is sensitive to some fine details of
> the PSPs I used. Such effect is kind of counter-intuitive. Perhaps
> someone with a better understanding can clarify it for me. The story is a bit long, which I summarize below. Input files and some PSPs are attached.
> All the calculations are carried out on a Linux cluster with QE 4.2.1.
> The code is compiled with Intel compiler (ifort) and mvapich2-1.2,
> and is linked to the mkl library accompanied with the code. Main
> results are verified on a Cray XE6 machine (hopper at NERSC) with the same version of QE.
> The Ti PBE PSP was generated from an ionic configuration
> 3s2 3p6 3d0 4s0, with semi-core included explicitly. A small rcut
> (0.9 0.9 1.0 for 3s 3p 3d) was used to ensure a good transferability.
> The psp was generated from opium, and the convergence can be
> reached at ecutwfn=160 Ry.
> The structure of Rutile TiO2 was calculated using this Ti PSP
> and O.pbe-mt.UPF from QE library. The lattice constant 4.587 angstrom
> is in excellent agreement with experiment (4.587 and 4.582 angstrom)
> but at odds with all the known theoretical results (ultrasoft and paw)  in the literature (4.63 - 4.65). The error is about 1.1%. So our good agreement seems to be accidental. In order to obtain a better understanding, I performed the calculations using paw (vasp) and norm-conserving PSP with HGH (abinit library Theor. Chem. Acc. 114, 145 (2005)) which is known to be very accurate. Indeed, the results are consistent with literature.
> The 1% difference was later found to be related to the Oxygen PSP.
> Different Oxygen PSPs are used in the following tests.
> 1.d: 08-O.PBE.fhi.UPF (abinit PSP library, converted to UPF, lmax=3, local=2)
>       a=4.633 angstrom
> 2.d: O.pbe-mt.UPF (QE PSP library, lmax=2, local=2)
>       a=4.587 angstrom
> In order to see if the f channel can cause any difference, 08-O.PBE.fhi.UPF is modified (08-O.PBE.fake.UPF) by removing f channel and making corresponding changes in DIJ.
> No difference is found as compared to 1.d.
> 6.d: 08-O.PBE.fake.UPF (modified version, lmax=2, local=2)
>       a=4.633 angstrom
> There seems to be a bug in the<PP_HEADER>  section of O.pbe-mt.UPF, where Max angular momentum component is set to 1 instead of 2. I manually changed it to 2 (O.pbe-mt.9.UPF), and no difference found in output as compared to 2.d. So this field is not sensitive in the calculation.
> 9.d: O.pbe-mt.9.UPF (minor modification of O.pbe-mt.UPF)
>       a=4.587 angstrom
> In the rest of tests, the "Max angular momentum component" is left unchanged.
> To find out the difference between 08-O.PBE.fake.UPF and O.pbe-mt.UPF, I plot term by term for two PSPs, and the results are shown in the xmgrace plots for mesh, local, and nonlocal parts of the PSP. The two meshes have the same size, with a max difference within 5d-3 a.u (mesh.agr). There is no difference found in local and non-local components of the PSP (local.agr and nonlocal.agr). In the inset of local.agr, we see that even the small wiggle at the origin is id
> entical. My conclusion is that the two PSPs are literally the same.
> Further tests were done by replace local PP and Beta sections in O.pbe-mt.UPF one by one by the corresponding section from 08-O.PBE.fake.UPF, and the difference is negligible as compared to 2.d.
> In the end, I replaced</PP_MESH>  section in O.pbe-mt.UPF with that from 08-O.PBE.fake.UPF, and kept everything else unchanged, the lattice constant increased from 4.587 to 4.633.
> 8.d: O.pbe-mt.8.UPF (</PP_MESH>  section modified)
>       a=4.633
> In the end, I was quite confused about the fact that a very small change in the mesh (<5d-3 max at 80 a.u.) can cause a difference in the lattice constant by 1%.
> Best
> Deyu Lu
> ************************************************
> Deyu Lu
> Assistant Physicist, Theory&  Computation Group
> the Center for Functional Nanomaterials
> Building 735, Brookhaven National Lab
> Upton, NY, 11973
> ************************************************

Prof Nicola Marzari    Department of Materials    University of Oxford
Chair of Materials Modelling  Director, Materials Modelling Laboratory
nicola.marzari at materials.ox.ac.uk     http://mml.materials.ox.ac.uk/NM

More information about the users mailing list