Simple Calculation Of Polarizability

A calculation of optical absorption spectra can be performed in the framework of time-dependent density functional theory (TDDFT), in the linear response regime. Using localized functions for basis set and iterative techniques allows to accomplish such calculations for relatively large finite systems (molecules, clusters) TDDFT for finite systems: theory. A program mbpt_lcao realizes the computation of optical absorption cross sections. The program must be compiled before any computation could be started. Moreover, if you got a fresh copy of the package, you will need to do installation. Assuming you have done installation, you can compile the mbpt_lcao executable by typing

[trunk] make tddft_iter


For further explanation, tips & tricks, please refer to section Compilation and Installation.

The program mbpt_lcao uses data from a prior, density functional theory (DFT) calculation. One can use SIESTA package to create such a DFT starting point. Two options must be added to SIESTA's input file, to cause exporting of necessary data files. A simple example of SIESTA input file locates in trunk/ directory of the project: sodium-02.fdf. Lets performs DFT calculation for the sodium dimer

[trunk] siesta <sodium-02.fdf


After the SIESTA run is successfully complete, a bunch of files sodium-02.* must appear in the current directory1 and we can directly start the TDDFT calculation
[trunk] mbpt_lcao


The programs of the MBPT_DomiProd package use input file tddft_lr.inp located in the current directory for setting the calculation parameters related to TDDFT part of the work. To realize calculation of polarizability you need to set the input do_tddft_iter to 1. For further explanations, tips & tricks, please refer to the section General Remarks On Running The Program. After tddft_iter is successfully complete (at least) two files must appear in the current directory for non interacting and interacting absorption spectra. The file names are subject to change2, but their actual names are printed to standard output stream. The files have simple structure

omega1 <P(omega1)>
omega2 <P(omega2)>
omega3 <P(omega3)>

omegaN <P(omegaN)>

where $\mathrm{\langle P\rangle}(\omega)$ is so-called oscillator strength function. It is related to polarisability tensor $P_{ij}(\omega)$

(1)
\begin{align} \mathrm{\langle P\rangle}(\omega) = -\frac{1}{3}\mathrm{Im}(P_{xx}(\omega)+P_{yy}(\omega)+P_{zz}(\omega)). \end{align}

The oscillator strength function $\mathrm{absorption}(\omega)$ can be easily plotted. For example, using gnuplot scripts

[trunk] gnuplot tddft_iter.gp


The script tddft_iter.gp should generate a PostScript file ps/tddft_iter.ps. One can view the spectra with GhostView
[trunk] gv tddft_iter.ps &


Examples for other molecules are located in the subdirectories trunk/examples/finite/*.