[CP2K:3004] Re: pseudopotential for charged atoms ?
valerio... at unimore.it
Thu Dec 23 20:02:08 CET 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
Dear Matthias (and all),
I have two further questions on the pseudo generation (and basis set
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
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
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
WARINING: NO SC CONVERGENCE 1.11471252777131014
WARINING: NO SC CONVERGENCE 1.23253770036416954
WARINING: NO SC CONVERGENCE 7.75781862854403581
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
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