crawdad:programming:project6

The CCSD(T) method is often referred to as the “gold standard” of quantum chemistry for its high accuracy and reliability. The purpose of this project is to illustrate the fundamental aspects of an efficient implementation of the (T) energy correction. This project builds upon the results of Project #5 (CCSD).

The spin-orbital expression for the (T) correction, using the same notation as in Project #5, is:

where

the “disconnected” triples are defined as

and the “connected” triples as

The three-index permutation operator is defined by its action on an algebraic function as

The total energy is

The most straightforward approach to evaluation of the (T) energy correction is to compute and store explicitly the connected and disconnected triples and plug them into the energy expression above. Store the triples amplitudes as six-dimensional arrays over occupied and virtual spin orbitals.

Note that each T_{3} amplitude depends on all the T_{1} and T_{2} amplitudes, **not** on other triples. This suggests that the calculation of the T_{3} amplitudes appearing in the energy expression could proceed one amplitude at a time:

Loop over i Loop over j Loop over k Loop over a Loop over b Loop over c Compute connected and disconnected T3 amplitudes for current i,j,k,a,b,c combination Calculate contribution of these T3 amplitudes to the (T) energy End c loop End b loop End a loop End k loop End j loop End i loop

This algorithm reduces the storage (memory and disk) requirements of the (T) correction **considerably**. One can conceive of other approaches as well, including calculations of batches of T_{3} amplitudes (rather than one at a time) to improve floating-point performance. For example:

Loop over i Loop over j Loop over k Compute all T3 amplitudes (all a,b,c combinations) for current i,j,k Calculation contribution of these T3 amplitudes to the (T) energy End k loop End j loop End i loop

This approach requires more storage (on the order v^{3}) than the one-at-a-time approach, but can be considerably faster of modern high-performance computers. A good discussion of the most efficient algorithm can be found in A. P. Rendell, T. J. Lee, A. Komornicki, *Chem. Phys. Lett.* **178**, 462-470 (1991).

The input structures, integrals, etc. for these examples may be found in Project #3 and the CCSD energies in Project #5.

crawdad/programming/project6.txt · Last modified: 2011/07/05 20:40 by crawdad