Linear Grating

This notebook demonstrates how to create a surface with a linear grating phase profile.

[1]:
from optiland.optic import Optic
import optiland.backend as be
from optiland.phase import LinearGratingPhaseProfile
[2]:
optic = Optic()
optic.surfaces.add(index=0, radius=be.inf, thickness=be.inf)

phase_profile = LinearGratingPhaseProfile(period=0.003, order=1, angle=be.pi/2)

optic.surfaces.add(
    index=1,
    phase_profile=phase_profile,
    is_stop=True,
    material="air",
    thickness=100.0,
)
optic.surfaces.add(index=2)

optic.wavelengths.add(0.55)
optic.fields.set_type("angle")
optic.fields.add(0.0)
optic.set_aperture("EPD", 25.0)

_ = optic.draw(wavelengths=[0.45, 0.55, 0.65])
../../_images/gallery_phase_linear_grating_2_0.png