Generate the GTH pseudopotential by ATOM

754 views
Skip to first unread message

ningz...@gmail.com

unread,
Dec 11, 2018, 8:19:07 PM12/11/18
to cp2k
Hello,
  I need to generate the GTH pseudopotential and hope to use ATOM code in CP2K. But I find it is a little hard for me. The only thing I can do is just changing the initial guess of pseudopotential parameters. But there are so many parameters in GTH pseudopotential. The optimized pseudopotential changes slightly compared with initial guess. Can anyone tell me how to generate the GTH pseudopotential correctly by ATOM? I will be very appreciated!
  Best regards,
  Zhi

hut...@chem.uzh.ch

unread,
Dec 12, 2018, 3:08:27 AM12/12/18
to cp...@googlegroups.com
Hi

the optimization of GTH pseudos is not unique. Depending on your
object function, starting point and convergence you can get rather
different results. The performance of all these different pseudos
should be rather similar though.
There are also elements that can be tricky to get and many repeated
optimizations and some 'magic' is needed to get good results.

This is a generic input I am currently using to optimize potentials:

&GLOBAL
PROGRAM_NAME ATOM
&END GLOBAL
&ATOM
ELEMENT Ti

RUN_TYPE PSEUDOPOTENTIAL_OPTIMIZATION

ELECTRON_CONFIGURATION [Ne] 3s2 3p6 4s2 3d2
CORE [Ne]
MAX_ANGULAR_MOMENTUM 3

&METHOD
METHOD_TYPE KOHN-SHAM
RELATIVISTIC DKH(3)
&XC
&XC_FUNCTIONAL
&LIBXC
FUNCTIONAL MGGA_X_SCAN
&END LIBXC
&LIBXC
FUNCTIONAL MGGA_C_SCAN
&END LIBXC
&END XC_FUNCTIONAL
&END XC
&END METHOD
&OPTIMIZATION
EPS_SCF 1.e-7
&END
&AE_BASIS
BASIS_TYPE GEOMETRICAL_GTO
&END AE_BASIS
&PP_BASIS
BASIS_TYPE GEOMETRICAL_GTO
&END PP_BASIS
&POTENTIAL
PSEUDO_TYPE GTH
&GTH_POTENTIAL
4 6 2 0
0.38300965389957 2 8.69526962380773 -0.69130398136282
3
0.32535306838298 2 2.49370385691556 3.69297179681161
-4.49419494638446
0.25460783706014 2 -4.62952832752021 8.87087769105041
-10.49552627066998
0.24470423408872 1 -9.41064468800323
&END
CONFINEMENT_TYPE BARRIER
CONFINEMENT 200. 4.0 12.0
&END POTENTIAL

&POWELL
ACCURACY 1.e-14
STEP_SIZE 0.08
MAX_INIT 50
MAX_FUN 250
STEP_SIZE_SCALING 0.90
WEIGHT_PSIR0 0.0
TARGET_POT_SEMICORE [eV] 0.003000
TARGET_POT_VALENCE [eV] 0.000300
TARGET_POT_VIRTUAL [eV] 0.003000
WEIGHT_POT_NODE 10.0
WEIGHT_POT_SEMICORE 2.0
WEIGHT_POT_VALENCE 5.0
WEIGHT_POT_VIRTUAL 1.0
&END
&END ATOM

You can find my recent optimized potentials for PBE, PBE0, SCAN, HF
at my github repo (absolutely no warrenty!)

https://github.com/juerghutter/GTH

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/12/2018 02:19AM
Subject: [CP2K:11041] Generate the GTH pseudopotential by ATOM
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns...@googlegroups.com.
To post to this group, send email to cp...@googlegroups.com.
Visit this group at https://groups.google.com/group/cp2k.
For more options, visit https://groups.google.com/d/optout.

ningz...@gmail.com

unread,
Dec 12, 2018, 12:39:41 PM12/12/18
to cp2k
Hi Hutter,
  Thank you! I use your input file to generate the pseudopotential of Ti and I can reproduce your result. But I still have a question, the initial guess is nearly same with the final optimized pseudopotential. How can we get the better initial guess? These parameters include the R^cut and coefficients in non-local part and R^cut for each channel and h^ij coefficients in the local part.
  With my best regards,
  Zhi

在 2018年12月12日星期三 UTC-8上午12:08:27,jgh写道:

ningz...@gmail.com

unread,
Dec 13, 2018, 12:27:36 AM12/13/18
to cp2k
Hi Hutter,
  I have another question. It seems that the objective function just include the eigenvalue of orbitals and no density charge. In principle, the objective function should include some atomic properties, such as eigenvalue of orbitals, density charge and location of node.
  With my best regards,
  Zhi

在 2018年12月12日星期三 UTC-8上午12:08:27,jgh写道:
Hi

hut...@chem.uzh.ch

unread,
Dec 13, 2018, 2:56:59 AM12/13/18
to cp...@googlegroups.com
Hi

