Saturday, December 28, 2013

PSI4: quantum chemistry calculations

I have been meaning to play with some quantum chemistry code for a while, to calculate properties of simple diatomic molecules. I got and installed PSI4 from www.psicode.org. The built-in basis sets don't cover the atoms I am interested in. So I went to the Basis Set Exchange, downloaded a basis set (ANO-RCC, UGBS) that covers that atoms I want, and saved it in /usr/local/psi4/share/psi/basis. (Note that PSI4 uses basis sets in Gaussian94 format.)

Here is an example input file:


Comments:

1. Calculations for a heavy atom like Th take a looong time. The calculation of the CCSD energy for a fixed bond separation has been running on my laptop for over 30 minutes. The limit appears to be CPU speed (one core is maxed out), and not memory.

2. Reference wavefunction types:
RHF = Restricted Hartree-Fock (only suitable for $S^2 = 0$)
ROHF = Restricted Open-shell Hartree-Fock (suitable for open shells and triplets)
UHF = Unrestricted Hartree-Fock (suitable for open shells, $S^2$ is a good quantum number)

3. Relativistic basis sets:
ANO-RCC = atomic natural orbitals with relativistic contraction
UGBS = universal gaussian basis set 

 Todo:

1. Figure out how to reduce full ANO-RCC basis set.
2. Check if UGBS is faster than ANO-RCC basis set.
3. Figure out how to speed up calculations with relativistic basis sets.
4. Check dipole moments, polarizabilities & energies of simple atoms: He, Rb, Ca

Friday, November 29, 2013

IPython notebooks: does beautiful code work?

I am still not fully converted over to the notion of using IPython notebooks to arrange my calculations (for one, I find the inline rendering of matplotlib figures is stultifying). But it does make it easy to share calculations and code with colleagues who may not be Python-versed. Here is an example of a recent notebook where the energy levels of the positronium atom are calculated.