Sei sulla pagina 1di 28

Time-dependent Density Functional Theory in GPAW

Tool for Exploring Excited State Properties

Lauri Lehtovaara lauri.lehtovaara@hut.fi Helsinki University of Technology

Outline for Part I: Theory


Time-de endent !"T Time ro agation T!!"T T!!"T in #P$% &'am les

Linear a(sor tion s ectrum )onlinear emission s ectrum

Im lementation *ore e'am les +ummary

Time-de endent !"T

Time-de endent +chr,dinger e-uation

&'tends !"T to e'cited states. e.g..


$(sor tion s ectrum &lectron dynamics &'cited state electron-ion dynamics 0ery good accuracy vs. s eed ratio

%hy/

!ifferent a

roaches

Pertur(ation a

roach 1e.g.. linear res onse2

Particle-hole (asis 3 fre-uency s ace "ast for small4medium systems 5estricted a lica(ility

Time ro agation a

roach

5eal-s ace 3 real-time 6om utationally e' ensive #ood scaling


Parallel and 7rt. system si8e Large systems

Linear and nonlinear henomena

#P$%

9#rid-(ased Pro:ector-$ugmented %ave; method for !"T 5eal-s ace grid


<oundary conditions Parallel scaling 9U+PPs done right;


Pro:ector-augmented 7aves

$ll-electron treatment for all atoms 6om utational cost com ara(le to U+PPs

T!!"T in #P$%

Linear res onse 3 time ro agation

*. %alther et al.. acce ted to =. 6hem. Phys.

Time ro agation currently rovides


Linear a(sor tion s ectrum )onlinear effects

for stationary nuclei 7ithin di ole field a ro'

$r(itrary laser ulses

Parallel e'ecution

Parallel over s ace and states >??s or >???s of 6PUs

&'am le: $(sor tion s ectrum

$(sor tion s ectrum


ly delta kick

5ecord time-de endent di ole moment

"ourier transform to s ectrum

&'am le: Harmonic generation

<eryllium atom in sinusoidal laser field


?.@ 04A

?.B 04A

?.C 04A

Im lementation

Pro agators

ro'imations for e' onential


6rank-)icolson method

Taylor e' ansion Lanc8os method

Im lementation

Pro agators

ro'imation for integral


1+emi-2 im licit mid- oint rule

)onlinearity treated using redict-correct ste

Predict

6orrect
t

&'am le: Pro agators


z

<en8ene. +I6). kick 8-direction


Lanc8os

6rank-)icolson

Taylor e' ansion e' lodedD EF )ot sho7n.

&'am le: <o' si8e

+ilver dimer. +I6). kick 8-direction

+mall (o' )OT OG Larger (o' dam s artificial oscillations

+mall (o' OG

Ioni8ation threshold

&'am le: #rid ste

+ilver dimer. +I6). kick 8-direction

h ?.@? ?.@H ?.I? ?.IH

&tot -@.HH -I.JK -B.JJ -H.?C

&igenvalues are im ortant. not forces or total energyD

&'am le: Time ste

<eryllium atom. +I6)


U040I+

Higher energy EF larger error

&'am le: +imulation time

<eryllium atom. +I6)

