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')

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