-
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
Step by Step Propagation With a Short Focal Length Lens #64
Comments
In general, and especially with lenses, you have to be careful not to violate the Nyquist criterium. The maximum spatial frequency of your problem (= max(derivative of the phase with respect to x and y coordinate) ) should be smaller than the maximum spatial frequency given by the grid-spacing (= N/2/size) |
When you propagate from a source plane (here optical field after the thin lens) to a target plane at various distances, it is best practice to preserve the source and repeatedly propagate from source plane to new target plane. This avoids buildup of errors during the propagation. For example, when you want to propagate the optical field Field at the source plane to target planes that are in the range z_start to z_end away from the source plane, you could use:
|
FELman2011: FredvanGoor: |
Hey there again!
This time i'm trying to propagate a gaussian beam through a f = 15cm lens, but at small increments - ideally by 250micron.
In order to do it with Forvard (which by the way has less problems then Fresnel) without strange issues (seen in the image below) I need 10000 points in my grid and even more.
I'll give here in example:
This is how propagation looks with a N = 2000 grid as compared to N = 5000:
Also, I'm quite sure the strange phenomenon we see is due to grid spacing and not boundry effects.
The code for this is (1) below.
Code for (1):
from LightPipes import*
import numpy as np
import matplotlib.pyplot as plt
import LightPipes
import time
Code for (2):
from LightPipes import*
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
import LightPipes
import time
Thanks,
Ivan
The text was updated successfully, but these errors were encountered: