gaussian_size = 1.00 / sqrt( 2) * mm # 1/e Intensity width of beam; (note, it's not the 1/e^2) step_size = 5. * mm # LPForvard step size f = 20 * cm # focal length of SLM lens l = 8 # azimuthal order of LG beam p = 1 omega0_p = .5 ######## END Param ############## ####### Create LG order dx = (2 / (N - 1.)) x = y = 3 * r_[-1:(1 + dx):dx] [xx, yy] = meshgrid(x, y) lg = lg.LG_xy( l=l, p=0, xx=xx, yy=yy, omega0=2/sqrt(l) ) \ + lg.LG_xy( l=0, p=p, xx=xx, yy=yy, omega0=.85*2/sqrt(l) ) # normalize lg; we only want the phase information lg /= abs(lg) #imshow (angle(lg)); show() ####### END Create LG order propagate = Propagate(vmin=0., vmax=100.) F = Field(N, side_length, wavelength) F.gaussian_aperture(gaussian_size) #F.lens(f) F.value[:] *= lg #propagate(F, z=2*f, dz=.5*cm)
wavelength = 780 * nm # Wavelength gaussian_size = 1.00 / sqrt( 2) * mm # 1/e Intensity width of beam; (note, it's not the 1/e^2) axicon_angle = 175 / 180. * pi # included angle of SLM axicon_n1 = 1.5 # index of refraction of the axicon step_size = 5. * mm # LPForvard step size l = 2 # azimuthal order of LG beam ######## END Param ############## ####### Create LG order dx = (2 / (N - 1.)) x = y = 3 * r_[-1:(1 + dx):dx] [xx, yy] = meshgrid(x, y) lg = lg.LG_xy(l=l, p=0, xx=xx, yy=yy, omega0=2 / sqrt(l)) # normalize lg; we only want the phase information lg /= abs(lg) #imshow (x,y,arg(lg)) ####### END Create LG order propagate = Propagate() F = Field(N, side_length, wavelength) F.gaussian_aperture(gaussian_size) F.axicon(axicon_angle, axicon_n1) #F4 = propagate(13.*cm, step_size, F3,0,0,4); F.forvard(7.5 * cm) F.axicon(axicon_angle, axicon_n1) print 'moving towards slm'
dx = 2 * d * sin(a) # displacement of secondary beam parallel to glass. dx0 = dx * cos(a0) # displacement of secondary beam transverse to output beam. l = 8 # azimuthal order of LG beam P = 250 * mW # beam power ######## END Param ############## ####### Create LG order dx = (2 / (N - 1.)) x = y = (side_length / 2) * r_[-1:(1 + dx):dx] [xx, yy] = meshgrid(x, y) lg = lg.LG_xy(l=l, p=0, xx=xx * 6 / side_length, yy=yy * 6 / side_length, omega0=2 / sqrt(l)) # normalize lg; we only want the phase information lg /= abs(lg) #imshow (x,y,angle(lg)) ####### END Create LG order propagate = Propagate() F = Field(N, side_length, wavelength) F.gaussian_aperture(gaussian_size) Pf = P / sum(F.value * F.value.conj()) # power per grid cell [ W ] Ef = sqrt(Pf / grid_dx**2) # sqrt(I) [ sqrt(W/m^2) ] Ef /= sqrt(mW / cm**2) # put Ef in units [ sqrt(mW/cm^2) ]