Skip to content

v2.10.0

Choose a tag to compare

@roytsmart roytsmart released this 22 Sep 12:22
bccc1e2

Transmissive materials with tabulated optical constants and measured transmissivity (#240)

Two new materials let a coated window be modeled from a measured
transmission curve while still refracting and absorbing like the bulk
material it is made of.

  • optika.materials.Dielectric takes its complex index of refraction from
    the tabulated optical constants of a chemical (Dielectric("MgF2")),
    rather than a Sellmeier fit like Glass. It refracts through Snell's law
    with the tabulated real index and attenuates transmitted rays with the
    imaginary part, so it works in the ultraviolet where the Sellmeier fits of
    common glasses are not valid.
  • optika.materials.MeasuredFilter is the transmissive counterpart of
    MeasuredMirror. A measured transmissivity is applied once at the
    interface, while refraction and absorption are delegated to a medium.
    A coated window is a pair of surfaces: a front surface made of
    MeasuredFilter(medium=Dielectric("MgF2")) and a back surface made of
    Vacuum. Since a coating can only be measured through its substrate,
    is_medium_measured defaults to True and ignores the medium's
    attenuation so it is not counted twice; set it to False for a
    measurement reduced to the interface alone.

MeasuredMirror is unchanged in behavior; its wavelength interpolation is
now shared with MeasuredFilter.