Gaussian contains a bug!
There is an error when generating transition densities from the ground and excited state wavefunctions. Both the amplitudes and directions of the transition moments of the TDC are very different than those given in the results of the excited state calculation. While I haven't found the source of the problem, it definitely exists. I have been in contact with the Gaussian people several times and have gotten essentially no response from them. My current solution is to avoid Gaussian completely and use QChem. Unfortunately, QChem uses a slightly different format for its TDCs, so an extra conversion step is necessary (see the qc_to_gau utility). Since QChem gives TDCs that actually correspond to its wavefunctions, this seems a small price to pay.
Usage Outline:
I. Determine the ground state geometry for molecules of interest.
Usually begin by downloading a structure or by building it from scratch with a modeling tool (e.g. Gaussview).
If appropriate, optimize the ground state structure in your QM package of choice (or with whatever method you prefer). In some cases this step is not desirable; for instance, when considering a protein-bound cofactor, the crystal structure may be more useful than the results of a calculation.
II. Calculate the ground and excited state wavefunctions and their transition density.
We have generally dealt with large molecules, so have calculated wavefunctions at the CIS level. Recently, we have had good results with time-dependent DFT. Semi-empirical methods should also be fine if you are dealing with large systems. These have been used with monopole methods in the past, but I don't know of anyone who has tried them with the TDC method yet.
Bear in mind that the accuracy of the final coupling strengths will be limited by the accuracy of the wavefunctions generated in this step.
With QChem, the transition density can be calculated and written to a TDC during the same calculation that generates the wavefunctions. If you have disk space, it is a good idea to archive the wavefunctions in case you want to generate a different TDC. (Calculating the wavefunction takes a long time, integrating them into the TDC is quick.) Also, the TDC software was written to handle Gaussian-format TDCs, so QChem TDCs must be converted using the qc_to_gau utility.
With Gaussian, the wavefunctions are generated first, then integrated into a TDC as a second calculation.
III. Orient the TDCs.
The transform utility is useful for this, though it is quicker to hand-edit the TDC files in some simple cases.
Each TDC file contains orientation information at the top, then atomic coordinates, then density data. Transform requests the identities of three atoms which will be used as coordinate reference points. It then figures out how to shift the existing TDC file coordinates for those three atoms to the desired destination coordinates (input by the user). Finally, transform reorients the density orientation information along with all the atomic coordinates.
If desired, it is a simple matter to put various destination coordinates into the transform source code so they don't need to be entered by hand while running. All of the cofactor coordinates for an LH2 structure have been entered this way as an example.
Be sure to edit the file label (first line) to something meaningful.
IV. Calculate the coupling.
The coupling program requires three files to exist: coupling.in, cubeA, and cubeB.
cubeA and cubeB are the TDC files from the two molecules.
coupling.in contains two lines, each holds a single number -- the 'true' value of the molecules' transition dipoles. This is to correct, to some extent, for inaccuracies in the QM calculation. In particular, the CIS method tends to overestimate the transition amplitude. The coupling program scales each element magnitude (equally) such that the calculated transition dipole magnitude from the TDC agrees with the value given in coupling.in.
The coupling program makes a single output file: coupling.out, which contains the characteristics of each TDC, the center to center distance, orientation factor, dipole-dipole coupling, and the TDC coupling. The end of coupling.out also holds the atomic coordinates from both molecules.