Dear Dr. Towler,

I'm a PhD student and I'm using CRYSTAL95 in the study of the relative stability of different crystalline phases under high pressure. I would like to extend my study to some Zintl's phases, but to do that I need first to obtain reliable basis sets for silicon (Si-1).

I wrote to the people from Torino asking them about how CRYSTAL95 could be used sequentially to optimize basis sets, without the need of manually change the input file every time. They said me that you have a code called atomicbilly that could do that! Could you please tell me more about it? It is available to academic institutions? Thank you very much in advance!!

Best regards,

Dear Mike,

Thank you for your message!
I need to say you have a beautiful (and also very useful!!) homepage! I'll keep you informed about my progress in optimizing the valence basis set for Si -1 in NaSi Zintl's phase.

Best regards,

Claudio A. Perottoni
Universidade Federal do Rio Grande do Sul
Instituto de Fisica - Laboratorio de Altas Pressoes
Av. Bento Goncalves, 9500
91501-970 PORTO ALEGRE - RS


Details of how to optimize CRYSTAL basis sets are in my summer school article available for download here. Brief details are:

(1) It should not generally be necessary to develop basis sets from scratch because sufficiently accurate starting guesses are available for most atoms of interest in the basis set library on the CRYSTAL resources page. When using these basis sets in calculations in crystals, the exponents and contraction coefficients of the outer valence functions should be reoptimized. Doing this manually is obviously a tedious business. However, my billy program (available here) should make things a little easier.

For example, here is a carbon basis set with the relevant parameters in the valence functions preceded with an asterisk. If you feed a CRYSTAL input file containing this starred basis set to the billy program, billy will go away and optimize the starred parameters, while you do something more interesting.

6 4

0 0 7 2.0 1.0
5190.0 0.00950
720.0 0.008732
138.5 0.05294
38.24 0.1709
13.12 0.3597
5.083 0.4004
2.185 0.1571

0 1 3 4.0 1.0
*13.2 *-0.0306 *0.01905
*2.98 *-0.1260 *0.1040
*0.916 *0.1784 *0.2393

0 1 1 0.0 1.0
*0.35 1.0 1.0

0 1 1 0.0 1.0
*0.126 1.0 1.0

Billy is lengthy Unix C shell script which repeatedly calls CRYSTAL (which it controls using my run script). For complex structures or large systems, it may take a long time - you can save CPU time by optimizing the scale factor in the shell line 0 1 3 4.0 *1.0 (which scales the exponents of all the Gaussian primitives in the contraction simultaneously) rather than optimizing each individual exponent.

(2) Developing accurate basis sets from scratch is done using atomic calculations (i.e. with the CRYSTAL ATOMHF option turned on) and involves a certain amount of artistry beyond the mere following of procedure. This should not be necessary for the casual user. However, if you want to try, my atomicbilly program will help you to do this. Suggestions methods of approaching this problem are in my summer school article.