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.