Search:

# Franck-Condon Interface

In the absence of vibronic coupling, electronic spectra (excitation, fluorescence, ionization, detachment, etc.) can be quite effectively modelled with a harmonic Franck-Condon (FC) calculation. While CFOUR does not have a program to specifically do FC simulations (xsim can do them, but not efficiently, as it is a program primarily for vibronic coupling treatments), but a number of programs exist (Anna Krylov's ezSpectrum being one example) for this purpose. In essence what is really needed for such a calculation are: 1) the displacements between the two states; and 2) the so-called Duschinsky transformation matrix, which relates the normal coordinates of the two states. Translated to quantum chemistry, this means that you need to optimize the structures and calculate the harmonic force fields of the two states of interest. A utility program, xquadmodel (also used for xsim parameters), writes a file called fcinput.txt, the contents of which provide all the information needed to do an FC simulation. To run xquadmodel, do the following:

1. Save the JOBARC file for the initial state and the corresponding JAINDX file.
2. Save the QUADRATURE and FCMFINAL files for the final state.
3. With these files in place (called JOBARC, JAINDX, FCMFINAL and QUADRATURE), run the xquadmodel executable.

An example of the fcinput.txt file is shown below. The results were generated for the CCl2 molecule with the 6-31G* basis set and MP2 (five orbitals dropped). The initial state is the singlet ground state of the neutral, and the final (upper) state is the lowest state of the cation. The form of the output was originally designed with the FCfast Franck-Condon program of Grimme and coworkers in mind (and will work as an input file for FCfast without any modification); however, it contains everything that is needed for a Franck-Condon simulation and should be quite straightforward to adapt to other packages. Note that the displacements are given in both regular normal coordinates (not the "normal coordinates" of some other quantum chemical program packages - any that use the odd concept of a "reduced mass") and dimensionless normal coordinates. In addition, the displacement between the states (final - initial) is given in terms of both the initial state coordinates and the final state coordinates. Also, both the Duschinsky matrix and its transpose are given. The FCfast program, for example, commendably uses the dimensionless normal coordinates for the displacement vector (although, perhaps less commendably, those of the final state rather than the initial state) and the transpose of the Duschinsky matrix. It is suggested that you use this dataset below in testing a "new" Franck-Condon implementation, using the results given below to make sure that everything is being done correctly.

 $spectrum FC$memory   500.00
$minenergy 0.00000000$maxenergy  4000.00000000
$graining 1.00000000$vibmodes                      3
$transdip 1.0000000000 1.0000000000 1.0000000000$initfreq
793.481   770.120   355.538
$finalfreq 1299.699 809.853 371.274$duschins
0.9944320256        0.0000000000        0.0000000000
0.0000000000        0.9502953229        0.3113499628
0.0000000000       -0.3113499628        0.9502953229
$duschinsky (transpose) 0.9944320256 0.0000000000 0.0000000000 0.0000000000 0.9502953229 -0.3113499628 0.0000000000 0.3113499628 0.9502953229$displacement in amu^{1/2} bohr (Q initial)
0.0000000000       -1.8385555605       -1.7033794267
$displacement in amu^{1/2} Angstrom (Q initial) 0.0000000000 -0.9729214629 -0.9013893511$displacement in dimensionless coordinates (q initial)
0.0000000000       -4.6499033860       -2.9271315159
$displacement in amu^{1/2} bohr (Q final) 0.0000000000 -1.2168236289 -2.1911477076$displacement in amu^{1/2} Angstrom (Q final)
0.0000000000       -0.6439151748       -1.1595051457
$delta displacement in dimensionless coordinates (q final) 0.0000000000 -3.1558667265 -3.8477473782$end


Once you generated your fcinput.txt file, execute the following command at the prompt:

xfc_squared fcinput.txt > output &

Some results for the CCl2 -> CCl2+ system are given below (from fort.20 file):

27 27
0.138097080156 0.000151261977 1113.822000
0.184129440208 0.000343001624 1485.096000
0.192474242142 0.000268829300 1552.401000
0.230161800260 0.000619558081 1856.370000
0.238506602195 0.000789526109 1923.675000
0.246851404129 0.000173191573 1990.980000

These results were obtained with xfc_squared, which was also checked against the xsim module of CFOUR, which uses a variational numerical method rather than being based on the much more efficient and accurate analytical approach pioneered by Sharp and Rosenstock in the Cretaceous age.

Imaginary frequencies?

There are cases in which the upper state will have imaginary frequencies, which is usually -- but not always -- attributable to vibronic coupling with a nearby state. In such a situation, a Franck-Condon simulation is inappropriate, since the harmonic potential is not bounded from below. Ideally, one has to work with a vibronic Hamiltonian, which is the purpose of the xsim module. However, an expedient can be achieved by removing the offending frequency (and all those of the same symmetry, to which it can directly couple), and then restrict the Franck-Condon simulation to avoid this symmetry. The capability to do this is provided by the aptly-named xfcfudge module, whose use is now described.

You will discover that your upper state has one or more imaginary frequencies by a number of possible mechanisms. You might look at the output when you run the calculation (I would hope that you do), or see negative numbers in the fcinput.txt file under the \$finalfreq card, or -- when you run the xquadmodel executable -- you might see the message:

  WARNINGWARNINGWARNING:  Imaginary frequency or frequencies present


at the very end of the xquadmodel output. If you then run xfc_squared, things will not work for the reasons mentioned above. To eliminate the effect of these modes and their symmetry-equivalent partners, invoke the executable xfcfudge as follows:

xfcfudge < fcinput.txt

which will produce a new file (fcinput-clean.txt) that can be used as input to FCfast.

Visualizing the output

xfc_squared, which is well-documented, produces two output files. These are fort.20 and fort.30. The second file is an x,y file of stick spectra and can just be plotted with gnuplot using the

plot 'filename' w lines

command type. Along with fort.30, the fort.20 file is formatted exactly like the same two files from the xsim program, and can be used by the xsimplot module to produce spectra convoluted with lineshape functions of a given width (file spectrum) and a nice stick spectrum of the usual sort (file stick).