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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

section 2. First session 9<br />

Note that ĤKS is explicitly time-dependent due <strong>to</strong> <strong>the</strong> Hartree and xc potentials. It<br />

is <strong>the</strong>refore important <strong>to</strong> retain <strong>the</strong> time-ordering product ˆT, in <strong>the</strong> definition of <strong>the</strong><br />

opera<strong>to</strong>r Û. The exponential in expression (9) is clearly <strong>to</strong>o complex <strong>to</strong> be applied<br />

directly, and needs <strong>to</strong> be approximated in some suitable manner.<br />

oc<strong>to</strong>pus provides several approximation methods: <strong>the</strong> split-opera<strong>to</strong>r, Suzuki-Trotter<br />

(a higher order split-opera<strong>to</strong>r method), Enforced Time-Reversal Symmetry, Approximated<br />

Enforced Time-Reversal Symmetry, Exponential Midpoint Rule, and Magnus<br />

Expansion methods. The method used in <strong>the</strong> propagation is chosen putting in<br />

<strong>the</strong> input file <strong>the</strong> keyword<br />

TDEvolutionMethod = xxx<br />

where xxx is ei<strong>the</strong>r split, suzuki-trotter, etrs, aetrs, exp mid, or magnus.<br />

Some of <strong>the</strong>se methods require also a numerical approximation <strong>to</strong> <strong>the</strong> exponential<br />

of <strong>the</strong> Hamil<strong>to</strong>nian. The methods supplied by oc<strong>to</strong>pus with <strong>the</strong> input variable<br />

TDExponentialMethod = xxx<br />

are <strong>the</strong> split-opera<strong>to</strong>r, Suzuki-Trotter, Lanczos, Chebyshev methods and a standard<br />

n-th order expansion of <strong>the</strong> exponential. The value of <strong>the</strong> above variable is ei<strong>the</strong>r<br />

split, suzuki-trotter, lanczos, chebyshev, or standard. You can look in <strong>the</strong><br />

manual for some information about <strong>the</strong>se methods.<br />

O<strong>the</strong>r oc<strong>to</strong>pus variables that are relevant for <strong>the</strong> propagation are, obviously, <strong>the</strong><br />

duration of <strong>the</strong> propagation (TDMaximumIter, which is <strong>the</strong> number of time iterations<br />

that <strong>the</strong> <strong>code</strong> will compute) and <strong>the</strong> time-step for <strong>the</strong> propagation (TDTimeStep).<br />

If we had infinite speed computers <strong>the</strong> latter could be chosen as small as numerical<br />

accuracy would allow. But, in <strong>the</strong> real world, we have <strong>to</strong> compromise and use a<br />

large time-step. However, <strong>the</strong> discretization of <strong>the</strong> evolution opera<strong>to</strong>r imposes an<br />

upper limit on <strong>the</strong> allowed time-step. This upper limit depends on <strong>the</strong> grid-spacing,<br />

becoming smaller for finer grids. You will now determine <strong>the</strong> relation between <strong>the</strong><br />

maximum time-step that allows for an energy-conserving propagation and <strong>the</strong> gridspacing.<br />

To do this, you will have <strong>to</strong> perform several <strong>TDDFT</strong> runs for each grid<br />

spacing with different time-steps, and moni<strong>to</strong>r <strong>the</strong> evolution of <strong>the</strong> system and <strong>the</strong><br />

variation of <strong>the</strong> <strong>to</strong>tal energy. You will notice that an energy-conserving well-behaved<br />

propagation will occur only below a certain ∆t max .<br />

To start a simple <strong>TDDFT</strong> run with oc<strong>to</strong>pus you replace<br />

CalculationMode = gs<br />

with<br />

CalculationMode = td<br />

in <strong>the</strong> input file and include, e.g., <strong>the</strong> following lines

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

Saved successfully!

Ooh no, something went wrong!