Singlet Lens
[1]:
import numpy as np
from optiland import optic
Initialization empty ‘Optic’ object, which is the core class in Optiland representing an optical system.
[2]:
lens = optic.Optic()
Add surfaces, one at a time. We define the surfaces as follows:
Object surface at infinity.
Convex surface with radius of curvature of 20 mm, lens material is N-SF11, and thickness is 5 mm.
Planar surface with thickness to image plane of 23.0 mm.
Image surface, which is planar (default).
We assign the first lens surface at index 1 as the aperture stop surface.
[3]:
# add surfaces
lens.surfaces.add(index=0, thickness=np.inf)
lens.surfaces.add(index=1, thickness=7, radius=20.0, is_stop=True, material="N-SF11")
lens.surfaces.add(index=2, thickness=23.0)
lens.surfaces.add(index=3)
Add the aperture. We choose entrance pupil diameter (EPD) as the aperture type and choose a value of 20 mm.
[4]:
# add aperture
lens.set_aperture(aperture_type="EPD", value=20)
Set the field type to angle and define a single field at 0 degrees, i.e., on-axis.
[5]:
# add field
lens.fields.set_type(field_type="angle")
lens.fields.add(y=0)
Add a single wavelength at 0.55 microns. Set this as the primary wavelength.
[6]:
# add wavelength
lens.wavelengths.add(value=0.55, is_primary=True)
View the system in 2D:
[7]:
lens.draw(num_rays=10)