pyLaserPulse.catalogue_components.fibre_components

Created on Tue Jun 20 09:23:08 2023

@author: james feehan

Module of classes for branded fibre-coupled components.

Classes

AFR_fast_axis_blocking_isolator_PMI_03_1_P_N_B_F(...)

AFR low-power (50 mW average power max) fast-axis blocking isolator.

Aerodiode_fiber_coupled_100MHz_AOM_1064(...)

Aerodiode AOM, reference 1064AOM-1.

Aerodiode_fiber_coupled_200MHz_AOM_1064(...)

Aerodiode AOM, reference 1064AOM-2.

DKPhotonics_P_WDM_iso_tap_980_1550(grid, ...)

DK Photonics polarization maintaining WDM isolating tap coupler for 980/1528-1565.

Gooch_and_Housego_FiberQ_PM_1060_200MHz(...)

Gooch & Housego Fiber-Q PM 1060 nm 200 MHz fiber-coupled AOM.

JDSU_fused_976_1030_WDM(grid, length_in, ...)

Fused fibre-coupled WDM with measured loss from a JDSU(?) component.

Opneti_1x2_PM_95_5_filter_coupler_500mW_fast_axis_blocked(...)

Opneti 1x2 PM filter coupler.

Opneti_1x2_PM_filter_coupler_500mW(grid, ...)

Opneti 1x2 PM filter coupler.

Opneti_PM_isolator_WDM_hybrid(grid, ...[, ...])

Opneti PMIWDM-S-XXXXT/XXXXR-F/B-F-250-5-0.8-NE-2W Fibre pigtails are PM980-XP.

Opneti_fast_axis_blocking_isolator_PMIS_S_P_1030(...)

Opneti low-power (50 mW average power max) fast-axis blocking isolator.

Opneti_high_power_PM_isolator(grid, ...[, ...])

Opneti high-power isolator (e.g., 1, 2, 5, 10, 20 W) with PM980 pigtails.

Opneti_high_power_filter_WDM_1020_1080(grid, ...)

Opneti high-power filter-based WDM with a transmission window of 1060 +/- 40 nm.

Thorlabs_IO_J_1030(grid, length_in, length_out)

Thorlabs PM optical isolator with peak isolation and transmission at 1030 nm.

class pyLaserPulse.catalogue_components.fibre_components.JDSU_fused_976_1030_WDM(grid, length_in, length_out, beat_length, verbose=False)

Fused fibre-coupled WDM with measured loss from a JDSU(?) component.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Length of the input fibre in m.

  • length_out (float) – Length of the output fibre in m.

  • beat_length (float) – Polarization beat length in m.

  • verbose (bool) – Print information to terminal if True

Notes

The component transmission spectrum formed part of the data set for:

J. Feehan, et al., “Simulations and experiments showing the origin of multiwavelength mode locking in femtosecond, Yb-fiber lasers”, JOSA B 33(8), pp 1668-1676 (2016)

Experimental work that led to this publication, including the measured loss profile used here, was carried out in lab 4103 of building 46, University of Southampton, circa 2014 (D. Richardson’s group, J. Price’s lab, optoelectronics research centre).

Measured loss data file is component_loss_profiles/976_1030_fused_WDM.txt Pigtails assumed to be HI1060.

