Chromatic thin lens#

class lasy.optical_elements.ChromaticLens(R1, R2, d, n_func)[source]#

Class for a chromatic thin lens, with a varying refractive index depending on the wavelength.

Parameters:
R1float

ROC of the first surface (>0 if convex)

R2float

ROC of the second surface (>0 if concave)

dfloat

Thickness of the lens used to calculate the total phase shift. Note that this optical element still assumes a thin optics.

n_funcfunction

Function that returns the refractive index given the wavelength in microns, taken from the website “https://refractiveindex.info”. e.g. for Fused Silica: nFS = lambda x: (1+0.6961663/(1-(0.0684043/x)**2)+0.4079426/(1-(0.1162414/x)**2)+0.8974794/(1-(9.896161/x)**2))**.5

Examples

>>> R1 = 114.5e-3  # 1st ROC
>>> t1 = 3.4e-3  # lens thickness
>>> R2 = -114.5e-3  # 2nd ROC
>>> nFS = (
...     lambda x: (
...         1
...         + 0.6961663 / (1 - (0.0684043 / x) ** 2)
...         + 0.4079426 / (1 - (0.1162414 / x) ** 2)
...         + 0.8974794 / (1 - (9.896161 / x) ** 2)
...     )
...     ** 0.5
... )
>>> laser.apply_optics(Lens2(R1=R1, R2=R2, d=t1, n_func=nFS))
amplitude_multiplier(x, y, omega)[source]#

Return the amplitude multiplier.

Parameters:
x, y, omegandarrays of floats

Define points on which to evaluate the multiplier. Must have the same shape.

Returns:
multiplierndarray of complex numbers

Contains the value of the multiplier at the specified points