pyNLO / PyNLO

Python package for nonlinear optics
https://pynlo.readthedocs.io/en/latest/
GNU General Public License v3.0
96 stars 52 forks source link

Example for Waveguide Propagation #63

Open Pallavi-Punj opened 1 year ago

Pallavi-Punj commented 1 year ago

Hi there!

Has anyone tried to replace the fiber for a waveguide and see the supercontinuum spectrum?

@DanHickstein if possible, can you add an example for the same?

Thanks!

DanHickstein commented 1 year ago

Yes, you can do waveguide propagation. The NLSE deals with single-mode propagation, so there isn't any difference between a waveguide and a fiber as far as the NLSE is concerned. The approximation is that the light stays in a single mode. This approximation is excellent for a single-mode fiber, but somewhat less true for a nanophotonic waveguide.

@ycasg created this repo with a email account that he no longer has access to, so we can't modify PyNLO any longer. So, we can't make an example on the main repo.

I created a greatly simplified version of the NLSE code here: https://github.com/laserfun/laserfun, and will include an example of how to load the dispersion for a custom fiber/waveguide from a file: https://github.com/laserfun/laserfun/issues/56 If you're just using the NLSE part of PyNLO, I think that laserfun is a worthy alternative (in my heavily biased opinion) that offers simplification without loss of functionality.

Also note: @cdfredrick did a large-scale re-write of the PyNLO code, and modified it to include Chi-2 propagation as well. I think that his development efforts are still somewhat active. In the long run, we should probably figure out how to combine our efforts. https://github.com/cdfredrick/PyNLO

Pallavi-Punj commented 1 year ago

Ah thanks! I'm trying to recreate the results from this paper using NLO. Need to consider the dimensions of the waveguide as well, so I was hoping to extend the PyNLO code to do that too. I'll try laserfun and the re-write of PyNLO too!

DanHickstein commented 1 year ago

I included an example of how to load waveguide dispersion into laserfun using some dispersion for 750-nm thickness SiN waveguides, so it should be relevant to your goal of reproducing that paper. Check it out here: https://github.com/laserfun/laserfun/issues/56