PTM Utility

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
Kayahan
Posts: 22
Joined: Fri Jun 07, 2013 5:56 pm

PTM Utility

Post by Kayahan »

Dear CASINO users,

I have been trying to convert some of the Dolg pseudo potentials into CASINO tabulated format. I found out that this topic has been discussed elsewhere in the forum ( http://www.vallico.net/casino-forum/vie ... p?f=4&t=33 )but I would like to add a few more things to it.

So this is the Dolg pseudo potential for Sulphur, taken from their online library:

Code: Select all

S 0
QMC 2 10
COMMENT LINE
3
1 2.42178462 6.00000000
3 6.74148698 14.53070769
2 3.06094751 -17.52965289
COMMENT LINE
1
2 2.94272173 25.99260928
COMMENT LINE
1
2 2.84566981 18.93356489
So this is how I converted it into CASINO ptm readable format:

Code: Select all

S Dolg-pseudopotential   ! Title
16.0 6.0                                 ! Atomic number, effective nuclear charge
3                                                ! # of components                                      
1 1 3                                    ! # of gaussians
s-d                                              ! label 
25.99260928  2  2.94272173
p-d
18.93356489  2  2.84566981
d
6.00000000       1      2.42178462
14.53070769  3  6.74148698
-17.52965289 2  3.06094751
And then, from there I basically typed "ptm 2 no no yes 1" to get CASINO tabulated format. In this process, Z/r is also subtracted from d (local) component. Originally, gaussian format for potential components is s - d and p -d, d (in the ptm readable file) so in order to make it s, p, d (suitable for CASINO tabulated format) I need to sum 1st and 3rd components, and also 2nd and 3rd components. Up to here, what I try to do is exactly the same as Case 1 step 3 written in README_causa file in /utils/ptm destination. However, from this point on, I was not able to sum the components as it was suggested by that document, using ptm utility. The document says that there should be a modified version of ptm utility, but ptm utility in current version of CASINO probably does not seem to include this capability. So, I tried to sum those components by using simple array summation and then created the file myself. Then I multiplied each component by r using again ptm utility. However, the VMC result I get here is around -5.335782981 Ha, but I think it should be around -10 Ha (which is the HF result). I uploaded the relevant output file to this post.
out.zip
S_single_atom_vmc
(6.33 KiB) Downloaded 728 times
In addition to this the PP file converted from the gaussian format labels each PP component as "r*s pseudopotential in Ry", "r*p pseudopotential in Ry" and so on. However, the same labels in the CASINO PP library are "r*potential (L=0) in Ry" ,"r*potential (L=1) in Ry" and so on. I believe they should mean the same thing if there is nothing else inside the code, but when I try to run the job with the first type of labels, I get PP read error. When I change them to L=n format, then job starts without a problem. '

Therefore, I have two questions regarding two things I mentioned above:
1. Is there another ptm utility that I might have been missing which performs PP component summation and am I correct to perform simple array summation to get spd components separately?
2. Is there any difference between the expressions "r*s pseudopotential in Ry" and "r*potential (L=0) in Ry" that gives error in reading the input pp files, or is it just the convention?

I hope all this is clear enough, please let me know if there is anything that needs to be clarified, I would be happy to provide more information.

Thanks a lot,
Kayahan
Katharina Doblhoff
Posts: 84
Joined: Tue Jun 17, 2014 6:50 am

Re: PTM Utility

Post by Katharina Doblhoff »

The following should work:

Starting from the Gaussian format (I am talking here of the program Gaussian, not just the fact that we have a gaussian expansion - different programs will have a different file format, however the file format you give above is the Gaussian one), create the following file

S Dolg !arbitrary name
16.0 6.0 !atomic number, core charge
3 !number of of l-channels
4 4 3 !number of gaussians in s, p and d (note that this is the number of gaussians in s-d plus those in d from the gaussian file (i.e. 3+1=4) for the s channel and (p-d) plus d (i.e. 3+1=4) for the p channel and those of d for the d channel, since we will be adding the local channel to the non local ones by hand)
s !start s channel
2.42178462 6.00000000 -1 !copy exponents and coefficients from the gussian file of the local channel (L_max=d in your case), subtract 2 from the r-exponent and put it in the last column
6.74148698 14.53070769 1
3.06094751 -17.52965289 0
2.94272173 25.99260928 0 !copy exponents and coefficients from tha gaussian file for s-local channel (i.e. s-d in your case), subtract 2 from the r-exponent and put it in the last column
p
2.42178462 6.00000000 -1 !same procecure as for s channel
6.74148698 14.53070769 1
3.06094751 -17.52965289 0
2.84566981 18.93356489 0
d
2.42178462 6.00000000 -1 !same procedure as for s channel, but no need to copy any difference potential (d is already the local channel)
6.74148698 14.53070769 1
3.06094751 -17.52965289 0

Then run ptm with the following input:
2, <file name>, y, y, y, 1, 2
i.e.: Your read your new file containing Gaussian components, named <file name>. The three y state, that you want to subtact Z_eff/r from every component (we added the local channel to the non local ones BEFORE subtracting Z_eff/r, so we now have to get rid of it in every cannel). The 1 prompts the program to do an output in tabulated format. The last 2 tells you that you want Rydberg atomic units as stated in the manual.

And then run ptm again with the following input:
1 PP_out 0 3 1 1 1
i.e.: You read in a tabulated file named PP_out (this is what is produced by the previous run of ptm). The Gaussians are not multiplied by an r-component any more (we subtracted 2 from the exponent by hand - you could probably also not subtract 2 in the first place and enter 2 instead of 0 here). 3 is the number of channels. The next number (1) states that you want to multiply by r^n, and the next number (1 again) states that n=1 as required in the pp.data files. The final number (1) states that you want an output file in the pp.data format (it is again written to a file PP_out - so if you want to keep the PP_out from before rename it before running ptm the second time!)

In the final file you still may have to correct the local channel if it is not l=2.

But please test this before use!
Last edited by Katharina Doblhoff on Tue Mar 17, 2015 8:33 am, edited 1 time in total.
Kayahan
Posts: 22
Joined: Fri Jun 07, 2013 5:56 pm

Re: PTM Utility

Post by Kayahan »

It is working, thanks for the advice!

Best,
Kayahan
Post Reply