Skip to content

Conversation

@TimoEichner
Copy link
Contributor

To properly compare the nonlinear split step propagation against an analytical example, I extended the tutorial by an example of soliton pulse propagation in optical fibers, which can be analytically described in a 1D case sech^2-shaped pulses.
An example of such propagation of a 1550nm pulse in a fused silica fiber was added to the tutorial. The pulse is initiated with the Soliton peak power at which the pulse shape and power should remain constant during propagation due to a balance of dispersion and nonlinearity, and this constant propagation was verified by letting the pulse propagate over long distances. The power and duration of the pulse indeed stay constant to within the permille level (I would attribute the minor difference to higher order dispersion which is included in the model, but is neglected by the analytic description).

To support the improvements of the tutorial, I also added a few helpers at other locations:

  • Sech2Profile is similar to the other longitudinal pulse profiles but describes a squared hyperbolic secant intensity profile that is required for soliton pulse propagation.
  • get_duration() was extended to be able to calculate not only the rms pulse duration, but also the duration at specific intensity levels such as the FWHM. This is set by the level parameter of the function. To calculate the width at the specified level, also a new function get_width_at_level() was added to laser_utils.py
  • AngularSpectrumPropagatorwas updated to handle 1d pulse profiles.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant