Page 1 of 1

Problem with pseudopotential transformation

Posted: Mon Sep 16, 2013 2:41 pm
by Eike Caldeweyher
Dear community,
we are currently trying to convert a pseudopotential/ECP from its gaussian representation to the CASINO x_pp.data format, using the ptm utility.
E.g. using the Ti Small Core DF AREP from the CASINO pseudopotential library in Gaussian98 format, we created the following input for ptm:

Code: Select all

Ti Small Core DF AREP (Trail & Needs)
22.0  10.0
3
8  8  8
Vs - Vd
  1.90199524        -1486.27686726  0
  3.17280244         1504.05739312  0
  7.28185273         -346.63236251  1
  1.60782556          297.60206194  1
 31.70876802           49.03030057  1
  2.57136209         1363.17044217  2
 15.10326471          173.13661454  2
 10.51280239          408.87838151  2
Vp - Vd
  4.79017059          770.58828172  0
 16.39428027         -760.06500844  0
  2.73641831         4131.47101858  1
  1.26533109           -2.86068712  1
  2.75566672        -4128.61033146  1
 13.54811035        -4681.55429918  2
  3.18165696         -216.64417046  2
  7.38011991        -3871.27097394  2
Vd
 22.29649672           10.00000000 -1
  6.07562013       -72305.15340277  0
  7.08549167        72279.39956641  0
  1.85317121           -5.38004642  1
 11.48488557          228.34501358  1
  6.58565089        72347.84359974  2 
 10.79509368          -36.31015055  2
  4.36759114          524.90430538  2 
Running ptm with the command sequence "2 ti.ecp n n y 1 2" we generated a pseudopotential file that looks reasonable at first glance.
However, when performing a VMC-HF calculation for the single Ti atom we do not obtain the correct energy (for one thing, our casino VMC energy is positive and thus differs markedly from the CRYSTAL09 result with the same ECP).
Where is the error in our procedure?
Thanks in advance,
kind regards
Eike

Edit: We checked of course with the provided ti_pp.data from the pseudopotential library, which gives the correct VMC energy with our input. Also we tried several "rearrangements" in our input file to ptm etc.

Re: Problem with pseudopotential transformation

Posted: Mon Sep 16, 2013 2:55 pm
by Mike Towler
Hi Eike,

The pseudopotential components in the CASINO x_pp.data format need to be multiplied by r (see the specification in the manual). Did you do that?

If not, the ptm utility will do this for you: get it to read in the x_pp.data file produced from the Gaussian expansion in the step you already did, then ask it to multiply by r - the sequence of responses being : 1 PP_out 0 3 1 1 1

I'll try to make this clearer in the documentation.

Mike

Re: Problem with pseudopotential transformation

Posted: Mon Sep 16, 2013 4:43 pm
by Eike Caldeweyher
Thank you very much - this works quite well for the pseudopotentials out of the CASINO library.
What is the origin of the extra r-factor (in the literature I only find PP expansions of the form V_pp = V_loc + Sum_l V_l P_l)?

We are actually trying to convert the cologne ab initio pseudopotentials from Dolg and coworkers. Here the same procedure does not seem to be working.
Can you give me any clue why this is so?

All the best,
Eike

Re: Problem with pseudopotential transformation

Posted: Tue Sep 17, 2013 4:10 pm
by Mike Towler
Eike Caldeweyher wrote:Thank you very much - this works quite well for the pseudopotentials out of the CASINO library.
What is the origin of the extra r-factor (in the literature I only find PP expansions of the form V_pp = V_loc + Sum_l V_l P_l)?
It's just a convention that was built into the format specification years and years ago; the first thing CASINO does when it reads in the data from the file is to divide by r thus cancelling out the extra r-factor! i.e. it's nothing to do with the mathematics of the expansion but more about convenience. Presumably whoever designed the format (and it wasn't me) was worried about pseudopotentials that diverged at the nucleus - which is obviously a very bad idea in QMC but is/was surprisingly common elsewhere.
We are actually trying to convert the cologne ab initio pseudopotentials from Dolg and coworkers. Here the same procedure does not seem to be working. Can you give me any clue why this is so?
Not without further information, I'm afraid - I've never used those pseudopotentials.

My best advice is to look very carefully at the Dolg documentation, and think very carefully..

Cheers,
Mike

Re: Problem with pseudopotential transformation

Posted: Wed Nov 01, 2023 12:21 pm
by Vladimir_Konjkov
I tried converting the pseudopotential as described above. Using:

Code: Select all

B Small Core DF AREP (Trail & Needs)
5.0  3.0
3
8  8  8
Vs - Vd
  6.08975909        24273.45582357   0
  6.22754424       -24267.33981731   0
  7.95360685         1449.36679089   1
  5.26256053       -22823.91537604   1
  5.07697261        21374.54858515   1
 14.04620763         -256.36140271   2
  4.78611819        -2641.54596275   2
  7.70376626         -408.52674891   2
Vp - Vd
 12.79450781         1559.56781135   0
  6.92846701        -1561.18614036   0
  5.40312619          335.61133562   1
  4.78765200        -4659.11931130   1
  4.74431630         4323.50797568   1
 10.45594840        -2063.56187271   2
  8.22264187         4828.50130650   2
 11.29086803         6372.33643317   2
Vd
  7.36547230            3.00000000  -1
  6.08464704        47056.58330379   0
  6.32213200       -47062.13756413   0
  3.77954338           23.36961505   1
 12.24185011           -1.27319816   1
  7.35547746       -37985.81675356   2
  6.06737267        -9093.13616529   2
  7.39244588        35868.60717473   2
Running ptm with the command sequence "2 b.ecp n n y 1 2" we generated a pseudopotential file (rename it to pre_b_pp.data)
Then running ptm again with the command sequence "1 pre_b_pp.data 0 3 1 1 1" we generated next pseudopotential file (rename it to b_pp.data).
Remove 1-st column from b_pp.data!


Got next block from log file I noticed that the deviations of Non-local potential are too high.
Pseudopotentials
================

Ion type 1, atomic no 5, file=b_pp.data
Title: Pseudopotential Title goes here

Number of grid points : 1525
Pseudo-charge : 3.0
Local cutoff radius (au) : 2.039559
Non-local cutoff radius (au) : 50.035542
Local potential angular momentum : 2
Deviation from z/r at cutoff radius : 0.6967237305E-05
Non-local potential angular momentum : 0
Deviation from vlocal at cutoff radius : 0.5995737967E-01
Non-local potential angular momentum : 1
Deviation from vlocal at cutoff radius : 0.5995737967E-01

this is a consequence of the fact that
r*potential (L=0) in R
r*potential (L=1) in R
tends to zero at r = 50 au

how to fix it?

best Vladimir.

CASINO v2.13.1025 [Mike Towler] (24 February 2023)