Infrared F/4

[1]:
import numpy as np

from optiland import materials, optic
[2]:
class InfraredTripletF4(optic.Optic):
    """4-in. IR Triplet, f/4

    Milton Laikin, Lens Design, 4th ed., CRC Press, 2007, p. 57
    """

    def __init__(self):
        super().__init__()

        # refractive index at 4.2 µm
        germanium = materials.IdealMaterial(n=4.002)
        silicon = materials.IdealMaterial(n=3.4222)

        self.surfaces.add(index=0, radius=np.inf, thickness=np.inf)
        self.surfaces.add(index=1, radius=2.0721, thickness=0.1340, material=silicon)
        self.surfaces.add(index=2, radius=3.5488, thickness=0.2392)
        self.surfaces.add(index=3, thickness=0.6105, is_stop=True)
        self.surfaces.add(index=4, radius=13.7583, thickness=0.1, material=germanium)
        self.surfaces.add(index=5, radius=1.7491, thickness=0.8768)
        self.surfaces.add(index=6, thickness=0.1462, material=silicon)
        self.surfaces.add(index=7, radius=-3.5850, thickness=2.8386)
        self.surfaces.add(index=8)

        self.set_aperture(aperture_type="imageFNO", value=4)

        self.fields.set_type(field_type="angle")
        self.fields.add(y=0)
        self.fields.add(y=2.45)
        self.fields.add(y=3.5)

        self.wavelengths.add(value=4.2, is_primary=True)
[3]:
lens = InfraredTripletF4()
lens.draw()
../../_images/gallery_specialized_lenses_infrared_3_0.png