maxwelllink.tools.tddft_spectrum module

Tools for spectral post-processing of RT- and LR-TDDFT simulations.

maxwelllink.tools.tddft_spectrum.lr_tddft_spectrum(energy_au, e_osc, e_cutoff_ev=30.0, linewidth=1e-2, w_step=1e-5)[source]

Construct an LR-TDDFT spectrum using Lorentzian broadening.

Parameters:
  • energy_au (numpy.ndarray) – Excitation energies in atomic units.

  • e_osc (numpy.ndarray) – Oscillator strengths corresponding to energy_au.

  • e_cutoff_ev (float, default: 30.0) – Upper bound of the returned frequency grid in electron volts.

  • linewidth (float, default: 1e-2) – Lorentzian full width at half maximum in electron volts.

  • w_step (float, default: 1e-5) – Energy grid spacing in electron volts.

Returns:

  • numpy.ndarray – Frequency grid in electron volts.

  • numpy.ndarray – Lorentzian-broadened spectrum.

maxwelllink.tools.tddft_spectrum.rt_tddft_spectrum(mu, dt_au, sp_form='absorption', e_start_ev=0.5, e_cutoff_ev=30.0, sigma=1e5, w_step=1e-5)[source]

Compute an RT-TDDFT spectrum via Pade-approximant Fourier transform.

Parameters:
  • mu (numpy.ndarray) – Time-dependent dipole moment in atomic units.

  • dt_au (float) – Time step in atomic units.

  • sp_form ({'absorption', 'absolute'}, default: 'absorption') – Spectrum representation. 'absorption' returns -omega * Im(mu_tilde(omega)); 'absolute' returns abs(mu_tilde(omega)).

  • e_start_ev (float, default: 0.5) – Lower energy cutoff in electron volts.

  • e_cutoff_ev (float, default: 30.0) – Upper energy cutoff in electron volts.

  • sigma (float, default: 1e5) – Damping factor passed to _pade().

  • w_step (float, default: 1e-5) – Frequency grid spacing in atomic units used by _pade().

Returns:

  • numpy.ndarray – Frequency grid in electron volts.

  • numpy.ndarray – Spectrum on the selected grid with units determined by sp_form.

  • numpy.ndarray – Time grid in femtoseconds.

  • numpy.ndarray – Dipole moment trajectory (identical to the input mu).