[CP2K:3004] Re: pseudopotential for charged atoms ?

Valerio Bellini valerio... at unimore.it
Thu Dec 23 19:02:08 UTC 2010

> Dear Valerio,
> you are right. Basically, you need only to change the electronic
> configuration in atom.dat to generate the proper all-electron
> reference. Usually, the PP parameters for the neutral atom are a good
> initial guess. Just take care that the number of electrons is
> matching.

Dear Matthias (and all),
I have two further questions on the pseudo generation (and basis set
generation too).

1) Suppose I want to create a Ni2+ pseudo for a PADE calculation.
I change as you said the electronic configuration in atom.dat (remove the
2 4s electrons), and then, in order to have the same number of electron in
the pseudo, I change it also in the psp.par file, in the 5th line
' 28.000 18.000' becomes '28.000 16.000' (this is what I understood from
your e-mail).
If I do this, and take the weight.par and the FITPAR files (psp-par,
weight.par and FITPAR files are the ones that could be found in the
cp2k/potentials/Goedecker/build/pade/Ni/q18/psp_pade directory),
and give the command 'pseudo.x -c1000 -n600 > output',
in the output file I get things like the following:

WARINING: NO SC CONVERGENCE 19.7142563983271586
 penalty: 59942.2065605099488
 WARINING: NO SC CONVERGENCE 1.11471252777131014
 penalty: 109702.683544057712
 WARINING: NO SC CONVERGENCE 1.23253770036416954
 penalty: 102315.340646999990
 WARINING: NO SC CONVERGENCE 7.75781862854403581
 penalty: 63405.9968717147931
 WARINING: NO SC CONVERGENCE 9.00611481177539375


So, it seems that the parameters in psp.par are completely off.
I tried also to start from a scratch psp.par file (the one generated by
the atom code) and optimize it, by varying the weight.par files, but
I did not manage to converge to anything reasonable (eigenvalues for many
orbitals seemed to converge, but than if I look at the WFs, they where
just crap).
If on the other hand, I leave 18 electrons in the psp.par file,
and run it with "pseudo.x -ignore -c1000 -n600 > output",
things are going very nicely.. and starting pseudo eigenvalues are
very near to the all-electron ones, and one can proceed with the
optimization of psp.par.
Now the point is: which is the correct method in order to create a pseudo
that fits a charged ion? I did not find anything in the README files
available in the code tree.

2) The second question is related to the basis set generation.
Suppose that I am happy with the trasferability of the pseudo given in the
code, and take it. Then I want to create a basis set for it. I know that
there are already optimized basis sets for Nickel, but this is just to
understand how it goes.
If I look at the cp2k/basis_sets/inpout/PADE directory, I see several
input files basis-Ni-q18-g*...
I take for instance the basis-Ni-q18-g6, (which shows small deviations
from the 9 electrons calculation, as can be found in the README files in
that directory), insert the line 'OPTI  1.0D-7', and run optbas program,
just to check if the basis is optimized.
It runs nicely.

Then I move to Tb... there is no basis set for Tb in the cp2k repository.
I take basis-Tb-q19-g6, in the cp2k/basis_sets/inpout/PADE and run optbas.
The program stops with the error 'linear dependencies in the overal
matrix' error. I check the other basis-Tb-q19-g* files, from 3 to 9
electrons/exponents, and only with the basis-Tb-q19-g3 and basis-Tb-q19-g4
files optbas runs nicely, while for 5 or more exponents it gives the above
Looking at the output I see that in these cases (the ones that stops with
the error) the first two exponents are very near to each other.
Using only 4 exponents (i.e. basis-Tb-q19-g4), I would eventually find an
optimized basis set, but the error with only 4 exponents are a bit too
large (see README file), so the question is:
does that mean that one cannot contruct a basis set for Tb with the
current implementatin of optbas? is this the reason why there is no basis
set for this (and other) element supplied by cp2k?

Sorry for the long e-mail.
cheers, and merry Xmas to you all!

More information about the CP2K-user mailing list