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])