for many atoms you have to restart the optimization frequently
until you reach sufficient convergence.
For the restart you copy the GTH-PARAMETER to your input.
Optimization is a kind of art. Choosing the parameter in the
POWELL section is important for good performance. Still, it takes
me often several 10'000 steps to reach reasonable results.

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/12/2018 06:39PM
Subject: Re: [CP2K:11046] Generate the GTH pseudopotential by ATOM

hut...@chem.uzh.ch

unread,
Dec 13, 2018, 2:59:46 AM12/13/18
to cp...@googlegroups.com
Hi

it includes the eigenvalues of semi-core, valence and the first
unoccupied state, the number of nodes, and the density inside a
cutoff value. See the papers for more information.

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/13/2018 06:27AM
Subject: Re: [CP2K:11047] Generate the GTH pseudopotential by ATOM

ningz...@gmail.com

unread,
Dec 13, 2018, 11:48:26 AM12/13/18
to cp2k
Hi Hutter,
  Thank you! There is no keyword for us to modulate the weight of density charge.
   With my best regards,
   Zhi
   

在 2018年12月12日星期三 UTC-8下午11:59:46,jgh写道:

ningz...@gmail.com

unread,
Dec 18, 2018, 2:15:34 PM12/18/18
to cp2k
Hi Hutter,
  I find I need to restart the optimization for many times. It always needs 5000 restarting calculations using previous step GTH parameters. This process is so slow. How can I speed up this process?
  With my best regards,
  Zhi

在 2018年12月12日星期三 UTC-8下午11:56:59,jgh写道:

hut...@chem.uzh.ch

unread,
Dec 19, 2018, 3:45:36 AM12/19/18
to cp...@googlegroups.com
Hi

as I said in the last comment - it is an art - to choose the
best parameter. You need some experience to get "optimal"
performance/convergence.
I usually play with these parameters

STEP_SIZE 0.08
MAX_INIT 50
MAX_FUN 250
STEP_SIZE_SCALING 0.90

Start with large STEP_SIZE (0.1) and small MAX_FUN (50-100)
and end with small STEP_SIZE (0.00001) and large MAX_FUN(5000).

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/18/2018 08:15PM
Subject: Re: [CP2K:11058] Generate the GTH pseudopotential by ATOM

ningz...@gmail.com

unread,
Dec 21, 2018, 1:09:30 AM12/21/18
to cp2k
Hi Hutter,
  Thank you! I try to change the STEP_SIZE and MAX_FUN. I use the optimal parameter, and it can work.
  There is another problem. We will choose a series parameters as initial guess for pseudopotential optimization. Then we use the so-called optimal STEP_SIZE and MAX_FUN. But we always need to restart the optimization using the pseudopotential parameter of previous step as initial guess. Do we still use the same STEP_SIZE and MAX_FUN? I just use the same value. But I think we need to use adaptive STEP_SIZE. I know it is very hard to change the STEP_SIZE for each restart.
  By the way, I think we should also test the weight for each item in objective function.
  With my best regards,
  Zhi  

在 2018年12月19日星期三 UTC-8上午12:45:36,jgh写道:

hut...@chem.uzh.ch

unread,
Dec 21, 2018, 4:12:02 AM12/21/18
to cp...@googlegroups.com
Hi

as said before, there is no unique solution to the problem.
I gave you the parameters I use, but you can change them at your
will. Use what works best for you.
Yes, I also use frequent restarts with adjustments of parameters.

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/21/2018 07:09AM
Subject: Re: [CP2K:11071] Generate the GTH pseudopotential by ATOM

ningz...@gmail.com

unread,
Dec 26, 2018, 12:19:18 AM12/26/18
to cp2k
Hi Hutter,
  Thank you so much! I followed your suggestions and I finally get some reasonable results though I haven't obtained very good convergence. I try to use the GTH parameters of Ce as initial guess to generate the GTH parameter of Pr. My parameter is:
&POWELL
     ACCURACY   1.e-14
     STEP_SIZE  0.08
     STEP_SIZE_SCALING  0.90
     MAX_INIT   50
     MAX_FUN    100
     WEIGHT_PSIR0 0.0
     TARGET_POT_SEMICORE      [eV]      0.003000
     TARGET_POT_VALENCE       [eV]      0.000300
     TARGET_POT_VIRTUAL       [eV]      0.003000
     SEMICORE_LEVEL  [eV]  15.0
     WEIGHT_POT_NODE                   10.0
     WEIGHT_POT_SEMICORE               10.0
     WEIGHT_POT_VALENCE                 5.0
     WEIGHT_POT_VIRTUAL                 2.0
  &END
