-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LG doughnut mode #71
Comments
Dear linmanshuo, I have never worked with the higher order Gauss beams in LightPipes (or outside), maybe Fred has some more insight. For the moment I can suggest to you to study the source code of the functions to be sure. The Fout = GaussLaguerre(Fin, w0, p=n, l=m, A = 1.0 ) #first copy
Fout = Interpol( Fout, Fout.siz, Fout.N, 0, 0, 360 / (4 * m), 1) #rotate by 90°/m, e.g. 90° for m=1
Fout = MultPhase(Fout, PI/2 ) #shift phase by pi/2=90°
Fout = BeamMix(GaussLaguerre(Fin, w0, p=n, l=m, A=1 ), Fout) #add complex fields to create spiral phase and doughnut intensity The mathematical basis used for the I must admit it looks like there is a discrepancy in the prefactors ( |
I worked with laguer modes in my master's research. First, which only has the real part of the" iltheta" phase term, it should have the others as well. See https://en.wikipedia.org/wiki/Gaussian_beam in Laguerre-Gaussian modes. If you compare the phase of laguerre-gauss doughnut from the page I have some code that I used in my master's degree that I can try to implement in lights pipes. I used light pipes to do all my research simulations, but that part had problems. I have other suggestions for implementation for the generation of partially coherent beams (subject of my research). thanks |
I propose the following modification of the GaussLaguerre command (in core.py):
Now you can choose your phase factor: exp, cosine or sine with ecs (default = 1: cosine). All these are eigenmodes. |
I think it's a good way to solve it. |
Could you provide the mathematical expression for the LG doughnut mode in LightPipes? Thanks in advance!
The text was updated successfully, but these errors were encountered: