rhodent

rhodent allows one to analyze hot-carrier distributions based on input from real-time time-dependent density functional theory simulations.

After performing a real-time TDDFT calculation using GPAW, the following snippet uses rhodent to post-process the output. The response to a different perturbation is calculated, and a time evolution of energies in the system is computed:

from rhodent.response import ResponseFromWaveFunctions
from rhodent.calculators import EnergyCalculator

response = ResponseFromWaveFunctions(wfs_fname='wfs.ulm', ksd='ksd.ulm',
                                     perturbation={'name': 'deltakick', 'strength': 1e-5})

pulse = {'name': 'GaussianPulse', 'strength': 1e-6,
         'frequency': 3.8, 'time0': 10e3, 'sigma': 0.3}

calc = EnergyCalculator(response=response,
                        times=np.linspace(0, 30e3, 301),
                        pulses=[pulse])
calc.calculate_and_write('energy.npz')

It is equally easy to compute induced densities at selected times:

from rhodent.calculators import DensityCalculator

calc = DensityCalculator(gpw_file='gs_unocc.gpw',
                         response=response,
                         pulses=[pulse],
                         times=[11.6e3, 12.1e3, 30e3])
calc.calculate_and_write('density_t{time:09.1f}.cube')
Energy contributions in plasmonic particle

Time evolution of energy stored in the external field and electronic system, with insets of induced density at selected points in time.

Backmatter