Spectroscopy

class Spectroscopy(absorption_cross_sections, emission_cross_sections, upper_state_lifetime, interpolate)

The Spectroscopy class represents the absorption, stimulated emission and spontaneous emission properties of the fiber’s core material as an effective two-level system.

classmethod from_files(absorption_cross_section_file: str, emission_cross_section_file: str, upper_state_lifetime: float, interpolate='spline')

Create a Spectroscopy from absorption and emission cross section files.

Parameters
  • absorption_cross_section_file – File containing absorption cross section at different wavelengths. Must be readable with np.loadtxt using default parameters. Wavelength in nm, cross section in m^2.

  • emission_cross_section_file – File containing emission cross section at different wavelengths. Must be readable with np.loadtxt using default parameters. Wavelength in nm, cross section in m^2.

  • upper_state_lifetime – The life time of the excited state.

  • interpolate – Spectrum interpolation type, either “spline” or “linear”

Returns

Spectroscopy object

__init__(absorption_cross_sections, emission_cross_sections, upper_state_lifetime, interpolate)

Create a Spectroscopy from arrays for absorption and emission cross sections.

Parameters
  • absorption_cross_sections – Numpy array containing absorption cross sections at different wavelengths.

  • emission_cross_sections – Numpy array containing emission cross sections at different wavelengths.

  • upper_state_lifetime – The life time of the excited state.

  • interpolate – Spectrum interpolation type, either “spline” or “linear”

plot_gain_and_absorption_spectrum()

Convenience plotting function to draw the imported cross section data and the calculated interpolates to check that they match.