Specifying Lens Sizes
The physical aperture of a lens can be specified when adding surfaces by providing the aperture argument. This specifies the physical diameter of a lens.
[1]:
import optiland.backend as be
from optiland.optic import Optic
[2]:
class Eyepiece(Optic):
"""Based on US05587837"""
def __init__(self):
super().__init__()
# add surfaces
self.surfaces.add(index=0, radius=be.inf, thickness=be.inf)
self.surfaces.add(index=1, radius=be.inf, thickness=63.5, is_stop=True)
self.surfaces.add(
index=2, radius=be.inf, thickness=7.62, material="N-LAK10", aperture=55
)
self.surfaces.add(index=3, radius=-62.7223, thickness=1.39954, aperture=55)
self.surfaces.add(
index=4, radius=112.642, thickness=10.16, material="N-LAK10", aperture=55
)
self.surfaces.add(index=5, radius=-86.0407, thickness=2.23774, aperture=55)
self.surfaces.add(
index=6, radius=-58.7746, thickness=3.429, material="SF11", aperture=55
)
self.surfaces.add(
index=7, radius=47.6019, thickness=12.7, material="N-LAK9", aperture=55
)
self.surfaces.add(index=8, radius=670.814, thickness=0.5588, aperture=55)
self.surfaces.add(
index=9, radius=44.6933, thickness=12.7, material="N-LAK10", aperture=55
)
self.surfaces.add(index=10, radius=-236.547, thickness=0.5588, aperture=55)
self.surfaces.add(index=11, radius=27.1511, thickness=7.62, material="SF11")
self.surfaces.add(index=12, radius=21.5676, thickness=12.7139)
self.surfaces.add(index=13)
# add aperture
self.set_aperture(aperture_type="EPD", value=8.0)
# add field
self.fields.set_type(field_type="angle")
self.fields.add(y=0)
self.fields.add(y=12)
self.fields.add(y=18)
# add wavelength
self.wavelengths.add(value=0.48613270)
self.wavelengths.add(value=0.58756180, is_primary=True)
self.wavelengths.add(value=0.65627255)
[3]:
lens = Eyepiece()
lens.draw()
[4]:
lens.info()
╒════╤═══════════════╤═══════════╤═══════════╤═════════════╤════════════╤═════════╤═════════════════╕
│ │ Type │ Comment │ Radius │ Thickness │ Material │ Conic │ Semi-aperture │
╞════╪═══════════════╪═══════════╪═══════════╪═════════════╪════════════╪═════════╪═════════════════╡
│ 0 │ Planar │ │ inf │ inf │ Air │ 0 │ 4 │
│ 1 │ Stop - Planar │ │ inf │ 63.5 │ Air │ 0 │ 4 │
│ 2 │ Planar │ │ inf │ 7.62 │ N-LAK10 │ 0 │ 27.5 │
│ 3 │ Standard │ │ -62.7223 │ 1.39954 │ Air │ 0 │ 27.5 │
│ 4 │ Standard │ │ 112.642 │ 10.16 │ N-LAK10 │ 0 │ 27.5 │
│ 5 │ Standard │ │ -86.0407 │ 2.23774 │ Air │ 0 │ 27.5 │
│ 6 │ Standard │ │ -58.7746 │ 3.429 │ SF11 │ 0 │ 27.5 │
│ 7 │ Standard │ │ 47.6019 │ 12.7 │ N-LAK9 │ 0 │ 27.5 │
│ 8 │ Standard │ │ 670.814 │ 0.5588 │ Air │ 0 │ 27.5 │
│ 9 │ Standard │ │ 44.6933 │ 12.7 │ N-LAK10 │ 0 │ 27.5 │
│ 10 │ Standard │ │ -236.547 │ 0.5588 │ Air │ 0 │ 27.5 │
│ 11 │ Standard │ │ 27.1511 │ 7.62 │ SF11 │ 0 │ 21.817 │
│ 12 │ Standard │ │ 21.5676 │ 12.7139 │ Air │ 0 │ 17.3474 │
│ 13 │ Planar │ │ inf │ nan │ Air │ 0 │ 12.0626 │
╘════╧═══════════════╧═══════════╧═══════════╧═════════════╧════════════╧═════════╧═════════════════╛