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:

  1. Object surface at infinity.

  2. Convex surface with radius of curvature of 20 mm, lens material is N-SF11, and thickness is 5 mm.

  3. Planar surface with thickness to image plane of 23.0 mm.

  4. 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)
../../_images/gallery_basic_lenses_singlet_13_0.png