perturbopy.postproc.utils.spectra_generate_pulse.setup_pump_pulse
- perturbopy.postproc.utils.spectra_generate_pulse.setup_pump_pulse(elec_pump_pulse_path, hole_pump_pulse_path, elec_dyna_run, hole_dyna_run, pump_energy, pump_time_step=1.0, pump_fwhm=20.0, pump_energy_broadening=0.04, pump_time_window=50.0, finite_width=True, animate=True)
Setup the Gaussian pump pulse excitation for electrons and holes. Write into the pump_pulse.h5 HDF5 file. We use raw k-point and energy arrays as read from the HDF5 files for efficiency. All energies in eV, k points in crystal coordinates.
- Parameters:
elec_pump_pulse_path (str) – Path to the HDF5 file for the pump pulse excitation for electrons.
hole_pump_pulse_path (str) – Path to the HDF5 file for the pump pulse excitation for holes.
elec_dyna_run (DynamicsRunCalcMode) – The DynaRun object for electrons from the HDF5 and YAML files. It is expected that the dyanmics was run only for one step, and only dynamics_run_1 group exists in prefix_cdyna.h5 and ZERO electron occupation is setup.
hole_dyna_run (DynamicsRunCalcMode) – The DynaRun object for holes from the HDF5 and YAML files. See elec_dyna_run.
pump_energy (float) – The energy of the pump pulse (eV)
pump_time_step (float, optional) – Time step in fs for the pump pulse generation. Note: the pump_time_step MUST match the one used in the dynamics run in Perturbo!
pump_fwhm (float, optional) – The full width at half maximum of the pump pulse (fs).
pump_energy_broadening (float, optional) – Energy broadening of the pump pulse (eV).
pump_time_window (float, optional) – The time window for the pump pulse (fs). During this time window, the pump pulse will be active. The number of the snapshots in the pump_pulse.h5 file will be equal to pump_time_window / pump_time_step.
finite_width (bool, optional) – If True, the pulse is finite in time. If False, the pulse is a step function and occs_amplitude will be set as initial occupation.