Problem with pseudopotential transformation

General discussion of the Cambridge quantum Monte Carlo code CASINO; how to install and setup; how to use it; what it does; applications.
Post Reply
Eike Caldeweyher
Posts: 7
Joined: Thu Aug 22, 2013 5:16 pm

Problem with pseudopotential transformation

Post 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.
Mike Towler
Posts: 239
Joined: Thu May 30, 2013 11:03 pm
Location: Florence
Contact:

Re: Problem with pseudopotential transformation

Post 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
Eike Caldeweyher
Posts: 7
Joined: Thu Aug 22, 2013 5:16 pm

Re: Problem with pseudopotential transformation

Post 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
Mike Towler
Posts: 239
Joined: Thu May 30, 2013 11:03 pm
Location: Florence
Contact:

Re: Problem with pseudopotential transformation

Post 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
Vladimir_Konjkov
Posts: 165
Joined: Wed Apr 15, 2015 3:14 pm

Re: Problem with pseudopotential transformation

Post 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)
In Soviet Russia Casino plays you.
Post Reply