Three Mirror Anastigmat

The design process for this mirror system is demonstrated in Tutorial 7d - Three Mirror Anastigmat.

[1]:
import numpy as np

from optiland import optic
[ ]:
lens = optic.Optic(name="TMA")

# set aperture
lens.set_aperture(aperture_type="EPD", value=10)

# set fields
lens.fields.set_type(field_type="angle")
lens.fields.add(y=0)
lens.fields.add(y=+1.5)
lens.fields.add(y=-1.5)

# set wavelengths
lens.wavelengths.add(value=0.486)
lens.wavelengths.add(value=0.587, is_primary=True)
lens.wavelengths.add(value=0.656)

# add surfaces
lens.surfaces.add(index=0, radius=np.inf, thickness=np.inf)

# these are optimized coefficients
c1 = np.array(
    [
        [2.05790534e-05, -2.04095791e-05, 4.55045366e-05, 1.47183545e-05],
        [3.64010850e-08, -9.18266382e-06, 3.12457789e-07, -3.43010757e-08],
        [-1.18212287e-04, 2.97963986e-06, -1.31354947e-06, 7.34797747e-07],
        [-1.09979245e-06, 8.55358588e-07, -3.94583506e-07, -5.01115270e-08],
    ],
)
lens.surfaces.add(
    index=1,
    radius=-99.9773,
    thickness=-20.0003,
    conic=2.35645e-06,
    material="mirror",
    rx=-0.261801,
    is_stop=True,
    surface_type="polynomial",
    coefficients=c1,
)

c2 = np.array(
    [
        [-2.05802662e-05, 2.05376130e-05, -2.91883756e-05, 4.01274602e-05],
        [-2.94473576e-08, -1.63268440e-06, -5.35655902e-06, -1.50920309e-05],
        [4.87006021e-05, -1.70308923e-05, 2.12362562e-05, 1.51092539e-05],
        [-1.04657810e-05, -2.25376153e-05, -8.02314506e-06, 3.02373985e-06],
    ],
)
lens.surfaces.add(
    index=2,
    radius=-100.019,
    thickness=20.0003,
    conic=-2.21455e-07,
    material="mirror",
    rx=-0.174532,
    dy=-11.5,
    surface_type="polynomial",
    coefficients=c2,
)

c3 = np.array(
    [
        [2.05787912e-05, -2.05604065e-05, 2.54616632e-05, -3.62841214e-05],
        [6.24577550e-10, 1.09936457e-07, -2.69199040e-06, -1.05068667e-05],
        [-3.28005504e-05, 1.88336844e-05, -3.34058539e-05, 4.93261709e-06],
        [6.09659324e-07, -1.58589636e-06, -1.16163570e-05, -2.26243673e-05],
    ],
)
lens.surfaces.add(
    index=3,
    radius=-99.9774,
    thickness=-20.0003,
    conic=5.32063e-08,
    material="mirror",
    rx=-0.0174547,
    dy=-15,
    surface_type="polynomial",
    coefficients=c3,
)

lens.surfaces.add(index=4, dy=-19.3)
[3]:
lens.draw()
../../_images/gallery_reflective_three_mirror_anastigmat_3_0.png