Supercontinuum generation explained!

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 พ.ย. 2024

ความคิดเห็น • 21

  • @LesLaboratory
    @LesLaboratory 4 หลายเดือนก่อน +3

    Fantastic, the clearest and most easy to understand explanation of the simulation plots ever! Looking forward to playing with the code as well!

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน

      Thank you! Please let me know if you need any help with the code.

    • @lasertv3598
      @lasertv3598 4 หลายเดือนก่อน +2

      Your video was the first thing I thought of when I saw this video. 😀

    • @LesLaboratory
      @LesLaboratory 4 หลายเดือนก่อน

      @@yourfavouriteta Code is great, had to tweak the directory path line to get it to run on Linux, but that is all, it works just great! When I get time, I will throw some other parameters at it. It looks like a really nice intuitive way to poke at things without hours of setup!

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน +1

      @@LesLaboratory Awesome, I am happy to hear that you got it to work! My intention was to make it accessible and flexible, so the user can quickly begin to play around with the parameters. I recommend trying to re-create basic effects like self-phase modulation first to familiarize yourself, but I am sure you will figure it out. Otherwise, let me know if you need help!

  • @DiracEden
    @DiracEden 4 หลายเดือนก่อน +1

    Hey man, brilliant job with the videos. I am a third year PhD student in experimental Quantum Optics, and I realised a lot of gaps in my understanding for things like SPDC and modes come from the nonlinear optics/phase matching side and not really the quantum stuff, so your content has been super useful to me!. Best wishes.

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน +1

      I am happy that you find them useful! Many of the concepts I explain only really clicked for me in the process of producing these tutorials, so I highly recommend making a few about your own field of research!

  • @Ikechi0123
    @Ikechi0123 4 หลายเดือนก่อน +1

    This is a very great tutorial. Thank you.
    I would think that to do the same for photonic integrated circuit waveguides, one would have to change the length, nonlinear coefficient, and dispersion. Are there other major differences that I may be omitting?

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน

      Thank you! My code also works for PIC. At the moment, only single mode behavior is supported, so be aware at which frequency your waveguide become multimode; results may be invalid beyond this limit!

  • @asim4050
    @asim4050 3 หลายเดือนก่อน

    Very nice content. keep posting man! Best wishes

    • @yourfavouriteta
      @yourfavouriteta  3 หลายเดือนก่อน

      @@asim4050 Thank you, I definitely will!

  • @AmJo11015
    @AmJo11015 4 หลายเดือนก่อน +1

    Great explanation. Is it necessary to have a fs time step to capture the Raman effect?

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน +1

      Thank you! Using an approximation, It is possible to capture the impact of the Raman effect without having a fs time step. For a pulse that's much longer than the Raman response time, the magnitude of the effect in the NLSE basically depends only on the derivative of the pulse power w.r.t. time. Introducing the term T_R*A*d|A|^2/dT (where T_R is the average duration of the Raman response function) in the NLSE can thus capture the impact for long pulses.
      You might want to do this if, for example, you have a very high power pulse with a duration of ~100ps. The high power means that Raman could be significant, but the 100ps duration means that using a 1fs time step (i.e. using 100.000 points just to cover the pulse itself) could be too computationally expensive. The derivative term allows you to use a much larger time step and still get the expected red-shift at the peak of the pulse. I might actually make a quick video about this, since it's an interesting example of physical insight leading to a more efficient way of doing things.
      My code does support using the derivative approximation. Just specify "raman_model = 'approximate' " when defining the fiber.

    • @AmJo11015
      @AmJo11015 4 หลายเดือนก่อน

      @@yourfavouriteta Thank you. I will try this out. Waiting for the video!

  • @MujeebRahman-we7zj
    @MujeebRahman-we7zj 4 หลายเดือนก่อน +1

    brilliant work, Thank you. much appreciated :)

  • @lasertv3598
    @lasertv3598 4 หลายเดือนก่อน +2

    What differences would there be if the frequency was doubled?

    • @yourfavouriteta
      @yourfavouriteta  4 หลายเดือนก่อน +1

      In reality, two things would change. First, The values of the dispersion coefficients, β2, β3, ..., would change because they are the 2nd, 3rd, ... derivatives of β(ω) = n(ω)ω/c w.r.t. ω evaluated at the carrier frequency of the pulse. This will change how the pulse evolves in the time domain and whether phase matching is satisfied. If the carrier frequency of the pulse is initially close to a frequency, where β2=0, the new β2 value at twice the frequency is very unlikely to also be close to 0, so most likely the generated spectrum will be narrower.
      Secondly, the impact of self-steepening is reduced. In the GNLSE, the term describing this effect is significant when the time derivative of A|A|^2 is large compared to the carrier frequency. Thus, doubling the frequency cuts this term in half. If we assume that the dispersion coeffs are miraculously unchanged, the effect of increasing the carrier frequency by an amount so large that self steepening becomes negligible can be seen in the video when I switch self steepening on/off.
      Lastly, if the carrier frequency is doubled in my code, only self steepening is affected because the dispersion coeffs are entered into a list independently of the carrier frequency. In reality, the two are of course linked, but doing it this way gives the user more flexibility in investigating the impact of dispersion.

  • @YawnGod
    @YawnGod 4 หลายเดือนก่อน +1

    Interesting.