__init__(grid, length_in, length_out, beat_length, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Thorlabs_IO_J_1030(grid, length_in, length_out, verbose=False)

Thorlabs PM optical isolator with peak isolation and transmission at 1030 nm. The fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m.

  • length_out (float) – Output fibre length in m.

  • verbose (bool) – Print information to terminal if True

Notes

Transmission spectrum digitized from Thorlabs data sheet for this component. Loss data was only available between 1010 nm and 1050 nm, so the loss profile beyond this region will be extrapolated linearly.

Max operating power of 3 W.

__init__(grid, length_in, length_out, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_1x2_PM_filter_coupler_500mW(grid, length_in, length_out, lambda_c, split_fraction, output_coupler=True, verbose=False)

Opneti 1x2 PM filter coupler. 500 mW max average power handling. PMFC-type. Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • split_fraction (float) – Ratio of the beam splitting as a fraction. E.g., if 1% is tapped from the beam, split_fraction = 0.99, if 5% is tapped from the beam, split_fraction = 0.95, etc.

  • output_coupler (bool) – If True, this component behaves like an output coupler or tap.

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, split_fraction, output_coupler=True, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_1x2_PM_95_5_filter_coupler_500mW_fast_axis_blocked(grid, length_in, length_out, lambda_c, output_coupler=True, verbose=False)

Opneti 1x2 PM filter coupler. 500 mW max average power handling. Splitting ratio is nominally 95/5, measured unit has 94.45/5.55 PMFC-type. Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • split_fraction (float) – Ratio of the beam splitting as a fraction. E.g., if 1% is tapped from the beam, split_fraction = 0.99, if 5% is tapped from the beam, split_fraction = 0.95, etc.

  • output_coupler (bool) – If True, this component behaves like an output coupler or tap.

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, output_coupler=True, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_PM_isolator_WDM_hybrid(grid, length_in, length_out, lambda_c, verbose=False)

Opneti PMIWDM-S-XXXXT/XXXXR-F/B-F-250-5-0.8-NE-2W Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_high_power_PM_isolator(grid, length_in, length_out, lambda_c, verbose=False)

Opneti high-power isolator (e.g., 1, 2, 5, 10, 20 W) with PM980 pigtails. Fast-axis blocking. Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_high_power_filter_WDM_1020_1080(grid, length_in, length_out, verbose=False)

Opneti high-power filter-based WDM with a transmission window of 1060 +/- 40 nm. Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.AFR_fast_axis_blocking_isolator_PMI_03_1_P_N_B_F(grid, length_in, length_out, lambda_c, verbose=False)

AFR low-power (50 mW average power max) fast-axis blocking isolator. Single stage. Fibre pigtails are PM980-XP.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Opneti_fast_axis_blocking_isolator_PMIS_S_P_1030(grid, length_in, length_out, lambda_c, verbose=False)

Opneti low-power (50 mW average power max) fast-axis blocking isolator. Single stage. Fibre pigtails are PM980-XP

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • lambda_c (float) – Central operating wavelength in m

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, lambda_c, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Gooch_and_Housego_FiberQ_PM_1060_200MHz(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)

Gooch & Housego Fiber-Q PM 1060 nm 200 MHz fiber-coupled AOM.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through Cannot be less than 20 ns (specified rise time of 10 ns).

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker.

__init__(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through See Notes below.

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker. See Notes below.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker. See Notes below.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Aerodiode_fiber_coupled_100MHz_AOM_1064(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)

Aerodiode AOM, reference 1064AOM-1.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through Cannot be less than 90 ns (specified rise time of 45 ns).

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker.

__init__(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through See Notes below.

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker. See Notes below.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker. See Notes below.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.Aerodiode_fiber_coupled_200MHz_AOM_1064(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)

Aerodiode AOM, reference 1064AOM-2.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through Cannot be less than 20 ns (specified rise time of 10 ns).

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker.

__init__(grid, length_in, length_out, time_open, rate_reduction_factor, input_rep_rate)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • time_open (float) – Time in s that the pulse picker is ‘open’, i.e., lets light through See Notes below.

  • rate_reduction_factor (int) – Ratio of the input and output repetition rates of the pulse picker. See Notes below.

  • input_rep_rate (float) – Repetition rate of the seed laser before the pulse picker. See Notes below.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (boolean) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True

class pyLaserPulse.catalogue_components.fibre_components.DKPhotonics_P_WDM_iso_tap_980_1550(grid, length_in, length_out, split_fraction, output_coupler=True, verbose=False)

DK Photonics polarization maintaining WDM isolating tap coupler for 980/1528-1565.

Parameters:
  • grid (pyLaserPulse.grid.grid object)

  • length_in (float) – Input fibre length in m

  • length_out (float) – Output fibre length in m

  • split_fraction (float) – Ratio of the beam splitting as a fraction. E.g., if 1% is tapped from the beam, split_fraction = 0.99, if 5% is tapped from the beam, split_fraction = 0.95, etc.

  • split_fraction – Tap fraction. output_coupler = True must be set.

  • output_coupler (bool) – If True, this component behaves like an output coupler or tap.

  • verbose (bool) – Print information to terminal if True

__init__(grid, length_in, length_out, split_fraction, output_coupler=True, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • input_fibre (optical fibre object) – Dfined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • output_fibre (optical fibre object) – Defined using, for example: pyLaserPulse.base_components.step_index_passive_fibre pyLaserPulse.base_components.photonic_crystal_passive_fibre pyLaserPulse.base_components.step_index_active_fibre pyLaserPulse.base_components.photonic_crystal_active_fibre etc.

  • loss (float) – Insertion loss at the signal wavelength.

  • transmission_bandwidth (float) – Transmission bandwidth. Can also be interpreted as reflection bandwidth for reflective optics.

  • lambda_c (float) – Central wavelength of transmission window.

  • epsilon (complex) –

    Defines type of component (polarizer or retarder). Defined for field. For example:

    epsilon = 0 + 1j for a quarter wave plate, epsilon = -1 for a half wave plate, epsilon = 0.1 for 20 dB polarization extinction.

  • theta (float) – Angle subtended by component optical axis and x-axis.

  • beamsplitting (float) – Intensity fraction remaining in pulse.field if output coupler and coupler_type=”beamsplitter”

  • crosstalk (float) – Polarization degradation caused by the component.

  • order (int) – Steepness of the super-Gaussian transmission window edges.

  • output_coupler (bool) – If True, the component is an output coupler and some of the main beam (pulse.field) is tapped off.

  • coupler_type (string) – “polarization” or “beamsplitter”. If the former, Jones matrix for polarization-based output coupler is used. If the latter, Jones matrix for polarization-independent beam splitting is used for the output coupler.

  • beta_list (list) – None by default. Contains Taylor coefficients [beta_2, beta_3, …, beta_n] which define the dispersion profile of the component.

  • gdm (float) – Polarization group delay mismatch. Units: s. Delay accumulated between polarization components after propagating through the component. If gdm > 0, x is the slow axis.

  • verbose (bool) – Print information to terminal if True