pyLaserPulse.pump

Created on Sun Dec 20 22:28:09 2020

@author: james feehan

Class for pump light

Classes

pump(bandwidth, lambda_c, energy[, points, ...])

Class for pump light.

class pyLaserPulse.pump.pump(bandwidth, lambda_c, energy, points=32, lambda_lims=None, ASE_scaling=None, direction='co')

Class for pump light.

__init__(bandwidth, lambda_c, energy, points=32, lambda_lims=None, ASE_scaling=None, direction='co')
Parameters:
  • bandwidth (float) – Spectral width of the pump light in m

  • lambda_c (float) – Central wavelength of the pump light in m

  • energy (float) – Optical energy of the pump light. This is usually defined as the pump power divided by the repetition rate of the seed laser pulses being amplified.

  • points (int) – Power of 2 (default is 2**5).

  • lambda_lims (list) – [Lower, Upper] limits of the wavelength grid (in m). Defaults to None, which should be used if full ASE simulation is not required (co-pumping only).

  • ASE_scaling (float) – Scale the ASE contribution in the Giles model by 1 - pulse_time_window * repetition_rate. This ensures correct scaling of the ASE power ‘emitted’ outside of the pulse temporal window. The pulse class has as scaling factor of pulse_time_window * repetition_rate).

  • direction (str) – ‘co’ or ‘counter’ for co-propagating and counter-propagating geometries, respectively.

get_ESD_and_PSD(spectrum, repetition_rate)

Calculate the energy spectral density and the power spectral density of the pump light.

Parameters:
  • spectrum (numpy array) – The spectrum to convert to ESD or PSD

  • repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.repetition_rate

Returns:

  • numpy array – spectrum converted to energy spectral density in J / m

  • numpy array – spectrum converted to power spectral density in mW / nm