+ ectrum is convoluted (y sinc-function 1Esin1'24'2

!ou(le simulation time EF dou(le resolution

&'am le: + eed

<en8ene 1t E C attosec. kick 8-a'is2

Used methods

#P$%: +emi-im licit 6rank-)icolson O6TOPU+: &nforced time-reversal symmetry 3 Lanc8os e' onential #P$% 4 O6TOPU+ E B@.? s 4 >H.H s E 2.5 Ho7 much larger grid ste can #P$% use/ #P$% 4 O6TOPU+ E @.>eJ 4 >.@eJ E >.LJ O6TOPU+: only !O"s inside given radius /!O" filtering to #P$%/

+erial erformance 1same grid2


!egrees of freedom

&'am le: Parallel scaling

<en8ene 1t E C attosec. kick 8-a'is. >J states2


6PUs #P$% O6T > @ B C @B >.? @.? @.J H.B >B.> >.? >.C ------1.65

1.79

$vg. s eed-u 6PUs ' @ E z

1.8

2.05

*ore rocessors than states and still scalingD

&'am le: Parallel scaling

"ullerene 6H?

Parallel scaling

from 7eeks to hours


$vg. 1.85

+ummary and future


T!!"T e'tends !"T to e'cited states Time ro agation T!!"T in #P$%


$ll-electron T!!"T on grid (asis Linear and nonlinear henomena 0ery good arallel scaling <etter ro agators )onstationary nuclei $ lications. a lications. and a lications...
1)anotu(es. transition metal clusters. organometallic dyes2

Plans for future


Outline for Part II: Practice

#round state for T!!"T Hands-on e'am le: )a s ectrum


@

#round state scri t T!!"T scri t 5un scri t in *urska Python scri t Parallel-over-states run scri t

&'am le: 6H?


&'am le: Laser ulse

#round state for T!!"T


>2 O timi8e your ground state as usual @2 6alculate ground state 7ith
>2 Larger grid s acing. e.g.. h E ?.IJ @2 Larger (o'. e.g.. vacuum E H.? I2 6hoose M of (ands suita(le for arallel run B2 *ay(e L!$. instead of ##$

I2 5e eat 7ith (etter arameters.


e.g.. h E ?.I. vacuum E C.?

B2 6heck eigenvalues
1and the first fe7 unoccu ied states2

Hands-on e'am le: )a

#round-state
from gpaw import * from ase import * d = 1.5 atoms = Atoms( symbols='Na2', positions=[(0,0,d ,(0,0,!d ", pb#=$alse % &arge bo' needed atoms.#enter((a#))m=*.0 % No )no##. bands needed, large + and &,A is ogs.#al# = /al#)lator(nbands = 1, + = 0.05, '# = '&,A' atoms.set.#al#)lator(gs.#al# e = atoms.get.potential.energy( gs.#al#.write('na2.gs.gpw', 'all'

LetNs continue 7ithout checking eigenvalues etc. to save time

Hands-on e'am le: )a

$(sor tion s ectrum


from gpaw import * from ase import * from gpaw.tddft import * % 1,,$1 time.step = 1*.0 % attose#s (22.133 as = 1 a)time iterations = 1000 % 1*as ' 1000 = 1* fs -i#- = [0.0,0.0,1e!0" % -i#- to 4!dire#tion td.#al# = 1,,$1('na2.gs.gpw' td.#al#.absorption.-i#-(-i#td.#al#.propagate( time.step, iterations, 'na2.dm4.dat', 'na2.td.gpw' p+otoabsorption.spe#tr)m( 'na2.dm4.dat', 'na2.spe#tr)m.4.dat', widt+=0.0

5e eat to O-direction 1P E O2 Total s ectrum E 1@O Q R24I

Hands-on e'am le: )a

5un scri t
%56bin6bas+ % 2 /78s, 1+, parallel 9)e)e, ... %:;8: !n 2 %:;8: !< 1=00 %:;8: !9 parallel %:;8: !> na2.td4.1*as.*.0.0.05 %:;8: !o na2.td4.1*as.*.0.0.05.o)t.?> %:;8: !e na2.td4.1*as.*.0.0.05.err.?> % set t+e en(ironment (ariable 7@1ABN7A1A % e.g. CD7A<.,EFG=6wr-6lla)ri6D7A< e'port 7@1ABN7A1A=CA;H.,EFG=CD7A<.,EFG mpir)n !sr)n CD7A<.7@1ABNG na2.td4.py

"irst: module load g a7 Then: (su( S run.sh

&'am le: 6
from gpaw import * from ase import * from gpaw.tddft import * atoms = read('#*0.'y4' atoms.#enter((a#))m=3.0

H?

gs.#al# = /al#)lator(nbands = 120, + = 0.25 atoms.set.#al#)lator(gs.#al# e = atoms.get.potential.energy( gs.#al#.write('#*0.gs.gpw', 'all' time.step = 3.0 % attose#s (22.133 as = 1 a)time iterations = 2500 % 3as ' 2500 = 20 fs td.#al# = 1,,$1('#*0.gs.gpw' td.#al#.absorption.-i#-(-i#td.#al#.propagate( time.step, iterations, '#*0.dm4.dat', '#*0.td.gpw' p+otoabsorption.spe#tr)m( '#*0.dm4.dat', '#*0.spe#tr)m.4.dat'

&'am le: 6

H?

!ivide states to >@ rocessors 1>? each2


%56bin6bas+ % I* /78s, 100+, long.r)n 9)e)e, ... %:;8: !n I* %:;8: !< 100=00 %:;8: !9 long.r)n %:;8: !> #*0.td4.3as.3.0.0.25 %:;8: !o #*0.td4.3as.3.0.0.25.o)t.?> %:;8: !e #*0.td4.3as.3.0.0.25.err.?> % set t+e en(ironment (ariable 7@1ABN7A1A % e.g. CD7A<.,EFG=6wr-6lla)ri6D7A< e'port 7@1ABN7A1A=CA;H.,EFG=CD7A<.,EFG mpir)n !sr)n CD7A<.7@1ABNG #*0.td4.py J !!state!paralleli4ation=12

&'am le: Laser ulse

)eeds a little (it of coding


... import mat+ #lass ,ipole;ine$ield= def ..init..(self, strengt+, fre9)en#y = self.str = strengt+ self.fre9 = fre9)en#y % Fet)rns t+e field strengt+ (to 4!dire#tion % in atomi# )nits at t+e gi(en time def strengt+(self, time = ret)rn self.str * mat+.sin(2 * mat+.pi * self.fre9 * time ... field = ,ipole;ine$ield(0.01, 0.05 td.#al# = 1,,$1(..., td.potential = field ...

&' erimentalD

+ummary

Use larger (o' and grid ste

<egin 7ith too small (o'. too large s acing. and too large time ste

Paralleli8e over states 1T>? states46PU2 5e eat for each direction 1'.y.82
... from gpaw.tddft import * ... atoms.#enter((a#))m=3.0 gs.#al# = /al#)lator(..., +=0.0,... gs.#al#.write('gro)nd.state.gpw', 'all' ... td.#al# = 1,,$1('gro)nd.state.gpw' td.#al#.absorption.-i#-(-i#td.#al#.propagate( time.step, iterations, 'dm.dat', 'td.restart.gpw' p+otoabsorption.spe#tr)m('dm.dat', 'spe#r)m.dat' +ee wiki.fysik.dtu.dk/gpaw/Time_Propagation for more infoD

Potrebbero piacerti anche