&END ATOM
  I give a large STEP_SIZE at first, and then I decrease the STEP_SIZE by order for the following restarts. The optimization results are:
 Reference configuration          1               Method number                1
    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge
    0    1          2.00       -38.8397939312 SC  -0.009395[ 1]    -0.000503[ X]
    0    2          2.00        -3.3860472487 VA   0.010363[87]    -0.004646[ 0]
    0    3          0.00         1.6037528306 U1   0.013647[ 0]    -0.001261[ X]
    0    4          0.00         8.1521110396 U2   0.035468[ 0]    -0.001273[ 0]
    1    1          6.00       -21.3735479056 SC   0.024748[ 8]    -0.002697[ X]
    1    2          0.00        -1.0360212280 U1   0.029883[ 2]    -0.009428[ 0]
    1    3          0.00         3.6087950888 U2   0.064960[ 0]    -0.005279[ 0]
    2    1          0.00        -1.9516163818 U1   0.002300[ X]    -0.014541[ 0]
    2    2          0.00         2.1059505831 U2   0.025993[ X]     0.000310[ 0]
    3    1          3.00        -1.2120770213 VA   0.000989[ 0]    -0.005278[ 0]
    3    2          0.00         2.9876786134 U1  -0.004826[ 0]     0.001172[ X]
    3    3          0.00         8.1202646230 U2   0.034044[ 0]    -0.006754[ 0]
    s-states N=    1                   Wavefunction at r=0:         0.002169[ 0]
    s-states N=    2                   Wavefunction at r=0:         0.018634[ 0]
    s-states N=    3                   Wavefunction at r=0:         0.016484[ 0]
    s-states N=    4                   Wavefunction at r=0:        -0.030807[ 0]

 Number of target values reached:                                       6 of  20
    It still needs several steps restart. I have a question about the "optimal parameter". what is the standard for us to choose the best parameter? I just try to find the best parameter which can make the objective function lowest for each optimization.
    With my best regards,
    Zhi

在 2018年12月21日星期五 UTC-8上午1:12:02,jgh写道:

ningz...@gmail.com

unread,
Jan 2, 2019, 1:10:31 AM1/2/19
to cp2k
Hi Hutter,
  I still have a question. How can I know the best parameters for each restart calculation? I always use the parameters which can obtain lowest value of object function.
  With my best regards,
  Zhi

在 2018年12月21日星期五 UTC-8上午1:12:02,jgh写道:
Hi

hut...@chem.uzh.ch

unread,
Jan 3, 2019, 11:54:16 AM1/3/19
to cp...@googlegroups.com
Hi

your error for the valence states is rather large. I would
not use this pseudo. I usually try to get within
a factor of 3 to the target values.

regards

Juerg

--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 12/26/2018 06:19AM
Subject: Re: [CP2K:11085] Generate the GTH pseudopotential by ATOM

hut...@chem.uzh.ch

unread,
Jan 3, 2019, 11:55:35 AM1/3/19
to cp...@googlegroups.com
Hi

again, there is no easy way to find the parameters.
You need to experiment and find out what works in your case.

regards

Juerg
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 01/02/2019 07:10AM
Subject: Re: [CP2K:11091] Generate the GTH pseudopotential by ATOM

ningz...@gmail.com

unread,
Feb 27, 2019, 1:31:23 PM2/27/19
to cp2k
Hi Hutter,
  It seems that we can not fix the rcut in the non-local part. In principle, this parameter should be set by hand. We should choose a series of rcut, and then adjust the other parameters. But it can not be fixed in ATOM. So how can you choose the rcut when optimizing the pseudopotential?
  With my best regards,
  Zhi

在 2019年1月3日星期四 UTC-8上午8:55:35,jgh写道:

hut...@chem.uzh.ch

unread,
Feb 28, 2019, 5:22:11 AM2/28/19
to cp...@googlegroups.com
Hi

what rcut are you referring to? There is only a radius set
for the charge integration used for checking norm-conservation.
That radius is covalent_radius*RCOV_MULTIPLICATION.

regards

Juerg Hutter
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: ningz...@gmail.com
Sent by: cp...@googlegroups.com
Date: 02/27/2019 07:31PM
Subject: Re: [CP2K:11345] Generate the GTH pseudopotential by ATOM
Message has been deleted

ningz...@gmail.com

unread,
Mar 3, 2019, 12:39:39 PM3/3/19
to cp2k
Thank you, Hutter!
I find it is very hard to set the rcut. I just use the previous parameter 
generated by others as initial guess:
U GTH-PBE-q14
    4    6    1    3
    0.259116883   2   255.436146002   535.840236742
    4
    0.363365625   2   -40.409712770  -126.450802173
                                      102.110246529
    0.422237675   2   -71.960451289     6.285415882
                                       11.018689584
    0.688845753  1      0.910063629
    0.330950573  1    -42.101394751
But I find it is very tight as the r^loc in local part (the value is 
0.259116883) is very small. So I just increase it to 0.48. And then I 
reoptimize the pseudopotential in CP2K. But it shows that the r^loc comes 
back to about 0.259 after the reoptimization.
How can you set the r^loc? Or how can you get the good initial guess?
With my best regards,
Zhi 

在 2019年2月28日星期四 UTC-8上午2:22:11,jgh写道:
Reply all
Reply to author
Forward
0 new messages