pyLaserPulse.catalogue_components.active_fibres¶
Created on Tue Jun 20 09:16:08 2023
@author: james feehan
Module of classes for branded active optical fibre.
Classes
|
step_index_active_fibre with default parameters which provide fibre properties matching CorActive SCF-YB550-4/125-19. |
|
photonic_crystal_active_fibre with default parameters which provide fibre properties approximating those of NKT DC-200/40-PZ-YB. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern EDFC-980-HP. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern FUD-4288 LMA-YDF-48/400E. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-YDF-30/400-VIII. |
|
step_index_active_fibre with default parameters which provide fibre |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-YDF-25/250-VIII. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PM-YDF-5/130-VIII. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA YSF 10/125. |
|
step_index_active_fibre with default parameters which provide fibre properties matching OFS R37003 EDF. |
|
step_index_active_fibre with default parameters which provide fibre properties approximating the ORC's HD406 Yb-doped fibre specifications. |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Thorlabs/Liekki M-5(980/125). |
|
step_index_active_fibre with default parameters which provide fibre properties matching those of Liekki Yb1200-6/125DC. |
|
step_index_active_fibre with default parameters which provide fibre properties matching nLight (Liekki) Yb1200-4/125 specifications. |
- class pyLaserPulse.catalogue_components.active_fibres.nLight_Yb1200_4_125(grid, length, beat_length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching nLight (Liekki) Yb1200-4/125 specifications.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.ORC_HD406_YDF(grid, length, beat_length, doping_concentration, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties approximating the ORC’s HD406 Yb-doped fibre specifications. No concrete data on this fibre is available to me, so I have matched the core diameter and index step to Corning HI1060.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
doping_concentration (float) – Ion number density in m^-3.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, doping_concentration, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.CorActive_SCF_YB550_4_125_19(grid, length, beat_length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching CorActive SCF-YB550-4/125-19.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.OFS_R37003(grid, length, beat_length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching OFS R37003 EDF.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.OFS_EDF07_PM(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching OFS EDF07 PM.
Low doping concentration Er-doped fibre (spec. ~7 dB/m @ 1530 nm).
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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
Dispersion values are NOT calculated from the fibre structure. Instead, Taylor coefficients derived from measured dispersion data are used with the override_dispersion_using_Taylor_coefficients method.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.OFS_EDF08_PM(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching an OFS fibre with part number EDF08-PM that has been reported in a few articles that I have read, but that I have not been able to find in the OFS catalogue (James Feehan <pylaserpulse@hotmail.com>).
Low doping concentration Er-doped fibre (borrow the EDF07-PM spec. ~7 dB/m @ 1530 nm).
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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
Dispersion values are NOT calculated from the fibre structure. Instead, Taylor coefficients derived from measured dispersion data are used with the override_dispersion_using_Taylor_coefficients method.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.nLight_Er80_4_125_HD_PM(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching nLight Er80-4/125-HD-PM.
High doping concentration Er-doped fibre (spec. 80+/-20 dB/m @ 1530 nm).
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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
Core diameter and NA were selected to match the specified dispersion value and MFD at 1550 nm. These are -22 ps/(nm km) and 6.5 +/- 1 um, respectively. The values given by the choice of core diameter and NA below are -19.4 ps/(nm km) and 5.6 um, respectively.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Thorlabs_Liekki_M5_980_125(grid, length, beat_length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Thorlabs/Liekki M-5(980/125).
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.NKT_DC_200_40_PZ_YB(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=True, 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-YB.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_ponts (int) – Number of points in the pump light grid
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
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.
This fibre can be used for cladding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=True, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string) – Absolute path to the Sellmeier coefficients. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
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.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
verbose (bool) – Print information to terminal if True
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_EDFC_980_HP(grid, length, beat_length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.33e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern EDFC-980-HP.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
beat_length (float) – Polarization beat length in m
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_PLMA_YDF_10_125_M(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA GDF 10/125 M
grid : pyLaserPulse.grid.grid object length : float
Fibre length.
- seed_repetition_ratefloat
Repetition rate of the seed laser pulses
- pump_pointsint
Number of points in the pump light grid.
- ASE_wl_limslist
Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
- boundary_conditionsdict
Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
- time_domain_gainBoolean
Time domain gain included if True.
- n2float
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.
- verbosebool
Print information to terminal if True
- Notes
This fibre can be used for caldding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_PM_YDF_5_130_VIII(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PM-YDF-5/130-VIII.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
verbose (bool) – Print information to terminal if True
Notes
This fibre can be used for caldding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_PLMA_YDF_25_250(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-YDF-25/250-VIII.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
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 can be used for cladding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_PLMA_30_400(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA-YDF-30/400-VIII.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
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 can be used for cladding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_FUD_4288_LMA_YDF_48_400E(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern FUD-4288 LMA-YDF-48/400E.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
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 can be used for cladding or core pumping.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Nufern_PM_YSF_HI_HP(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Nufern PLMA YSF 10/125.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- class pyLaserPulse.catalogue_components.active_fibres.Thorlabs_Liekki_Yb1200_6_125_DC(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, n2=2.19e-20, verbose=False)¶
step_index_active_fibre with default parameters which provide fibre properties matching those of Liekki Yb1200-6/125DC.
- Parameters:
grid (pyLaserPulse.grid.grid object)
length (float) – Fibre length.
seed_repetition_rate (float) – Repetition rate of the seed laser pulses
pump_points (int) – Number of points in the pump light grid.
ASE_wl_lims (list) – Wavelength limits of the pump and ASE grid, [min_wl, max_wl] in m.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See pyLaserPulse.base_components.step_index_active_fibre
time_domain_gain (Boolean) – Time domain gain included if True.
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.
cladding_pumping (bool) – Pump light is propagated in the cladding if true.
verbose (bool) – Print information to terminal if True
Notes
This fibre can be used for caldding or core pumping.
The octagonal cladding geometry is not modelled, so cladding absorption is appriximate only.
- __init__(grid, length, seed_repetition_rate, pump_points, ASE_wl_lims, boundary_conditions, time_domain_gain=False, cladding_pumping=False, 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
doping_concentration (float) – Number density of the active ions in m^-3
cross_section_file (string) – Absolute path to the emission and absorption cross sections as a function of wavelength. See pyLaserPulse.data.paths.fibres.cross_sections.
seed_repetition_rate (float) – Repetition rate of the seed laser. See pyLaserPulse.pulse.pulse.repetition_rate
pump_points (int) – Number of points in the pump/ASE spectrum window.
ASE_wl_lims (list) – [min_wavelength, max_wavelength] for the pump/ASE wavelength window in m.
Sellmeier_file (string.) – Absolute path to file containing Sellmeier coefficients for the fibre material. See pyLaserPulse.data.paths.materials.Sellmeier_coefficients.
boundary_conditions (dict) – Set the boundary conditions for resolving the evolution of the pump, signal, and ASE light in both directions through the fibre. The type of simulation – i.e., single-pass or full boundary value solver – is determined by this dictionary. See the Notes section below for a full description of how this parameters is defined.
lifetime (float) – Upper-state lifetime of the rare-earth dopant in s.
cladding_pumping (dict.) –
Parameters required to define a cladding-pumped fibre. Leave empty if core pumping. Otherwise, the following keys are required:
- pump_core_diamfloat
Diameter of the pump cladding in m
- pump_delta_nfloat
Refractive index difference between the fibre coating and the pump cladding (usually n_silica - 1.375)
- pump_cladding_nfloat
Refractive index of the fibre coating (usually 1.375)
time_domain_gain (bool) – True if mixed-domain gain operator (i.e., both frequency- and time-domain gain) is to be used. If False, only frequency- domain gain is simulated.
Notes
- The boundary_conditions dictionary accepts the following keys:
- co_pump_powerfloat
Power of the co-propagating pump in W
- co_pump_wavelengthfloat
Central wavelength of the co-propagating pump in m
- co_pump_bandwidthfloat
Bandwidth of the co-propagating pump in m
- counter_pump_powerfloat
Power of the counter-propagating pump in W
- counter_pump_wavelengthfloat
Central wavelength of the counter-propagating pump in m
- counter_pump_bandwidthfloat
Bandwidth of the counter-propagating pump in m
If no counter-pump values are specified, then the propagation is completed in a single step and no effort is made to resolve counter-propagating signals (i.e., the boundary value problem is not solved). This allows for co-pumping only. Example:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9}
The boundary value problem is solved whenever dictionary key ‘counter_pump_power’ is present, but it is not necessary to specify the wavelength or bandwidth of either the co- or counter-propagating pump if the power is zero. Here are a few examples of valid boundary_conditions dictionaries:
- Co-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 0}
- Bidirectional pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 1, ‘co_pump_wavelength’: 976e-9, ‘co_pump_bandwidth’: 1e-9, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}
- Counter-pumping with full boundary value solver:
- boundary_conditions = {
‘co_pump_power’: 0, ‘counter_pump_power’: 1, ‘counter_pump_wavelength’: 976e-9, ‘counter_pump_bandwidth’: 1e-9}