Introduction to the octopus code - TDDFT.org
Introduction to the octopus code - TDDFT.org
Introduction to the octopus code - TDDFT.org
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.