01.02.2015 Views

Introduction to the octopus code - TDDFT.org

Introduction to the octopus code - TDDFT.org

Introduction to the octopus code - TDDFT.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

section 3. Second session 11<br />

Tasks<br />

1. Obtain <strong>the</strong> dipole strength function from Friday’s <strong>TDDFT</strong> run<br />

Your run from Friday should have finished by now. You should have a bigtd.general/multipoles<br />

file. This file will be used by yet ano<strong>the</strong>r external <strong>to</strong>ol, oct-cross-section, <strong>to</strong> generate<br />

<strong>the</strong> dipole strength function of <strong>the</strong> system. Running this <strong>to</strong>ol will produce a<br />

cross section vec<strong>to</strong>r file with several columns: <strong>the</strong> energy (first column) and<br />

three cross section tensor elements in <strong>the</strong> direction of <strong>the</strong> perturbation. (As your<br />

perturbation is in one direction only, you get just one cross section tensor element).<br />

Also, you get <strong>the</strong> dipole strength in that direction (Question: what is <strong>the</strong> relationship<br />

between <strong>the</strong> cross section and <strong>the</strong> dipole strength function) Units are<br />

those specified in <strong>the</strong> input file. You can use <strong>the</strong> following parameters in <strong>the</strong> input<br />

file <strong>to</strong> control <strong>the</strong> calculation of <strong>the</strong> spectrum: SpecMaxEnergy (<strong>the</strong> maximum energy<br />

which you want <strong>to</strong> plot) and SpecEnergyStep (<strong>the</strong> discretization step for <strong>the</strong><br />

energy).<br />

Q1. Compare this spectrum with <strong>the</strong> one obtained Friday and with <strong>the</strong> experimental<br />

results.<br />

2. Obtain excitation energies from linear response <strong>the</strong>ory<br />

When a molecule is subject <strong>to</strong> a weak external time-dependent potential, it may not<br />

be necessary <strong>to</strong> solve <strong>the</strong> full time-dependent Kohn-Sham equations <strong>to</strong> determine<br />

<strong>the</strong> behavior of <strong>the</strong> system: perturbation <strong>the</strong>ory allows us <strong>to</strong> calculate easily <strong>the</strong><br />

linear change of <strong>the</strong> density, and that in turn is all that we need <strong>to</strong> get, e.g., <strong>the</strong><br />

optical absorption spectrum. This approximation is known as linear-response<br />

<strong>the</strong>ory. However, it is quite difficult <strong>to</strong> solve numerically <strong>the</strong> linear density response<br />

equation [2], which is an integral equation that requires <strong>the</strong> non-interacting response<br />

function as an input. To obtain this quantity it is usually necessary <strong>to</strong> perform a<br />

summation over all states, both occupied and unoccupied. Such summations are<br />

sometimes slowly convergent and require <strong>the</strong> inclusion of many unoccupied states.<br />

There are however frameworks that circumvent <strong>the</strong> full solution of <strong>the</strong> response<br />

equation. Two of <strong>the</strong>se approximations are implemented in oc<strong>to</strong>pus: <strong>the</strong> singlepole<br />

approximation of Petersilka [13] and <strong>the</strong> full matrix solution of Casida [14, 15].<br />

Using <strong>the</strong> unoccupied states calculated Friday you will now generate spectra within<br />

<strong>the</strong>se approximations. For this purpose, you need <strong>to</strong> do a third oc<strong>to</strong>pus run in <strong>the</strong><br />

same direc<strong>to</strong>ry [<strong>the</strong> first one is <strong>the</strong> calculation of <strong>the</strong> occupied KS states with run<br />

mode gs; <strong>the</strong> second run is <strong>the</strong> calculation of some unoccupied KS states with run<br />

mode unocc], so that <strong>the</strong> <strong>code</strong> is able <strong>to</strong> retrieve <strong>the</strong> previous information. The<br />

necessary mode for this third run is called casida:<br />

CalculationMode = casida<br />

The results will show up in some direc<strong>to</strong>ry called linear.<br />

Q2. Compare <strong>the</strong>se spectra with <strong>the</strong> previous ones.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!