Compact Telescope

[5]:
import numpy as np

from optiland import optic, physical_apertures
[ ]:
# Initialize an optic system
system = optic.Optic()

# define physical aperture of first mirror
aperture1 = physical_apertures.RadialAperture(r_min=1.7, r_max=4.2)

# define physical aperture of third mirror
aperture3 = physical_apertures.RadialAperture(r_min=0.65, r_max=1.7)

# add surfaces to the system
system.surfaces.add(index=0, thickness=np.inf)
system.surfaces.add(
    index=1,
    thickness=-5.5119,
    radius=-16.4794,
    material="mirror",
    conic=-0.9774823,
    aperture=aperture1,
)
system.surfaces.add(
    index=2,
    thickness=5.9056,
    radius=np.inf,
    material="mirror",
    is_stop=True,
)
system.surfaces.add(
    index=3,
    thickness=-5.9056,
    radius=-5.2556,
    material="mirror",
    conic=-0.4605796,
    aperture=aperture3,
)
system.surfaces.add(index=4, thickness=9.2807, radius=np.inf, material="mirror")
system.surfaces.add(index=5)

# add aperture
system.set_aperture(aperture_type="imageFNO", value=5.0)

# add field
system.fields.set_type(field_type="angle")
system.fields.add(y=0)
system.fields.add(y=0.5)

# add wavelength
system.wavelengths.add(value=0.587, is_primary=True)
[7]:
system.info()
+----+---------------+----------+-------------+------------+-----------+-----------------+
|    | Type          |   Radius |   Thickness | Material   |     Conic |   Semi-aperture |
|----+---------------+----------+-------------+------------+-----------+-----------------|
|  0 | Planar        | inf      |    inf      | Air        |  0        |        4.08208  |
|  1 | Standard      | -16.4794 |     -5.5119 | Mirror     | -0.977482 |        4.08208  |
|  2 | Stop - Planar | inf      |      5.9056 | Mirror     |  0        |        1.30329  |
|  3 | Standard      |  -5.2556 |     -5.9056 | Mirror     | -0.46058  |        1.67397  |
|  4 | Planar        | inf      |      9.2807 | Mirror     |  0        |        0.966242 |
|  5 | Planar        | inf      |    nan      | Air        |  0        |        0.344003 |
+----+---------------+----------+-------------+------------+-----------+-----------------+
[8]:
system.draw(num_rays=2)
../../_images/gallery_reflective_compact_telescope_4_0.png