pyLaserPulse.catalogue_components.passive_fibres

Created on Tue Jun 20 09:14:08 2023

@author: james feehan

Module of classes for branded passive optical fibre.

Classes

Corning_HI1060(grid, length, beat_length, tol)

step_index_passive_fibre with default parameters which provide fibre properties matching Corning HI1060 specifications.

Corning_HI1060_FLEX(grid, length, ...[, n2, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching Corning HI1060 FLEX specifications.

NKT_DC_200_40_PZ_SI(grid, length, tol[, n2, ...])

photonic_crystal_active_fibre with default parameters which provide fibre properties approximating those of NKT DC-200/40-PZ-SI.

NKT_NL_1050_NEG_1(grid, length, tol, beat_length)

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT NL-1050-NEG-1 (discontinued).

NKT_SC_5_1040(grid, length, beat_length, tol)

photonic_crystal_passive_fibre with default parameters whcih provide fibre properties matching NKT SC-5.0-1040.

NKT_SC_5_1040_PM(grid, length, tol[, n2, ...])

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT SC-5.0-1040-PM.

NKT_femtowhite_800(grid, length, tol, ...[, ...])

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT femtoWHITE 800.

Nufern_FUD4258_UHNA(grid, length, ...[, n2, ...])

Step-index ultra-high NA passive fibre based on Nufern's FUD-4258 specifications.

Nufern_PLMA_GDF_10_125(grid, length, tol[, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PLMA GDF 10/125.

Nufern_PLMA_GDF_10_125_M(grid, length, tol)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PLMA-GDF-10/125-M.

Nufern_PLMA_GDF_25_250(grid, length, tol[, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-GDF-25/250-VIII.

Nufern_PM_GDF_5_130(grid, length, tol[, n2, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PM GDF 5/130.

Nufern_SM2000D(grid, length, beat_length, tol)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern SM2000D dispersion-shifted SMF.

OFS_80414p2(grid, length, tol[, n2, verbose])

step_index_passive_fibre with default parameters which provide fibre properties matching OFS 80414p2 highly-nonlinear PM fibre.

OFS_980(grid, length, beat_length, tol[, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching OFS-980 specifications.

PM1550_XP(grid, length, tol[, n2, verbose])

step_index_passive_fibre with default parameters which provide fibre properties matching PM1550_XP as listed on the Thorlabs website.

PM980_XP(grid, length, tol[, n2, verbose])

step_index_passive_fibre with default parameters which provide fibre properties matching PM980_XP as listed on the Thorlabs website.

SMF_28(grid, length, beat_length, tol[, n2, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching SMF-28 specifications.

SMF_28e(grid, length, beat_length, tol[, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching SMF-28e specifications.

SMF_780HP(grid, length, beat_length, tol[, ...])

step_index_passive_fibre with default parameters which provide fibre properties matching 780 HP as listed on the Thorlabs website.

class pyLaserPulse.catalogue_components.passive_fibres.Corning_HI1060(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Corning HI1060 specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Corning_HI1060_FLEX(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Corning HI1060 FLEX specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

Notes

NA = 0.19096 used instead of specified 0.21. 0.19096 gives better match to other specified (and more important) parameters, such as the MFD.

__init__(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.SMF_28(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching SMF-28 specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

__init__(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.SMF_28e(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching SMF-28e specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

Notes

NA = 0.1209533 chosen over specified value of 0.14 because this gives a better match to other (more important) specified values, such as the MFD.

__init__(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.OFS_980(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching OFS-980 specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

__init__(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_SM2000D(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern SM2000D dispersion-shifted SMF.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

Notes

Dispersion and MFD match the specfication sheet at 2 um, but only the MFD matches the specifications at 1550 nm. The dispersion at 1550 nm is -95.5 ps/(nm km) for this model, but specified to be -50 ps/(nm km).

__init__(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_FUD4258_UHNA(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)

Step-index ultra-high NA passive fibre based on Nufern’s FUD-4258 specifications.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

__init__(grid, length, beat_length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_PLMA_GDF_10_125(grid, length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PLMA GDF 10/125. This fibre is matched to Nufern PLMA YSF 10/125 (Nufern_PLMA_YSF_10_125).

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_PLMA_GDF_10_125_M(grid, length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PLMA-GDF-10/125-M. This fibre is matched to Nufern PLMA-YDF-10/125-M (Nufern_PLMA_YDF_10_125_M).

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_PLMA_GDF_25_250(grid, length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-GDF-25/250-VIII.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.SMF_780HP(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching 780 HP as listed on the Thorlabs website.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.PM980_XP(grid, length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching PM980_XP as listed on the Thorlabs website.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.PM1550_XP(grid, length, tol, n2=2.33e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching PM1550_XP as listed on the Thorlabs website.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.33e-20 m^2/W, which is the value for fused silica around 1550 nm.

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

__init__(grid, length, tol, n2=2.33e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.Nufern_PM_GDF_5_130(grid, length, tol, n2=2.19e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching Nufern PM GDF 5/130.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.OFS_80414p2(grid, length, tol, n2=3.4e-20, verbose=False)

step_index_passive_fibre with default parameters which provide fibre properties matching OFS 80414p2 highly-nonlinear PM fibre. D ~ 2ps/(nm km) at 1550 nm.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W.

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

Notes

Using a step-index model for this fibre is likely to be inappropriate. The core diameter, NA, and n2 were chosen for the best match to the specified values for the effective mode area, dispersion at 1550 nm, and the nonlinear coefficient, and most likely are not representative (or even sensible) values for this fibre type.

The specified values are: effective area: 12.5 square microns D(1550 nm): 2 ps/(nm km) nonlinear coefficient: 10.7 1/(W km)

The model values are: effective area: 12.73 square microns D(1550 nm): 2.37 ps/(nm km) nonlinear coefficient: 10.83 1/(W km)

__init__(grid, length, tol, n2=3.4e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • core_diam (float) – Core diameter in m

  • NA (float) – Numerical aperture

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

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

class pyLaserPulse.catalogue_components.passive_fibres.NKT_SC_5_1040(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)

photonic_crystal_passive_fibre with default parameters whcih provide fibre properties matching NKT SC-5.0-1040.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

Notes

Non-PM, ~0.01 – 0.011 1 / (W m) nonlinear coefficient, ZDW ~1040 nm.

__init__(grid, length, beat_length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • hole_pitch (float) – Separation of neighbouring air holes in the hexagonal-lattice PCF structure.

  • hole_diam_over_pitch (float) – Ratio of the air hole diameter to the hole pitch.

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

  • core_diam (Nonetype or float) – Diameter of the signal core in metres. If None, the standard value is used for hexagonal-lattice PCF, where the core is made up of a single missing air hole.

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

class pyLaserPulse.catalogue_components.passive_fibres.NKT_SC_5_1040_PM(grid, length, tol, n2=2.19e-20, verbose=False)

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT SC-5.0-1040-PM.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

Notes

PM, ~0.01 – 0.011 1 / (W m) nonlinear coefficient, ZDW ~1040 nm.

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • hole_pitch (float) – Separation of neighbouring air holes in the hexagonal-lattice PCF structure.

  • hole_diam_over_pitch (float) – Ratio of the air hole diameter to the hole pitch.

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

  • core_diam (Nonetype or float) – Diameter of the signal core in metres. If None, the standard value is used for hexagonal-lattice PCF, where the core is made up of a single missing air hole.

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

class pyLaserPulse.catalogue_components.passive_fibres.NKT_NL_1050_NEG_1(grid, length, tol, beat_length, n2=2.19e-20, verbose=False)

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT NL-1050-NEG-1 (discontinued).

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

Notes

~19 1 / (W km) nonlinear coefficient, all-normal dispersion for pumping around 1 um. This nonlinear coefficient does not match the value specified by NKT, but the dispersion is a good match to experimental measurements taken from a length of this fibre (see A. Heidt, J. S. Feehan, et al., “Limits of coherent supercontinuum generation in normal dispersion fibres”, J. Opt. Soc. Am. B 34(4), pp 764-775 (2017).

__init__(grid, length, tol, beat_length, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • hole_pitch (float) – Separation of neighbouring air holes in the hexagonal-lattice PCF structure.

  • hole_diam_over_pitch (float) – Ratio of the air hole diameter to the hole pitch.

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

  • core_diam (Nonetype or float) – Diameter of the signal core in metres. If None, the standard value is used for hexagonal-lattice PCF, where the core is made up of a single missing air hole.

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

class pyLaserPulse.catalogue_components.passive_fibres.NKT_femtowhite_800(grid, length, tol, beat_length, n2=2.3e-20, verbose=False)

photonic_crystal_passive_fibre with default parameters which provide fibre properties matching NKT femtoWHITE 800.

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

  • length (float) – Fibre length.

  • beat_length (float) – Polarization beat length in m

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.3e-20 m^2/W. Lower than common values for fused silica at 800 nm, but matches the specified nonlinear parameter.

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

Notes

The hole pitch (1.339e-6 m) and ratio of the hole diameter with respect to the pitch (0.635) were found using the Nelder Mead algorithm to minimize the difference between the calculated dispersion profile and that shown on the femtoWHITE 800 specification sheet. These values give a good match between 600 nm to 1000 nm and accurately reproduce the first ZDW wavelength of ~750 nm, but DO NOT reproduce the second ZDW wavelength of ~1260 nm that is specified on the data sheet but not shown in the dispersion plot given by NKT.

__init__(grid, length, tol, beat_length, n2=2.3e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • hole_pitch (float) – Separation of neighbouring air holes in the hexagonal-lattice PCF structure.

  • hole_diam_over_pitch (float) – Ratio of the air hole diameter to the hole pitch.

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

  • core_diam (Nonetype or float) – Diameter of the signal core in metres. If None, the standard value is used for hexagonal-lattice PCF, where the core is made up of a single missing air hole.

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

class pyLaserPulse.catalogue_components.passive_fibres.NKT_DC_200_40_PZ_SI(grid, length, tol, n2=2.19e-20, verbose=False)

photonic_crystal_active_fibre with default parameters which provide fibre properties approximating those of NKT DC-200/40-PZ-SI.

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

  • length (float) – Fibre length.

  • tol (float) – Tolerance for propagation integration error

  • n2 (float) – Nonlinear index in m^2 / W. Default value is 2.19e-20 m^2/W, which is the value for fused silica around 1060 nm.

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

Notes

This fibre model is approximate only, and is not expected to produce highly accurate results.

__init__(grid, length, tol, n2=2.19e-20, verbose=False)
Parameters:
  • g (pyLaserPulse.grid.grid object)

  • length (float) – Fibre length in m

  • loss_file (string) – Absolute path to the fibre loss as a function of wavelength. See pyLaserPulse.data.paths.materials.loss_spectra

  • Raman_file (string) – Absolute path to the Raman response as a function of time. See pyLaserPulse.data.paths.materials.Raman_profiles

  • hole_pitch (float) – Separation of neighbouring air holes in the hexagonal-lattice PCF structure.

  • hole_diam_over_pitch (float) – Ratio of the air hole diameter to the hole pitch.

  • beat_length (float) – Polarization beat length in m

  • n2 (float) – Nonlinear index in m^2 / W

  • fR (float) – Fractional Raman contribution to the fibre nonlinear response (e.g., fR = 0.18 for silica)

  • tol (float) – Maximum propagation error used to adjust the proapgation step size

  • Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.

  • core_diam (Nonetype or float) – Diameter of the signal core in metres. If None, the standard value is used for hexagonal-lattice PCF, where the core is made up of a single missing air hole.

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